具有固定长度的立方贝塞尔曲线。如何将控制点限制在一定范围内?

时间:2013-03-07 11:50:49

标签: graphics graphics2d

我知道。这个问题已经回答了,但我不是数学家,我真的不明白答案。 我需要一个Cubic bezier并需要修复2个控制点,以便曲线的总长度永远不会改变。所以我需要将控制点限制在我想的某个范围内。如何以始终固定起点和终点变量的方式对控制点进行范围调整?

1 个答案:

答案 0 :(得分:0)

Cubic Bezier样条曲线由四个点定义:P0P1P2P3。如果P0是起点,P1P2是控制点,P3是曲线的终点。 通常,线性样条的长度P0``P1``P2``P3是贝塞尔曲线长度的上限,P0``P3的长度是下限。换句话说,长度P0``P1``P2``P3相等的所有贝塞尔曲线也具有相同的贝塞尔曲线长度。

考虑具有固定起点P0和终点P2的二次贝塞尔样条曲线,对于固定长度贝塞尔曲线,所有可能P1的几何位置将是一个椭圆,焦点位于{ {1}}和P0

考虑具有固定起点P2和终点P0的三次贝塞尔样条曲线,P2P1对于固定长度贝塞尔曲线的几何位置不再是曲线,但是一个子空间。但是应用其他限制(例如,修复P2)会将其简化为平面曲线。这将是一个椭圆,其焦点位于P2P0