当前位置:首页 > (雍俊海)JAVA程序设计教程 - 第2版 课后答案
2
t1]3-630P2 -3300P3 1000P4
-13-31000 =[t3 t 2
t1]3-630111
-33002-1-11000300 066
=>P(t)=[t 3 t 2
t1]0-9-9 333 000
然后分别令t=0,1/3,2/3,1计算上述式子即可 当t=0时 P(0)=0001066 0-9-9 333 000 =000
当t=1/3时 P(1/3)=1/33 1/32 1/31066 0-9-9 333 000
=12/92/9
当t=2/3时 P(2/3)=(2/3) 3 (2/3) 2
2/31066 0-9-9 333
000
=2-2/92/9
当t=1时
P(0)=11110660-9-9 333 000 =300
11.已知由P1(0,0,0),P2(2,2,-2),P3(2,-1,-1),P4(3,0,0),Q1(4,0,0),Q2(6,-2,1),Q3(8,-3,2),Q4(10,0,1)确定的两段三次Bezier曲线,试求其在P4(Q1)处达到C1连续的条件
解:设两段连续的三次Bezier曲线分别为: P(t),Q(t)t∈[01] 则P(t1)=(1-t1) 3
P1+3t1(1-t1) 2
P2+3t1 2
(1-t1)P3+t1 3 P4
t1∈[01] Q(t2)=(1-t2) 3
Q1+3t2(1-t2) 2
Q2+3t2 2
(1-t2)Q3+t2 3
Q4t2∈[01]
将P1、P2、P3、P4的分量分别代入P(t)得到相应的分量 Px(t)=(1-t) 3
*0+3t(1-t) 2 *2+3t 2
(1-t)*2+t 3 *4 =4t 3
–6t 2 +6t
Py(t)=(1-t)3 *0+3t(1-t) 2 *2+3t 2
(1-t)*(-1)+t 3 *0 =9t 3 –15t 2 +6t
Pz(t)=(1-t) 3
*0+3t(1-t) 2
*(-2)+3t 2
(1-t)*(-1)+t 3 *0 =-3t 3 +9t 2 -6t
即三次Bezier曲线的矩阵式为: P(t)=[t 3 t 2
t1]49-30
-6-159066-600000
将Q1、Q2、Q3、Q4的分量分别代入Q(t)得到相应的分量Qx(t)=(1-t) 3
*4+3t(1-t) 2 *6+3t 2
(1-t)*8+t3
*10 =6t+4 Qy(t)=(1-t) 3
*0+3t(1-t) 2
*(-2)+3t 2
(1-t)*(-3)+t 3 *0 =3t 3 +3t 2 -6t
Qz(t)=(1-t) 3
*0+3t(1-t) 2 *1+3t 2
(1-t)*2+t 3 *1 =-2t 3 +3t
即三次Bezier曲线的矩阵式为: Q(t)=[t 3 t 2
t1]03-20 0300 6-630 4004
P(t)和Q(t)在P4(Q1)处达到C1 连续的条件是:
P(1)和Q(0)在P4(Q1)处重合,且其在在P4(Q1)处的切矢量方向相同,大小相等 即:P(t=1)=Q(t=0) P?(t=1)=Q?(t=0)
共分享92篇相关文档