5 个版本
0.1.4 | 2021年2月12日 |
---|---|
0.1.3 | 2021年2月11日 |
0.1.2 | 2018年10月29日 |
0.1.1 | 2018年1月22日 |
0.1.0 | 2018年1月21日 |
#1349 in 算法
每月 29 次下载
用于 sphere_pack_from_json
49KB
764 行
球牛
基于 Valera 等人提出的推进前沿算法,参见 《计算颗粒力学 2》161 (2015)。
一个农场牛奶产量低,因此农场主写信给当地大学,请求学术界帮助。组成了一支跨学科教授团队,由一位理论物理学家领导,进行了两周的现场调查。学者们随后返回大学,笔记本里装满了数据,报告的撰写任务留给了团队负责人。不久后物理学家回到农场,对农场主说:“我有解决方案,但只在真空中的球形牛的情况下适用”。
使用方法
完整文档可以在 docs.rs 找到。
一个简单的例子,将半径为(0.1..0.2)的球体装箱到半径为2的容器球中。
use spherical_cow::shapes::Sphere;
use rand::distributions::Uniform;
use nalgebra::Point3;
fn main() {
let boundary = Sphere::new(Point3::origin(), 2.0).unwrap();
let mut sizes = Uniform::new(0.1, 0.2);
let spheres = spherical_cow::pack_spheres(boundary, &mut sizes).unwrap();
println!("Number of spheres: {}", spheres.len());
}
更详细的例子可以在 examples 目录中找到。
输出
正如其名,确实可以构建一个球形牛
您可以从 show_in_cow 运行此示例。
示例用例
这篇论文给出了两个真实世界的用例
- 将球体填充到颅骨模型中,以研究由于冲击和穿透物体导致的骨折。
- 将球体填充到切割工具中,以确定当工具在负载下时的失效/断裂点。
编写这个库的初衷是为了优化可充气空间栖息地的布局,这些栖息地可能有一天将在月球和火星上建造。
许可协议
根据您的选择,在Apache License,版本2.0或MIT许可证下许可。除非根据这些条款,否则这些文件不得复制、修改或分发。
深度链接依赖项
由wayland-protocols库(在MIT许可证下发布)用于kiss3d和obj,这两个都只存在于本项目的示例目录中(因此不是库的一部分)。其中内容:文件misc/server-decoration.xml
,版权(C)2015 Martin Gräßlin,在GNU Lesser General Public Library,版本2.1下许可。您可以在https://gnu.ac.cn/licenses/lgpl-2.1.en.html找到此许可证的副本。
依赖项
~4.5MB
~94K SLoC