mathematica中贝塞尔曲线的疑惑
mathematica中贝塞尔曲线的疑惑
起因
因工作中需要用贝塞尔曲线来作为角色登场的路线,所以游戏设计中有多条曲线;对于控制点数>4的贝塞尔曲线发现与游戏实际中显示的不同
对于path3的控制点为{{50,1400},{600,813},{-400,628},{110,296},{440,136},{192,-105}}
* 游戏中的路径

游戏中的路径
* mathematica出现不同
第一次直接使用贝塞尔曲线命令如下
Graphics[{BezierCurve[pts3], Green, Line[zon], Black, Point[zon]},
Axes -> True]
得到如下图形

对于此mathematica给予如下解释

并给出了将两点重合进行平滑的方式,但是认为不精确故而弃用

相邻点共点近似法
奇怪的b样条
在mathematica中存在一个b样条曲线的函数,该函数定义为
非均匀有理 B 样条曲线.貌似与贝塞尔曲线有联系,但是有什么联系目前不详
用b样条曲线处理path3得到一条光滑曲线
代码
Graphics[{BSplineCurve[pts3, SplineKnots -> Automatic], Green,
Line[zon]}]

b样条的光滑曲线
但是依然存在较大差距尤其是zon区域外mathematica两次绘图都存在有曲线部分
目前的疑惑有三点
- b样条和贝塞尔的区别在哪
- mathematica中对于多阶贝塞尔曲线是否是单纯的拼接而成
- mathematica给出了一个多阶贝塞尔曲线的生成例子之间存在什么关系
轻诺必寡信,多易必多难

浙公网安备 33010602011771号