




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機圖形中曲面的設計理論9.1插值邊界線的孔斯曲面 9.1.1雙線性孔斯曲面 如圖9.1所示,假設這一對曲線邊定義在參數區(qū)間u∈[0,1]上,即有參數方程Q0(u)和Q1(u),而u∈[0,1],且滿足
Q0(0)=P00,Q0(1)=P10
Q1(0)=P01,Q1(1)=P11(9.1.1)第2頁,共112頁,2024年2月25日,星期天
則可寫出如上運動生成的曲面片方程為
Q(u,v)=(1-v)Q0(u)+vQ1(u) (u,v)∈[0,1;0,1](9.1.2)第3頁,共112頁,2024年2月25日,星期天圖9.1曲線邊界的四邊形及其角點示意圖第4頁,共112頁,2024年2月25日,星期天
完全對等地,對另一對定義在v∈[0,1]上的曲線邊,有參數方程R0(v)和R1(v),且滿足
R0(0)=P00,R0(1)=P01
R1(0)=P10,R1(1)=P11
我們也可寫出如上方式生成的曲面片方程:
R(u,v)=(1-u)R0(v)+u
R1(v)(u,v)∈[0,1;0,1] (9.1.4)
(9.1.3)第5頁,共112頁,2024年2月25日,星期天
但這兩個曲面片都不符合以四條曲線為邊界曲線的條件。如果把兩者疊加起來卻適得其反,Q(u,v)+R(u,v)不再插值任一對邊界。對曲面片
Q(u,v)+R(u,v)而言,在參數u=0時的邊為
Q(0,v)+R(0,v)=(1-v)P00+vP01+R0(v)
v∈[0,1](9.1.5)
不難看出,在四條曲線邊恰好都為相應的直線段時,Q(u,v)和R(u,v)定義出同一個曲面片:
S(u,v)=(1-u)(1-v)P00+(1-u)vP01+u(1-v)P10+uv
P11(u,v)∈[0,1;0,1](9.1.6)第6頁,共112頁,2024年2月25日,星期天
亦即 為由曲面片四角點決定的一張雙線性張量積曲面,插值于四條直線段邊,正好是Q(u,v)+R(u,v)要插值于四條曲線邊時多余的那一部分。為得到要求的插值曲面,曲面片Q(u,v)+R(u,v)減去
S(u,v)即可,于是有插值于四條曲線邊的曲面
P(u,v)=Q(u,v)+R(u,v)-S(u,v)(u,v)∈[0,1;0,1] (9.1.8)
(u,v)∈[0,1;0,1](9.1.7)第7頁,共112頁,2024年2月25日,星期天
如此定義的曲面片就是雙線性混合孔斯曲面片。根據P(u,v)的插值性質可知,四條邊界曲線的等式關系為
Q0(u)=P(u,0),Q1(u)=P(u,1)
R0(v)=P(0,v),R1(u)=P(1,v)
四個角點為
P00=P(0,0),P01=P(0,1)
P10=P(1,0),P11=P(1,1)
于是,P(u,v)可用矩陣形式表示為(9.1.9)(9.1.10)(9.1.11)第8頁,共112頁,2024年2月25日,星期天
如果把式(9.1.11)看作是由式(9.1.12)解得的,則式(9.1.11)右端的負號就不奇怪了。 將式(9.1.11)對v求偏導后代入v=0可得公共邊界線P(u,0)上的跨界切向量為
(9.1.13)(9.1.12)第9頁,共112頁,2024年2月25日,星期天 9.1.2雙三次孔斯曲面
1.雙三次孔斯曲面的定義 三次參數插值曲線不僅要求端點的位置信息,而且還要求端點的切向量信息。注意,這里的位置信息是整條邊界曲線邊上的各個點的,而不是某個單獨的點的位置信息,相應要求的切向量信息也是沿整條曲線邊上的各個點,而不是某個單獨的點的切向量信息。因此,我們應該有的已知數據至少包括(如圖9.2所示): 四個角點:P00,P10,P01,P11; 四條邊界曲線:Q0(u),
Q1(u),R0(v),R1(v); 四條邊界邊上的跨界切向量:Qv0(u),Qv1(u),Ru0(v),
Ru1(v)。第10頁,共112頁,2024年2月25日,星期天圖9.2定義插值曲面需要的四個角點數據信息第11頁,共112頁,2024年2月25日,星期天
于是,對于固定的v∈[0,1],根據兩點P(0,v),P(1,v)及兩點處的切向量
Qv0(u),Qv1(u)產生的三次參數曲線為
Q(u,v)=F0(u)P(0,v)+F1(u)P(1,v)+F2(u)Qv0(u)+F3(u)Qv1(u)u∈[0,1](9.1.14)
其中:四個函數Fi(u),i=0,1,2,3為三次參數曲線定義中的三次埃爾米特函數。 把Q(u,v)看作是矩形參數區(qū)域(u,v)∈[0,1;0,1]上的函數,就是一個曲面片。
第12頁,共112頁,2024年2月25日,星期天
類似地,對固定的u∈[0,1]根據兩點R0(v),R1(v)及兩點處的切向量Ru0(v)
,
Ru1(v)產生的三次參數曲線為
R(u,v)=F0(v)R0(v)+F1(v)R1(v)+F2(v)Ru0(v)+F3(v)Ru1(v)
v∈[0,1](9.1.15)
R(u,v)也是矩形參數區(qū)域(u,v)∈[0,1;0,1]上的一個曲面片。第13頁,共112頁,2024年2月25日,星期天
如同前一節(jié)一樣,我們將要定義僅僅利用角點數據信息的插值曲面。這也就是說,假定四條邊界線現(xiàn)在是未知的。 首先,應給出由兩角點P00和P10及兩角點處的切向量Qv0(0)和Qv0(1)產生的v=0對應的曲線邊界線:
F0(u)P00+F1(u)P10+F2(u)Qv0(0)+F3(u)Qv0(1)
u∈[0,1](9.1.16)
由兩角點P01和P11及兩角點處的切向量Qv1(0)和
Qv1(1)產生的v=1對應的曲線邊界線為
F0(u)P01+F1(u)P11+F2(u)Qv1(0)+F3(u)Qv1(1) u∈[0,1](9.1.17)第14頁,共112頁,2024年2月25日,星期天
于是我們可以給出v=0對應的曲線邊界線各點關于參數v的切向量:
F0(u)Qv0(0)+F1(u)Qv0(1)+F2(u)Puv(0,0)+F3(u)Puv(1,0)
u∈[0,1](9.1.18)
和v=1對應的曲線邊界線各點關于參數v的切向量:
F0(u)Qv1(0)+F1(u)Qv1(1)+F2(u)Puv(0,0)+F3(u)Puv(0,1)
u∈[0,1](9.1.19)
現(xiàn)在我們就可以定義僅僅利用四個角點數據信息的插值曲面:第15頁,共112頁,2024年2月25日,星期天
S(u,v)=[F0(u)F1(u)F2(u)F3(u)] 于是可得雙三次混合孔斯曲面片:
P(u,v)=Q(u,v)+R(u,v)-S(u,v)(9.1.21)
(9.1.20)第16頁,共112頁,2024年2月25日,星期天
此式定義的
P(u,v)滿足
P(0,0)=P00,P(1,0)=P10
P(0,1)=P01,P(1,1)=P11
P(u,0)=Q0(u),P(u,1)=Q0(1)
P(0,v)=R0(v),P(1,v)=R1(v)
Pv(u,0)=Qv0(u),Pv(u,1)=Qv1(u)
Pu(0,v)=Ru0(v),Pu(1,v)=Ru1(v)(9.1.22)
利用這些關系式可整理式(9.1.20)和式(9.1.21)為第17頁,共112頁,2024年2月25日,星期天
S(u,v)=[F0(u)F1(u)F2(u)F3(u)]
P(u,v)=[-1F0(u)F1(u)F2(u)F3(u)](9.1.23)(9.1.24)第18頁,共112頁,2024年2月25日,星期天
類似地,式(9.1.24)也可寫為如下形式:
P(u,v)=[-1F0(u)F1(u)F2(u)F3(u)](9.1.25)第19頁,共112頁,2024年2月25日,星期天2.雙三次孔斯曲面的扭矢 求方程(9.1.11)的混合偏導向量,可得
Puv(u,v)=Pvu(u,v)=Pv(1,v)-Pv(0,v)+Pu(u,1)-Pu(u,0)-C (9.1.26)
其中:
C=P(0,0)-P(0,1)-P(1,0)+P(1,1)(9.1.27)
是由四個角點決定的張量積雙線性曲面,即式(9.1.11)所用曲面S(u,v)的扭矢。 分別用u,v=0,1代入上式可得四個角點處的扭矢為第20頁,共112頁,2024年2月25日,星期天
Puv(0,0)=Pv(1,0)-Pv(0,0)+Pu(0,1)-Pu(0,0)-C
Puv(0,1)=Pv(1,1)-Pv(0,1)+Pu(0,1)-Pu(0,0)-C
Puv(1,0)=Pv(1,0)-Pv(0,0)+Pu(1,1)-Pu(1,0)-C
Puv(1,1)=Pv(1,1)-Pv(0,1)+Pu(1,1)-Pu(1,0)-C 3.孔斯曲面扭矢相容性
從方程(9.1.20)中的邊界信息矩陣看,以角點P(0,0)處扭矢為例,它既應是Pv(u,0)=Qv0(u)對u求偏導后置u=0得到
(9.1.28)(9.1.29)第21頁,共112頁,2024年2月25日,星期天
也應是Pu(0,v)=Ru0(v)對v求偏導后置v=0得到 有兩種解決這一問題的方式:一是實際情況許可時調整所給的原始數據,以使不相容性消失。二是在原始數據不能改變的情況下,可以采用稱之為格里戈里正方形的方法。該方法使用可變扭矢替代式(9.1.24)中的固定扭矢。可變扭矢定義如下:(9.1.30)第22頁,共112頁,2024年2月25日,星期天(9.1.31)第23頁,共112頁,2024年2月25日,星期天 4.孔斯曲面跨界切向量的確定 我們就可以定義:Qv0(u)=F0(u)Pv(0,0)+F1(u)Pv(1,0)+F2(u)Puv(0,0)+F3(u)Puv(1,0)
Qv1(u)=F0(u)Pv(0,1)+F1(u)Pv(1,1)+F2(u)Puv(0,1)+F3(u)Puv(1,1)
Ru0(u)=F0(u)Pu(0,0)+F1(u)Pu(0,1)+F2(u)Puv(0,0)+F3(u)Puv(0,1)
Rv1(u)=F0(u)Pu(1,0)+F1(u)Pu(1,1)+F2(u)Puv(1,0)+F3(u)Puv(1,1)(9.1.32)第24頁,共112頁,2024年2月25日,星期天9.2雙線性與雙三次參數曲面 9.2.1雙線性參數曲面定義及其表示 式(9.1.7)中的S(u,v)對兩個參數分別為線性,其幾何意義也非常明確,只需要知道四個角點的位置就可以了,所以式(9.1.7)可稱為雙線性參數曲面的幾何表示形式。寫成一般代數形式時有如下表達式:(u,v)∈[0,1;0,1](9.2.1)第25頁,共112頁,2024年2月25日,星期天 9.2.2雙三次參數曲面定義及其表示 式(9.1.23)中的S(u,v)對兩個參數分別為三次多項式,可稱為雙三次參數曲面的幾何表示形式。寫成一般形式時有如下表達式:
可用矩陣表示為(9.2.2)(u,v)∈[0,1;0,1](9.2.3)第26頁,共112頁,2024年2月25日,星期天
下面我們推導兩種表達式之間的關系。注意到有
F(t)=[2t3-3t2+12t3+3t2
t3-2t2+t
t3-t2]
=[1t
t2t3] 其中的4×4矩陣用M表示,則式(9.1.23)可重新表示為
(9.2.4)第27頁,共112頁,2024年2月25日,星期天
S(u,v)=[1u
u2
u3]M (u,v)∈[0,1;0,1](9.2.5)
反過來,式(9.2.3)也可用式(9.2.5)的形式表示出來:
S(u,v)=[F0(u)F1(u)F2(u)F3(u)]M-1
(9.2.6)第28頁,共112頁,2024年2月25日,星期天 9.2.3雙三次參數曲面的其它形式 基于上述原因,我們一般讓16個點形成網狀分布,如圖9.3所示。參數取值為u=u0,u1,u2,u3
和v=v0,v1,v2,v3,即有Pij=S(ui,vj),i=0,1,2,3,j=0,1,2,3。第29頁,共112頁,2024年2月25日,星期天圖9.3成網狀分布的16個數據點第30頁,共112頁,2024年2月25日,星期天
于是由式(9.2.2)可得16組方程:
A00+v1j
A01+v2j
A02+v3j
A03+
u1iA10+u1iv1jA11+u1iv2jA12+uiiv3jA13+
u2i
A20+u2iv1j
A21+u2iv2j
A22+uiiv3j
A23+
u3iA30+u3iv1j
A31+u3iv2j
A32+u3iv3j
A33=Pij
i,j=0,1,2,3
定義16維向量:
A=[A00
A01
A02
A03
A10
A11A12
A13A20A21
A22
A23
A30
A31
A32
A33]
(9.2.8)(9.2.7)第31頁,共112頁,2024年2月25日,星期天
和
P=[P00
P01
P02
P03
P10
P11P12
P13P20
P21
P22P23
P30
P31
P32
P33]
(9.2.9)
再定義16×16矩陣,其ij+1行由式(9.2.7)的Pij對應的方程中各個未知量Amn前面的系數依次組成:
第32頁,共112頁,2024年2月25日,星期天第33頁,共112頁,2024年2月25日,星期天(9.2.10)第34頁,共112頁,2024年2月25日,星期天
如果定義矩陣 則矩陣B有如下的分塊表示:(9.2.11)第35頁,共112頁,2024年2月25日,星期天
有了上述記號,式(9.2.7)可用矩陣表示為
BA=P(9.2.12)
現(xiàn)在求解雙三次參數曲面就是求解一個線性方程組,解為
A=B-1
P(9.2.13)
實際的情況常常比較簡單一些:其中有12個已知點是在曲面片的四條邊界線上的,這時參數的取值為u0=v0=0,u3=v3=1,矩陣V可簡化為第36頁,共112頁,2024年2月25日,星期天
這時矩陣B有如下的分塊表示:
如果進一步選取u1=v1=1/3,u2=v2=2/3為固定值,則矩陣V和B就是常數矩陣了,求解過程也可以進一步簡化。(9.2.14)第37頁,共112頁,2024年2月25日,星期天 9.2.4常用曲面的參數形式
1.平面塊的參數形式 平面的參數表示形式為
P(u,v)=P00+uTu+vTv
(u,v)∈[0,1;0,1](9.2.15)
它表示以
P00為頂點,Tu、
Tv為邊的平行四邊形平面塊,如圖9.4所示。第38頁,共112頁,2024年2月25日,星期天圖9.4平面的雙三次參數表示第39頁,共112頁,2024年2月25日,星期天
若假設
P00=(x0,y0,z0),Tu=(Δxu,Δyu,Δzu),Tv=(Δxv,Δyv,Δzv)(9.2.16)
則這個平面塊的四個角點可表示為
P00=(x0,y0,z0),P10=P00+T0=(x0+Δxu,y0+Δyu,z0+Δzu) P01=P00+T1=(x0+Δxv,y0+Δyv,z0+Δzv)
P11=P00+T0+T1=(x0+Δxu+Δxv,y0+Δyu+Δyv,z0+Δzu+Δzv) (9.2.17)第40頁,共112頁,2024年2月25日,星期天
它在Oxy平面上的投影為一個平行四邊形。這個平面塊的四個角點上的八個切向量分別為:Pu(0,0)=Pu(1,0)=Pu(0,1)=Pu(1,1)=Tu和Pv(0,0)=Pv(1,0)=Pv(0,1)=Pv(1,1)=Tv。在上述參數形式下的平面方程中,平面上任何一點的扭矢為零。因此平面片的幾何系數矩陣可表示為
P(0,0)P(0,1)Pv(0,0)Pv(0,1) P(1,0)P(1,1)Pv(1,0)Pv(1,1)Pu(0,0)Pu(0,1)Puv(0,0)Puv(0,1)Pu(1,0)Pu(1,1)Puv(1,0)Puv(1,1)G=第41頁,共112頁,2024年2月25日,星期天
P(0,0)P(0,0)+TvTvTv
P(0,0)+TuP(0,0)+Tv+TuTvTv
TuTu00 TuTu00
或在已知三個角點P(0,0),P(1,0),P(0,1)時直接用位置向量表示為
P(0,0)P(0,1)P(0,1)-P(0,0)P(0,1)-P(0,0) P(1,0)P(1,0)+P(0,1)-P(0,0)P(0,1)-P(0,0)P(0,1)-P(0,0) P(1,0)-P(0,0)P(1,0)-P(0,0)00 P(1,0)-P(0,0)P(1,0)-P(0,0)00A=(9.2.18)(9.2.19)第42頁,共112頁,2024年2月25日,星期天 2.柱面的參數形式 柱面方程的一般參數形式為
P(u,v)=P(u)+vTv(u,v)∈[0,1;0,1](9.2.20)
其中:P(u)為任意的空間曲線,
Tv為直線段的方向向量,參數v沿直線段方向變化。設P(u)為幾何系數矩陣為G0=[P0
P1
T0
T1]的參數三次曲線。另有一直線段,其一端為P0,另一端為P2。因此其幾何系數矩陣為G1=[P0
P2
P2-P0
P2-P0]。 當直線段的端點P0沿G0給出的參數三次曲線平移時,它所掃成的曲面就是一個柱面,如圖9.5所示?,F(xiàn)在求這個柱面的雙三次曲面表示形式的幾何系數矩陣G。第43頁,共112頁,2024年2月25日,星期天圖9.5柱面的雙三次參數表示第44頁,共112頁,2024年2月25日,星期天
由柱面的幾何特性可知,柱面上的任何一點的扭矢為零。因此由
G0和G1
不難得到
P0P2
P2-P0
P2-P0
P1P1+P2-P0
P2-P0
P2-P0
T0T000
T1
T100
由于假設P(u)為參數三次曲線,故不能為圓弧曲線。這說明圓柱面難以用雙三次曲面表示。其它的含有圓弧曲線的曲面,如常見的旋轉曲面也難以用雙三次曲面表示。(9.2.21)第45頁,共112頁,2024年2月25日,星期天 3.直紋曲面 設Pj(v),j=0,1為兩條空間參數三次曲線,其幾何系數矩陣分別為
Gj=[P0j
P1j
T0j
T1j],j=0,1。如果在這兩條曲線的起點P00、
P01之間連接一條線段,則這條直線段的兩端分別沿其所在的參數三次曲線向曲線的另一端P10、P11同步移動,則直線段運動所構成的曲面就是直紋曲面,如圖9.6所示。直紋曲面用一般參數形式表示為
r(u,v)=(1-u)P0(v)+uP1(v)(u,v)∈[0,1;0,1](9.2.22)第46頁,共112頁,2024年2月25日,星期天圖9.6直紋曲面的雙三次參數表示第47頁,共112頁,2024年2月25日,星期天
顯然,直紋曲面上任何一點的扭矢都為零。因此產生的直紋曲面的三次參數表示的幾何系數矩陣
G為
(9.2.23)第48頁,共112頁,2024年2月25日,星期天9.3Bézier曲面 9.3.1Bézier曲面片的定義 由式(9.1.23)定義雙三次參數曲面的方式可以用來定義Bézier曲面。設有(m+1)×(n+1)個點Pij,i=0,1,…,m,j=0,1,…,n。先固定i,我們即有(n+1)個點Pij,j=0,1,…,n,可以生成一條n階Bézier曲線:
u∈[0,1](9.3.1)
按照此種方式,我們共定義出了m+1條Bézier曲線。第49頁,共112頁,2024年2月25日,星期天
對任意固定的u∈[0,1],我們可以得到取自這m+1條Bézier曲線的m+1個點Qi(u),i=0,1,…,m,以這些點作控制點,我們又可以得到一條m階Bézier曲線:
把此式看作兩個參數(u,v)∈[0,1;0,1]處的函數,就得到
v∈[0,1](9.3.2)(u,v)∈[0,1;0,1](9.3.3)第50頁,共112頁,2024年2月25日,星期天
于是就定義了一個m×n次Bézier曲面片。我們當然也可以按先固定j的方式生成一個Bézier曲面片方程,其幾何結果是完全相同的一個Bézier曲面片。直觀上,Bézier曲面是一條Bézier曲線在空間按另一條Bézier曲線運動所形成的軌跡。 在此,我們先定義曲線,再通過“線動成面”的方法來定義Bézier曲面。用這種方式定義的曲面稱為張量積曲面或笛卡爾積曲面。上式定義的是張量積Bézier曲面,它的兩組基函數都是伯恩斯坦基函數。第51頁,共112頁,2024年2月25日,星期天
如同Bézier曲線有一個控制多邊形一樣,類似地,Bézier曲面也有一個控制多面體,上面給出的Pij是控制多面體的頂點,稱為控制頂點??刂祈旤c沿i方向和j方向分別構成m+1個和n+1個控制多邊形,它們一起組成曲面的控制多面體,也稱控制網格。式(9.3.3)中的Bi,m(u)和Bj,n(v)分別是m次和n次伯恩斯坦基函數,即(9.3.4)第52頁,共112頁,2024年2月25日,星期天 9.3.2Bézier曲面片的性質
(1)Bézier曲面片的四個角點正好是相應的Bézier控制網格的四個角點,即有
P(0,0)=P00,P(1,0)=Pm0,P(0,1)=P0n,P(1,1)=Pmn(9.3.5) (2)Bézier曲面片具有幾何不變性。 (3)Bézier曲面片具有凸包性質。 (4)Bézier曲面片在角點處的切平面為由該角點及其相鄰的兩個點共三個點決定的平面。例如在角點P00處的切平面為由P00,P01和P10三個點決定的平面。第53頁,共112頁,2024年2月25日,星期天
(5)m×n次Bézier曲面片的四條邊界曲線分別是m次和n次Bézier曲線。對于低階的Bézier曲面片我們還有如下一些結論:
(1)1×1的Bézier曲面片就是由式(9.1.7)。 (2)2×2的Bézier曲面片由九個定義的曲面片S(u,v),其邊界為四條直線段控制點確定,周圍的八個控制點確定了Bézier曲面片在四個角點處的切平面,也確定了Bézier曲面片的四條邊界線;中間的一個控制頂點
P11則指明了Bézier曲面片中間部分凸起或凹陷的方向,即凸凹的程度。第54頁,共112頁,2024年2月25日,星期天 9.3.3雙三次Bézier曲面 在實際應用中,用得最多的是3×3的Bézier曲面片,這時我們就稱相應的Bézier曲面片為雙三次Bézier曲面片。雙三次Bézier曲面片的表達式為 寫成矩陣表達式為(u,v)∈[0,1;0,1](9.3.6)(u,v)∈[0,1;0,1](9.3.7)第55頁,共112頁,2024年2月25日,星期天
其中:(9.3.8)第56頁,共112頁,2024年2月25日,星期天
矩陣P所包含的是控制點的位置向量,它們確定了一個多面體,同時也確定了一個Bézier曲面片。顯然,只有四個角點真正在曲面上。邊界線上的控制點確定了四個角點的切平面,同時也確定了邊界曲線的切線。中間的四個控制點P11、P12、P21和P22將影響著曲面片四個角點處的混合偏導向量,即扭矢。 雙三次Bézier曲面片顯然也是一種雙三次參數曲面片。兩者相比較,雙三次Bézier曲面片有很多優(yōu)點,主要有如下幾點:雙三次Bézier曲面片直接用16個點給出表達式,避免了確定切線向量和扭矢這些難以確定的量,16個點給出的控制多面體大致反映了Bézier曲面片的形狀,通過對控制頂點的直觀修改、調整,就能實現(xiàn)對Bézier曲面片的修改、調整。第57頁,共112頁,2024年2月25日,星期天
根據Bézier曲線連接的條件可以看到,兩個Bézier曲面片要求達到光滑連接,就需要在公共邊界處有連續(xù)變化的法向量,即有連續(xù)變化的切平面,具體應滿足:
(1)如圖9.7所示,公用一條邊界曲線,即共同使用定義公共邊界曲線的四個控制點: P03,P13,P23,P33(9.3.9)
這一條件保證了兩個曲面片是位置連續(xù)的,即有共同的邊界線。第58頁,共112頁,2024年2月25日,星期天圖9.7兩片Bézier曲面片的連接第59頁,共112頁,2024年2月25日,星期天 (2)公共邊界兩側八個控制頂點和定義公共邊界的四個控制頂點分為四組,每組三點,則每組中的三點共線。而且,定義公共邊界的四個控制頂點分別把共線線段分成等比例,即有(9.3.10)第60頁,共112頁,2024年2月25日,星期天9.4B-樣條曲面 9.4.1B-樣條曲面片的定義 類似于借助Bézier曲線生成Bézier曲面,我們也可以借助于B-樣條曲線生成B-樣條曲面。設給定(m+1)×(n+1)個控制頂點
Pij,i=0,1,…,m;j=0,1,…,n(9.4.1)
以及兩列節(jié)點取值
u0≤u1≤…≤um+k+1(9.4.2)
和
v0≤v1≤…≤vm+l+1(9.4.3)第61頁,共112頁,2024年2月25日,星期天
則可定義一個k×l階B-樣條曲面 其中:Nik(u)和Njl(v)分別是由兩列節(jié)點定義的k階和l階B-樣條曲線的B-樣條基函數。而由(m+1)×(n+1)個控制頂點構成的多面體稱為這個B-樣條曲面的控制網格或稱控制多面體??刂贫嗝骟w的形狀大體上反映了B-樣條曲面的形狀。(u,v)∈[uk,um+1;
vl,vn+1](9.4.4)第62頁,共112頁,2024年2月25日,星期天
類似于B-樣條曲線的分類,B-樣條曲面沿任一參數方向按節(jié)點序列取值的不同可以劃分成四種不同類型:均勻、準均勻、分片Bézier與非均勻B-樣條曲面。沿兩個參數方向也可選取不同類型。特殊地,若兩個節(jié)點序列取值分別為
u0=u1=…=uk+1=0,uk+2=uk+3=…=u2k+2=1(9.4.5)
和
u0=u1=…=ul+1=0,ul+2=ul+3=…=u2l+2=1(9.4.6)第63頁,共112頁,2024年2月25日,星期天 9.4.2雙三次均勻B-樣條曲面片公式
3×3階均勻B-樣條曲面片也稱雙三次均勻B-樣條曲面片,當我們把其參數由一般長方形參數區(qū)間變換到標準單位正方形參數區(qū)間上時,其方程可表示為
P(u,v)=[1uu2
u3]APA′
(u,v)∈[0,1;0,1](9.4.7)第64頁,共112頁,2024年2月25日,星期天
其中:(9.4.8)第65頁,共112頁,2024年2月25日,星期天 9.4.3B-樣條曲面片的優(yōu)點 與Bézier曲面相比,B-樣條曲面有以下主要優(yōu)點:
(1)多個B-樣條曲面片的連接不需要考慮連接條件。當第一個曲面片被計算以后,不需要考慮連接條件,即可計算第二個曲面片,只是控制頂點矩陣P中的元素有部分改變。在雙三次B-樣條曲面上處處具有一階和二階連續(xù)性。因此各個相鄰的雙三次B-樣條曲面片之間自動實現(xiàn)二階連續(xù)性,也就不需要考慮雙三次B-樣條曲面片之間的光滑拼接問題。利用雙三次參數曲面片和雙三次Bézier曲面片解決這一問題都是很困難的。第66頁,共112頁,2024年2月25日,星期天 (2)B-樣條曲面的控制網格的頂點數量不受限制,因此,B-樣條曲面可表示比Bézier曲面復雜得多的曲面。同時,B-樣條曲面的階數不因控制頂點數目的增加而增加,保證了當控制頂點數目增加時,不增加計算的復雜程度。
(3)B-樣條曲面具有局部控制性質。當改變某個控制頂點時,只有那些與該頂點相關的幾個B-樣條曲面片的形狀會發(fā)生變化,其余的B-樣條曲面片的形狀不會發(fā)生任何變化。
(4)像B-樣條曲線一樣,B-樣條曲面也具有比Bzier曲面更強的凸包性質。第67頁,共112頁,2024年2月25日,星期天9.5非均勻有理B-樣條曲面 9.5.1NURBS曲面的定義 我們可以完全類似地定義非均勻有理B-樣條曲面。設給定(m+1)×(n+1)個控制頂點和每點對應的權因子
Pij,ωij>0,i=0,1,…,m,j=0,1,…,n(9.5.1)
以及兩列節(jié)點取值
u0≤u1≤…≤um+k+1(9.5.2)
和
v0≤v1≤…≤vm+l+1(9.5.3)第68頁,共112頁,2024年2月25日,星期天
則可定義一個k×l階非均勻有理B-樣條曲面:
其中:Nik(u)和Njl(v)是由兩列節(jié)點定義非均勻有理B-樣條曲線時的非均勻有理B-樣條基函數。而由(m+1)×(n+1)個控制頂點構成的多面體稱為這個非均勻有理B-樣條曲面的控制網格或稱控制多面體??刂贫嗝骟w的形狀大體反映了非均勻有理B-樣條曲面的形狀。(u,v)∈[uk,um+1;
vl,vn+1](9.5.4)第69頁,共112頁,2024年2月25日,星期天
特殊地,若兩個節(jié)點序列取值分別為
u0=u1=…=uk+1=0,uk+2=uk+3=…=u
2k+2=1(9.5.5)
和
u0=u1=…=ul+1=0,ul+2=ul+3=…=u2l+2=1(9.5.6)
則所定義的非均勻有理B-樣條曲面就是k×l階有理Bézier曲面。第70頁,共112頁,2024年2月25日,星期天 3×3階非均勻有理B-樣條曲面片也稱雙三次非均勻有理B-樣條曲面片。當我們把其參數由一般長方形區(qū)間變換到標準單位正方形區(qū)間上時,其方程可表示為(u,v)∈[0,1;0,1](9.5.7)第71頁,共112頁,2024年2月25日,星期天
其中:第72頁,共112頁,2024年2月25日,星期天
與雙三次非均勻有理B-樣條曲面片相對應的,我們也可定義出有理雙三次Bézier曲面,其表達式完全類似于雙三次有理均勻B-樣條曲面,僅需把式(9.5.8)中的矩陣A用下面的矩陣代替即可:(9.5.9第73頁,共112頁,2024年2月25日,星期天 9.5.2NURBS曲面表示的旋轉面 與多項式的這一類曲面相比,我們可以用有理B-樣條或Bézier曲面精確地表示出球面或其它類型的包含圓弧線的曲面,如圓柱面、圓錐面及旋轉體面等等。這些都是利用計算機進行輔助設計時經常用到的圖形。下面我們以旋轉曲面為例加以說明。 一般旋轉面由稱為母線的曲線繞稱為軸的直線旋轉生成。如圖9.8所示,定義一張旋轉面最方便的方法是先在某個坐標平面譬如Oxz平面內定義一條母線L,然后將它繞其中的一個坐標軸如z軸旋轉一周,則得一張完整的旋轉面。若旋轉不到一周,則得部分旋轉面。第74頁,共112頁,2024年2月25日,星期天圖9.8旋轉曲面的NURBS表示第75頁,共112頁,2024年2月25日,星期天
假設母線
L(u)為一條k次NURBS曲線,它的控制頂點和權因子為Pi,0,i=0,1,…,n和ωi,0,i=0,1,…,n,節(jié)點為ui,0,i=0,1,…,n+k。 如圖9.8所示,把表示母線的NURBS曲線與定義整圓的二次NURBS表示結合起來,就得到如下完整旋轉面的方程的控制頂點、權因子和節(jié)點取值:當u固定不變時,曲面的截面線為圓,即參數v方向產生圓心在旋轉軸上的圓弧線。因此我們對每個固定的i,把控制頂點Pi,0繞軸旋轉一周得到一個整圓作為產生整圓的NURBS表示的第一個控制點,并由此推得整圓的NURBS表示的其它點。以圖8.20中產生整圓NURBS表示的正方形的控制多邊形為例,我們得到控制點Pi,j,j=0,1,…,8,相應的權因子ωi,j為ωi,0與整圓的NURBS表示各點相應權因子的乘積,也就是第76頁,共112頁,2024年2月25日,星期天
v參數方向節(jié)點值的取值仍然依次為
0,0,0,1/4,1/4,1/2,1/2,3/4,3/4,1,1,1
作為旋轉曲面,整球面可由半圓繞過兩端點的直徑軸旋轉一周得到,如圖9.9所示,其控制網格形成一個外切正方體。如圖9.10所示,圓環(huán)面可由一整圓繞不與該整圓相交的軸線旋轉得到。(9.5.10)第77頁,共112頁,2024年2月25日,星期天圖9.9NURBS整球面第78頁,共112頁,2024年2月25日,星期天圖9.10NURBS圓環(huán)面第79頁,共112頁,2024年2月25日,星期天9.6三角域上的Bézier曲面 9.6.1三角域內的重心坐標 在直線上,若已知兩點A,B,則兩點連線上任一點D可表示為
D=(1-t)A+tB0≤t≤1(9.6.1)
現(xiàn)在假設在平面上已知三點A,B,C,則三點所連三角形內任一點P該如何表示呢?設O點為坐標原點,回憶直線的情況,上式可用向量形式表示為(9.6.2)第80頁,共112頁,2024年2月25日,星期天
當一點P在三角形△ABC內時,類似可得
于是,存在0≤s≤1和0≤t≤1,使得 代入式(9.6.3)得(9.6.3)(9.6.4)(9.6.5)第81頁,共112頁,2024年2月25日,星期天
如果把△ABC理解為一個數值,即看作是這個三角形的面積,則
通常,我們用點坐標的形式表示出上述關系:
P=uA+vB+wC(9.6.7)
其中: 0≤u≤1,0≤v≤1,0≤w≤1,u+v+w=1(9.6.8)(9.6.6)第82頁,共112頁,2024年2月25日,星期天
并稱(u,v,w)為點P關于三點A,
B,C的重心坐標。這個坐標從力學原理上可理解為三點A,B,C各有質量u,v,w時,其重心在P。依據式(9.6.6)可知,只要三點A,B,C不共線,點P的重心坐標(u,v,w)就存在,并且點P與坐標是相互惟一確定的。 另外,當△ABC=1時,點P重心坐標的三個分量u,
v,w就是如圖9.11所示的點P與△ABC三個頂點連線形成的三個小三角形的面積。第83頁,共112頁,2024年2月25日,星期天圖9.11三角域內的重心坐標定義第84頁,共112頁,2024年2月25日,星期天
限制條件0≤u≤1,0≤v≤1,0≤w≤1是為了保證點P位于三角形內。不滿足此條件的重心坐標(u,v,w)仍可定義出平面上一點,但位于指定的三角形之外。根據重心坐標的幾何意義不難給出其由三點表示的表達式。由于涉及到線段長度,其表達式很容易遇到開方運算。如果點是平面坐標系內的點,則有二維坐標表示:
A=(ax,ay),B=(bx,by),C=(cx,cy)(9.6.9)
則三角形的有向面積為
(9.6.10)第85頁,共112頁,2024年2月25日,星期天
對于這個有向面積計算公式,無論點P位于三角形內或外,如下表達式始終成立: 9.6.2三角域上的Beinstein函數 單變量的n次Beinstein函數由n次二項式[t+(1-t)]n的展開式的各項構成。 類似地,雙變量的n次Beinstein函數可以由n次三項式[u+v+(1-u-v)]n的展開式的各項構成。為方便起見,令w=1-u-v,得展開式(9.6.11)第86頁,共112頁,2024年2月25日,星期天
由此定義三角域上的n次Beinstein函數:
其中: 0≤u,v,w≤1,u+v+w=1 0≤i,j,k≤n,i+j+k=n
依據i,j,k滿足的條件可以推得三角域上的n次Beinstein函數共有(n+1)(n+2)/2個。這些函數可以直觀地認為分布在如圖9.12所示的三角陣列中。(9.6.13)(9.6.14)第87頁,共112頁,2024年2月25日,星期天圖9.12三角域上的n次Beinstein函數的分布第88頁,共112頁,2024年2月25日,星期天
不難看出,三角形的三條邊上分別對應著u=0,v=0和w=0。在分別與u=0,v=0和w=0相應的邊平行的直線上,相應的u,v或w保持不變,因此稱為等參數線。相應于某條邊上的所有n次Beinstein函數正好是單變量的所有n次Beinstein函數。三角域上的n次Beinstein函數具有類似于單變量的n次Beinstein函數的如下性質: (1)規(guī)范性:(9.6.15)第89頁,共112頁,2024年2月25日,星期天 (2)非負性:
Bi,j,k(u,v,w)=uivjwk≥0(9.6.16) (3)遞推性:
9.6.3三角域上的Bézier曲面 類似于Bézier曲線的定義,在三角域內每個節(jié)點i,j,k對應一個控制點Pi,j,k,則可立即寫出一個曲面片表達式:(9.6.17)(9.6.18)第90頁,共112頁,2024年2月25日,星期天
其中: 0≤u,v,w≤1,u+v+w=1 0≤i,j,k≤n,i+j+k=n(9.6.19)
這就是三角域上的Bézier曲面。當所有分配在節(jié)點處的控制點Pi,j,k按照圖9.12所示的節(jié)點連接方式連接在一起時,就形成了一張由三角平面塊構成的一個多面體,這就是三角域上的Bézier曲面的控制多面體,或稱控制網格。圖9.13顯示了二次和三次的三角域上的Bézier曲面及控制多面體。第91頁,共112頁,2024年2月25日,星期天圖9.13三角域上的Bézier曲面及控制多面體第92頁,共112頁,2024年2月25日,星期天
特別地,假設平面上三個點A=(ax,ay),B=(bx,by),C=(cx,cy),控制點Pi,j,k=(xi,j,k,yi,j,k,zi,j,k)滿足 則曲面上任一點P(u,v,w)=(x(u,v,w),y(u,v,w),z(u,v,w))滿足
(x(u,v,w),y(u,v,w))=uA+vB+wC=(uax+vbx+wcx,uay+vby+wcy)(9.6.21)(9.6.20)第93頁,共112頁,2024年2月25日,星期天 9.6.4三角域上的Bézier曲面的方向導向量 由于三角域上的Bézier曲面的三個參數相互依賴,對某個參數求導在這里沒有明確的意義。為了明確求導的實際含義,這里指定求某個指定方向的導向量。設有參數三角形一點P0=(u0,v0,w0)及方向向量R=(ru,rv,rw),由此確定過點P0
,具有指定方向R的直線上一點(u,v,w)可表示為
(u,v,w)=L(λ)=P0+λR=(u0+λru,v0+λrv,w0+λrw)(9.6.22)第94頁,共112頁,2024年2月25日,星期天
于是
P(u,v,w)=P(u0+λru,v0+λrv,w0+λrw)=Bi,j,k(u0+λru,v0+λrv,w0+λrw)Pi,j,k
對λ求導可得方向導向量 其中:
P1i,j,k=ru
Pi+1,j,k+rv
Pi,j+1,k+rw
Pi,j,k+1
i+j+k=n-10≤i,j,k≥0(9.6.25)(9.6.23)(9.6.24)第95頁,共112頁,2024年2月25日,星期天
需要提醒的是,由于重心坐標的三個分量之和始終為1,因此作為方向向量的
R=(ru,rv,rw)的三個坐標分量之和必然為零,即有ru+rv+rw=0。 反復求導,對m=1,2,…,n可得一般的m階方向導向量:
P0i,j,k=Pi,j,k
Pmi,j,k=ru
Pm-1
i+1,j,k+rvPm-1
i,j+1,
k+rw
Pm-1i,j,k+1
i+j+k=n-mi,j,k≥0Pmi,j,k(9.6.26)其中:(9.6.27)第96頁,共112頁,2024年2月25日,星期天
利用此公式可求得對u,v,w任意參數方向的導向量。如為了求u參數方向的導向量,可取R=(ru,rv,rw)中的ru=1,另外兩個參數有一個保持不變,即有一個分量為零。由于三個坐標分量之和必然為零,第三個分量一定為-1。因此可取R=(ru,rv,rw)=(1,0,-1)得到
Pmi,j,k=Pm-1i+1,j,k-Pm-1i,j,k+1
式(9.6.28)為求沿v=0對應的三角形的邊方向的導向量所需要的點的遞推計算公式。 取R=(ru,rv,rw)=(1,-1,0)得到
Pmi,j,k=Pm-1i+1,j,k-Pm-1i,j+1,k
(9.6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)核心機密保護合同模板
- 市場營銷合作合同模板:品牌推廣專用
- 數據外包服務合同轉讓合同
- 標準勞動合同解除樣本
- 加盟連鎖店經營合同樣本
- 合同約定催款函格式專業(yè)版
- 建筑物拆除的施工安全管理考核試卷
- 機床制造中的人力資源管理策略考核試卷
- 農業(yè)科學中的農村居民收入與消費考核試卷
- 安全網絡數據安全審計流程自動化考核試卷
- 中醫(yī)淋巴排毒
- 提高鉆孔灌注樁成孔質量一次驗收合格率
- 住宅小區(qū)工程施工組織設計范本
- 建筑消防設施檢測投標方案
- 【女性勞動力就業(yè)歧視問題探究11000字(論文)】
- 2024年江蘇農牧科技職業(yè)學院單招職業(yè)適應性測試題庫含答案
- 大班益智區(qū)目標及指導策略
- 小學二年級語文下冊《古詩二首》課件
- MOOC 信號與系統(tǒng)-北京交通大學 中國大學慕課答案
- 《研學旅行課程設計》課件-研學課程主題設計
- 《旅游概論》課件-旅游業(yè)的發(fā)展趨勢
評論
0/150
提交評論