第1部分
二次贝塞尔曲线的公式是:
B (t) = a (1-t) 2 + 2 b t(1-t) + c t 2
= a (1-2t+t 2 ) + 2 b t - 2 b t 2 + c t 2
= ( a -2 b + c )t 2 +2( b - a )t + a
其中粗体表示一个向量。给定B x (t),我们有:
x = ( a x -2 b x + c x )t 2 +2( b x - a x )t + a x
其中v x是 v 的 x分量。
根据二次公式,
-2( b x - a x ) ± 2√(( b x - a x ) 2 - a x ( a x -2 b x + c x ))
t = -----------------------------------------
(2 a x ( a x -2 b x + c x ))
a x - b x ± √( b x 2 - a x c x )
= ----------
a x ( a x -2 b x + c x )
假设存在一个解,将 t 代入原始方程,以获得给定 x 处的B (t) 的其他分量。
第2部分
您可以简单地将参数参数的域限制为 [0,1] 的适当子区间,而不是生成与第一条的一部分重合的第二条贝塞尔曲线(我现在不想处理符号)。也就是说,使用第 1 部分来找到两个不同 x 值的 t 值;将这些 t 值称为 i 和 j。为 t ∈ [i,j]画B (t)。等效地,为 t ∈ [0,1] 绘制B (t(ji)+i)。