39个版本
0.11.0 | 2024年2月14日 |
---|---|
0.10.4 | 2023年10月20日 |
0.9.5 | 2023年5月17日 |
0.9.2 | 2023年3月29日 |
0.1.0 | 2018年12月27日 |
#8 in 数学
224,420 每月下载量
用于 511 个crates (53直接)
465KB
10K SLoC
kurbo,一个Rust 2D曲线库
kurbo库包含曲线和向量路径的数据结构和算法。它可能最适合创意工具,但足够通用,可能对其他应用也很有用。
"kurbo"这个名字在埃斯帕诺拉语中意为“曲线”。
库注重在高精度条件下的准确性和良好的性能。因此,它可能在工程和科学环境中也很有用,而不仅仅是视觉艺术,在视觉艺术中通常粗略的近似就足够了。许多近似函数都带有精度参数,并在实际可行的情况下使用解析解。例如,面积计算就是使用格林定理进行的。
该库仍处于相对早期的发展阶段。有一些特性是为通用曲线(不仅仅是贝塞尔曲线)设计的,但这些可能会被重新组织。
最低支持的Rust版本
从版本0.9开始,kurbo使用泛型关联类型,因此需要rustc版本1.65或更高版本。
类似的crates
在这里,我们提到了一些其他曲线库,并简要讨论了这里所做的不同决策。
-
lyon_geom 有许多非常好的向量算法。它最专注于渲染。
-
flo_curves 具有良好的贝塞尔原语,似乎针对动画进行了优化。它在坐标类型上具有泛型,而我们在所有方面都使用
f64
。 -
vek 提供了2D和3D贝塞尔曲线等功能,并且针对游戏引擎进行了优化。
一些代码已经从 lyon_geom 复制并进行了适配,因此 lyon_geom 的作者 Nicolas Silva 在 AUTHORS 文件中得到了认可。
更多信息
要了解更多关于贝塞尔曲线的信息,Pomax 的《贝塞尔曲线入门》不可或缺:贝塞尔曲线入门。
贡献
依赖
~110–540KB
~12K SLoC