已知中点的三次Bézier的计算

5 math bezier

我知道:

  • 控制点a和d(2D三次贝塞尔曲线的起点和终点)

  • 斜率a-> b,c-> d和b-> c(b,c其他控制点)

  • 贝塞尔曲线的中点是.

现在,根据这些信息,控制点b和c的位置公式是什么?

小智 1

假设你的斜率已经标准化,那么对于一些 u,v 你有

u * slope(a->b)+a = b, v * slope(c->d)+d = c
Run Code Online (Sandbox Code Playgroud)

q:=(a+b+c+d)/8你知道 a、d 和(曲线的中点)的值,所以c = 8(q-a-d-b)

将上面的方程代入你得到的最后一个方程

v * slope(c->d)+d = 8(q-a-d-a-u * slope(a->b))
Run Code Online (Sandbox Code Playgroud)

这是两个变量 (u,v) 中的 2 个方程(二维向量方程)

你不需要第三个斜坡。