Nin*_*que 8 html5 bezier canvas
我正在开发一个HTML5画布游戏.
我想在两点之间绘制一个S形的三次贝塞尔曲线,但我正在寻找一种计算控制点坐标的方法,这样曲线本身总是长度相同,无论这些点有多近,直到它到达曲线变成直线的点.
这是可以数值求解的。我假设你有一个带有 4 个控制点的三次贝塞尔曲线。在每个步骤中,您都有第一个 (P0) 和最后一个 (P3) 点,并且您想要计算 P1 和 P2 以使总长度恒定。
添加此约束会删除一个自由度,因此我们还剩下 1 个自由度(从 4 开始,确定终点 (-2),恒定长度是另一个 -1)。所以你需要对此做出决定。
贝塞尔曲线是定义在 0 和 1 之间的多项式,您需要对元素总和 (2d?) 的平方根进行积分。对于三次贝塞尔曲线,这意味着 6 次多项式的 sqrt,wolfram 不知道如何求解。但是,如果您知道所有其他控制点(或已知对某些其他约束的依赖性),您可以保存该约束的预先计算值的表。