t
的5-th
我需要得到Q(三次)贝塞尔曲线的点[[Q B(t),其中从点[[Q到另一个给定点的线 P 垂直相交与贝塞尔曲线。
我知道:我到目前为止所做的(您可以跳过此操作)
我试图用我的数学基础知识解决这个问题,但我无法完成。这就是我现在所拥有的(请对符号不要太严格,我对此不太好):以下公式将表示为
y(x)
y(x)
and x(y)计算。 P点是控制点,Q是从Q到P的线g(x)在贝塞尔曲线< [B(t)=(x,y)T。 g(x)行的表达式可以通过检索其中B(x)是笛卡尔坐标中的贝塞尔曲线,B'(x)
导数(在笛卡尔坐标中),k是与y轴的交点。要获得g(x)的斜率,必须求解
要计算B(x),必须对t求解
B [t],然后将其重新插入B(t)。因此,在贝塞尔曲线上的每个点都存在以下关系:
也适用于导数B
'(t)。B(t)
的导数为(根据wikipedia)将其求解为t(with wolfram alpha)得到其中
a
0
=(P 1
-P 0)[[x,a 1] > =(P 2]-P 1)[[x和a 2 =(P 3] >-P 2)x。将* t i * s重新插入B(t)会导致(wolfram alpha for t1,wolfram alpha for t2,wolfram alpha for t3)现在,下一件事是使用y = B'(x)和第二个等式并消除x,但我不知道该怎么做,我什至不知道这样做是否可行。 问题我需要得到三次(2d)贝塞尔曲线B(t)的点Q,从点Q到另一个给定点P的线与贝塞尔曲线垂直相交。我知道:P,B(t)我看起来...您已经知道贝塞尔曲线的导数-它描述了曲线的切线。该切线应垂直于 5-thQP
向量。因此,此时您需要写出向量PQ
和切线向量T
的两个分量PQx = 3*(1-t)^3 * P0.x + ... - P.x
PQy = 3*(1-t)^3 * P0.y + ... - P.y
Tx = 3*(1-t)^2 * (P1.x - P0.x).... and so on
Ty = ....
并对向量T和QP的点积求方程(对于垂直向量,点积为零:] PQx * Tx + PQy * Ty = 0
现在打开方括号,得到未知度方程。t
的这种多项式方程没有封闭形式的解决方案,因此您需要某种数值root-finding algorithm(使用那些用于多项式根的数值)
t
的5-th