一、设一条二次Bezier曲线的控制顶点为Po,P1,P2,另一条二次Bezier曲线的控制顶点为Qo,Q1,QzP2-Qo,写出两条曲线可以精确合并(表示)为一条二次Bezier曲线的条件。解:如下图所示,由于可以精确合并,说明两曲线是由一条曲线在参数0<入<1处分割而来,如下图所示,假设原曲线的控制顶点为Po,X,Qz.由deCastejau算法,有:1.首先要求P1,P2(Qo),Qi三点共线XP1Q1-P2.Q0PoQ2Q, -Q1-9-Q0-X-P2.4O-XP,-PP-P于是有:-%-%(--P)=P+(α -20)g-9P-PQ1-Qo二、设一条三次Bezier曲线的控制顶点为Po,P1,P2,P3,对曲线上一点及一个给1(2)精确通过点T。定的目标点T,给出一种调整Bezier曲线形状的方法,使得精确通解:假设我们改变其中的一个控制顶点,比如将P1调整到P1+入,使得使得过点T,改变后的曲线记为P()则有:
一、设一条二次 Bezier 曲线的控制顶点为 P0,P1 ,P2,另一条二次 Bezier 曲线的控制顶点 为 Q0,Q1 ,Q2, P2 = Q0, 写出两条曲线可以精确合并(表示)为一条二次 Bezier 曲线的条件。 解:如下图所示,由于可以精确合并,说明两曲线是由一条曲线在参数 0<<1 处分割而来, 如下图所示,假设原曲线的控制顶点为 P0 , X, Q2. 由 de Castejau 算法,有: 1. 首先要求 P1, P2(Q0), Q1三点共线 X P1 Q1 P2 = Q0 P0 Q2 2. 1 0 1 2 1 1 0 1 2 1 P P X P P P Q Q Q X Q Q , 于是有: ) ( ) 1 ( 1 0 2 1 1 0 2 1 1 0 2 1 1 Q Q P P P P P P P Q Q Q Q Q 二、设一条三次 Bezier 曲线的控制顶点为 P0,P1 ,P2,P3, 对曲线上一点 2 1 P ,及一个给 定的目标点 T,给出一种调整 Bezier 曲线形状的方法,使得 2 1 P 精确通过点 T。 解:假设我们改变其中的一个控制顶点,比如将 P1调整到 P1 + ,使得使得 2 1 P 精确通 过点 T,改变后的曲线记为 Pt ˆ 则有:
3P(t)=PB.,(0)+1. B..1316i=0即T = P(-)+α·B所以,只需将P调整到P+T-P(即可12三、给定型值点(0,0),(0,100),(100,0),(100,100),如对应的参数为0,,1,反求插值这四个3°3型值点的三次Bezier曲线的控制点。1.2解:假设控制顶点为bo,b,b,b,,由Bezier曲线的公式,将参数为0,,1代入曲线方程,3'3即有:b, =(0,0),b, =(100,100),8+2b.+41.bo+(0,100) =b,+b2799274128bo+?b+=b2+(100,0)=2727993501000650700),b,解方程组可得b,=0.3333一处的值,四、计算以(30,0),(60,10),(80,30),(90,60),(90,90)为控制顶点的四次Bezier曲线在t=2并画出deCasteljau三角形。解:值为(75,34.375)(30,0)(60,10)>(45,5)(80,30)>(70,20)(57.5,12.5)L(90,60)>(85,45)>(77.5,32.5)>(67.5.22.5)(90,90)(90,75)→(82.5,46.25)> (75,34.375)→(87.5.60)1一处的值为五、设一条三次Bezier曲线的前三个控制顶点为(30,0),(60,20)(80,20),曲线在t=2
) 2 1 ( ) ( ) ( ˆ 1,3 2 1 ,3 3 0 2 P t 1 P B t B t i i i t 即 ) 2 1 ) ( 2 1 ( T P B1,3 所以,只需将 P1调整到 ) 2 1 ) / ( 2 1 ( P1 T P B1,3 ,即可。 三、给定型值点(0,0),(0,100),(100,0),(100,100),如对应的参数为 ,1 3 2 , 3 1 0, ,反求插值这四个 型值点的三次 Bezier 曲线的控制点。 解:假设控制顶点为 0 1 2 3 b ,b ,b ,b ,由 Bezier 曲线的公式,将参数为 ,1 3 2 , 3 1 0, 代入曲线方程, 即有: (0,0) b0 , (100,100) b3 , 0 1 2 3 0 1 2 3 27 8 9 4 9 2 27 1 (100,0) 27 1 9 2 9 4 27 8 (0,100) b b b b b b b b 解方程组可得 ) 3 700 , 3 650 ), ( 3 1000 , 3 350 ( b1 b2 。 四、计算以(30,0),(60,10),(80,30),(90,60),(90,90)为控制顶点的四次 Bezier 曲线在 2 1 t 处的值, 并画出 de Casteljau 三角形。 解:值为(75, 34.375) (30,0) (60,10) (80,30) (90,60) (90,90) (45,5) (70,20) (85,45) (90,75) (57.5,12.5) (77.5,32.5) (87.5,60) (67.5,22.5) (82.5,46.25) (75,34.375) 五、设一条三次 Bezier 曲线的前三个控制顶点为(30,0),(60,20),(80,20),曲线在 2 1 t 处的值为
(70,15),试求最后一个控制顶点。解:(1)由deCasteljau算法Pr=(1-t)Pr-l+tPit=1/2,可求得:P/=(45,10),P,=(70,20),Pz=(57.5,15)同理可反推角点:P=1/2(P+P)=(70,15),可得P=(82.5,15)类似可得,P=(95,10),P,=(110,0)(2)对三次Bezier曲线,C(l)=(1-1)P+3(1-1)"P+3r(1-0)P+'P,设P(x3,ys),则有×30+3×(1-=x(1-02×60+3×)×80+()3×x,=70x(1-2221) ×0+3×=×(1--)2 ×(1-)×20+()3×y3=15(-)2×20+3×(22O解得,=110,=0,即最后一个控制顶点为(110,0)
(70,15),试求最后一个控制顶点。 解:(1)由 de Casteljau 算法 r 1 i 1 r 1 i r 1 P 1 t P tP ( ) t=1/2, 可求得: P (45,10) 1 1 , P (70,20) 1 2 , P (57.5,15) 2 2 同理可反推角点: P 1/ 2(P P ) (70,15) 2 3 2 2 3 3 ,可得 P (82.5,15) 2 3 类似可得, P (95,10) 1 3 , P (110,0) 3 ( 2 ) 对三次 Bezier 曲线, 3 3 2 2 1 2 0 3 C(t) (1 t) P 3t(1 t) P 3t (1 t)P t P , 设 ( , ) 3 3 3 P x y ,则有 ) 15 2 1 ) 20 ( 2 1 ) (1 2 1 ) 20 3 ( 2 1 (1 2 1 ) 0 3 2 1 (1 ) 70 2 1 ) 80 ( 2 1 ) (1 2 1 ) 60 3 ( 2 1 (1 2 1 ) 30 3 2 1 (1 3 3 2 2 3 3 3 2 2 3 y x 解得 x3 110, y3 0 ,即最后一个控制顶点为(110,0)