2.3.c 贝塞尔曲线代码解析

category
type
status
slug
date
summary
tags
password
icon
That’s my spot! — 生活大爆炸 谢耳朵
🏰代码及环境配置:请参考 环境配置和代码运行!

本节提供了贝塞尔曲线的代码测试

2.3.c.1 3次样条曲线代码实现

bezier函数, 我们实现了上一节贝塞尔曲线的一般性定义公式. bernstein_poly 函数就是公式中的乘积. 公式我们调用了scipy.special.comb 接口.
输入一组控制点control_pointst. 该函数返回t 处的贝塞尔曲线点.
calc_bezier_path中, 从1到1了采样t, 循环调用bezier函数生成了完整的贝塞尔曲线

2.3.c.2 3次样条曲线代码测试

我们提供两组贝塞尔曲线测试:main(). 效果如下:
notion image
的贝塞尔曲线点上, 我们将贝塞尔曲线的1阶和2阶信息通过切向(Tangent),法向(Normal)和曲率圆画了出来. 这里利用了一个特性: Bezier曲线的导数也是一个Bezier曲线,并且控制点就是原始曲线控制点的导数。
main2() 展示了始末点相同, 中间控制点不同生成的贝塞尔曲线的不同:
notion image
上一篇
动手学控制理论
下一篇
端到端-理论与实战视频课程
Loading...