1 个稳定版本
1.0.0 | 2024 年 2 月 7 日 |
---|
#179 in 可视化
19KB
265 行
cubic-bezier
此包提供用于处理三次贝塞尔曲线的功能,例如创建、操作和计算三次贝塞尔曲线上的点。
功能
- 使用控制手柄创建三次贝塞尔曲线。
- 通过添加、删除或修改控制手柄来操作曲线。
- 在不修改曲线的情况下添加控制手柄。
- 以自定义的详细程度计算曲线上的点。
- 缓存计算点。
示例
use cubic_bezier::{point, Bezier, Handle};
let mut bezier = Bezier::new(10, 2);
bezier.push(Handle::mirrored(point!(-1.0, 1.0), point!(0.0, 0.0)));
bezier.push(Handle::mirrored(point!(1.0, 1.0), point!(2.0, 0.0)));
let points = bezier.calculate();
用法
使用 new
方法创建新的贝塞尔曲线。您指定详细程度和将要添加的手柄数量的估计值。
let mut bezier = Bezier::new(10, 2);
创建曲线后,您可以使用 push
方法添加控制手柄。
bezier.push(Handle::mirrored(point!(-1.0, 1.0), point!(0.0, 0.0)));
bezier.push(Handle::mirrored(point!(1.0, 1.0), point!(2.0, 0.0)));
要计算曲线上的点,请调用 calculate
方法。
let points = bezier.calculate();
这将返回表示曲线的点的向量。
插入手柄
您可以使用 knot_insert
方法插入手柄,而不会改变曲线的外观。
bezier.knot_insert(0.5);
调试
您可以使用 all_part_point
方法访问所有控制点以进行调试。
let control_points = bezier.all_part_point();
许可证
此库采用 MIT 许可证。有关详细信息,请参阅 LICENSE 文件。
依赖项
~490KB