第9章-计算机图形中曲面的设计理论课件

上传人:无*** 文档编号:241661596 上传时间:2024-07-14 格式:PPT 页数:115 大小:1.12MB
返回 下载 相关 举报
第9章-计算机图形中曲面的设计理论课件_第1页
第1页 / 共115页
第9章-计算机图形中曲面的设计理论课件_第2页
第2页 / 共115页
第9章-计算机图形中曲面的设计理论课件_第3页
第3页 / 共115页
点击查看更多>>
资源描述
第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论第第9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.1 插值边界线的孔斯曲面插值边界线的孔斯曲面9.2 双线性与双三次参数曲面双线性与双三次参数曲面9.3 Bzier曲面曲面9.4 B-样条曲面样条曲面 9.5 非均匀有理非均匀有理B-样条曲面样条曲面9.6 三角域上的三角域上的Bzier曲面曲面习习 题题 第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.1 插值边界线的孔斯曲面插值边界线的孔斯曲面9.1.1双线性孔斯曲面如图9.1所示,假设这一对曲线边定义在参数区间u0,1上,即有参数方程Q0(u)和Q1(u),而u0,1,且满足Q0(0)=P00,Q0(1)=P10Q1(0)=P01,Q1(1)=P11(9.1.1)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论则可写出如上运动生成的曲面片方程为 Q(u,v)=(1-v)Q0(u)+vQ1(u)(u,v)0,1;0,1(9.1.2)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.1曲线边界的四边形及其角点示意图第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论完全对等地,对另一对定义在v0,1上的曲线边,有参数方程R0(v)和R1(v),且满足 R0(0)=P00,R0(1)=P01R1(0)=P10,R1(1)=P11我们也可写出如上方式生成的曲面片方程:R(u,v)=(1-u)R0(v)+uR1(v)(u,v)0,1;0,1(9.1.4)(9.1.3)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论但这两个曲面片都不符合以四条曲线为边界曲线的条件。如果把两者叠加起来却适得其反,Q(u,v)+R(u,v)不再插值任一对边界。对曲面片 Q(u,v)+R(u,v)而言,在参数u=0时的边为Q(0,v)+R(0,v)=(1-v)P00+v P01+R0(v)v0,1(9.1.5)不难看出,在四条曲线边恰好都为相应的直线段时,Q(u,v)和R(u,v)定义出同一个曲面片:S(u,v)=(1-u)(1-v)P00+(1-u)v P01+u(1-v)P10+uvP11(u,v)0,1;0,1(9.1.6)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论亦即为由曲面片四角点决定的一张双线性张量积曲面,插值于四条直线段边,正好是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)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论如此定义的曲面片就是双线性混合孔斯曲面片。根据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)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论如果把式(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 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论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)。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.2定义插值曲面需要的四个角点数据信息第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论于是,对于固定的v0,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)u0,1(9.1.14)其中:四个函数Fi(u),i=0,1,2,3为三次参数曲线定义中的三次埃尔米特函数。把Q(u,v)看作是矩形参数区域(u,v)0,1;0,1上的函数,就是一个曲面片。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论类似地,对固定的u0,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)v0,1(9.1.15)R(u,v)也是矩形参数区域(u,v)0,1;0,1上的一个曲面片。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论如同前一节一样,我们将要定义仅仅利用角点数据信息的插值曲面。这也就是说,假定四条边界线现在是未知的。首先,应给出由两角点P00和P10及两角点处的切向量Qv0(0)和Qv0(1)产生的v=0对应的曲线边界线:F0(u)P00+F1(u)P10+F2(u)Qv0(0)+F3(u)Qv0(1)u0,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)u0,1(9.1.17)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论于是我们可以给出v=0对应的曲线边界线各点关于参数v的切向量:F0(u)Qv0(0)+F1(u)Qv0(1)+F2(u)Puv(0,0)+F3(u)Puv(1,0)u0,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)u0,1(9.1.19)现在我们就可以定义仅仅利用四个角点数据信息的插值曲面:第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论 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)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论此式定义的 P(u,v)满足P(0,0)=P00,P(1,0)=P10 P(0,1)=P01,P(1,1)=P11P(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)为第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论S(u,v)=F0(u)F1(u)F2(u)F3(u)P(u,v)=-1 F0(u)F1(u)F2(u)F3(u)(9.1.23)(9.1.24)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论类似地,式(9.1.24)也可写为如下形式:P(u,v)=-1 F0(u)F1(u)F2(u)F3(u)(9.1.25)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论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代入上式可得四个角点处的扭矢为第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论Puv(0,0)=Pv(1,0)-Pv(0,0)+Pu(0,1)-Pu(0,0)-CPuv(0,1)=Pv(1,1)-Pv(0,1)+Pu(0,1)-Pu(0,0)-CPuv(1,0)=Pv(1,0)-Pv(0,0)+Pu(1,1)-Pu(1,0)-CPuv(1,1)=Pv(1,1)-Pv(0,1)+Pu(1,1)-Pu(1,0)-C3.孔斯曲面扭矢相容性从方程(9.1.20)中的边界信息矩阵看,以角点P(0,0)处扭矢为例,它既应是Pv(u,0)=Qv0(u)对u求偏导后置u=0得到(9.1.28)(9.1.29)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论也应是Pu(0,v)=Ru0(v)对v求偏导后置v=0得到有两种解决这一问题的方式:一是实际情况许可时调整所给的原始数据,以使不相容性消失。二是在原始数据不能改变的情况下,可以采用称之为格里戈里正方形的方法。该方法使用可变扭矢替代式(9.1.24)中的固定扭矢。可变扭矢定义如下:(9.1.30)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论(9.1.31)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论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)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.2 双线性与双三次参数曲面双线性与双三次参数曲面9.2.1双线性参数曲面定义及其表示式(9.1.7)中的S(u,v)对两个参数分别为线性,其几何意义也非常明确,只需要知道四个角点的位置就可以了,所以式(9.1.7)可称为双线性参数曲面的几何表示形式。写成一般代数形式时有如下表达式:(u,v)0,1;0,1(9.2.1)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.2.2双三次参数曲面定义及其表示式(9.1.23)中的S(u,v)对两个参数分别为三次多项式,可称为双三次参数曲面的几何表示形式。写成一般形式时有如下表达式:可用矩阵表示为(9.2.2)(u,v)0,1;0,1(9.2.3)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论下面我们推导两种表达式之间的关系。注意到有 F(t)=2t3-3t2+12t3+3t2 t3-2t2+tt3-t2=1t t2 t3其中的44矩阵用M表示,则式(9.1.23)可重新表示为(9.2.4)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论S(u,v)=1 uu2u3M(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)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论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。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.3成网状分布的16个数据点第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论于是由式(9.2.2)可得16组方程:A00+v1jA01+v2jA02+v3jA03+u1iA10+u1iv1jA11+u1iv2jA12+uiiv3jA13+u2iA20+u2iv1jA21+u2iv2jA22+uiiv3jA23+u3iA30+u3iv1jA31+u3iv2jA32+u3iv3jA33=Pij i,j=0,1,2,3定义16维向量:A=A00A01A02A03A10A11 A12A13A20 A21A22A23A30 A31A32A33(9.2.8)(9.2.7)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论和P=P00P01 P02P03P10P11 P12P13 P20P21 P22 P23P30 P31 P32 P33(9.2.9)再定义1616矩阵,其ij+1行由式(9.2.7)的Pij对应的方程中各个未知量Amn前面的系数依次组成:第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论(9.2.10)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论如果定义矩阵则矩阵B有如下的分块表示:(9.2.11)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论有了上述记号,式(9.2.7)可用矩阵表示为BA=P(9.2.12)现在求解双三次参数曲面就是求解一个线性方程组,解为A=B-1P(9.2.13)实际的情况常常比较简单一些:其中有12个已知点是在曲面片的四条边界线上的,这时参数的取值为u0=v0=0,u3=v3=1,矩阵V可简化为第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论这时矩阵B有如下的分块表示:如果进一步选取u1=v1=1/3,u2=v2=2/3为固定值,则矩阵V和B就是常数矩阵了,求解过程也可以进一步简化。(9.2.14)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.2.4常用曲面的参数形式 1.平面块的参数形式平面的参数表示形式为P(u,v)=P00+uTu+v Tv(u,v)0,1;0,1(9.2.15)它表示以 P00为顶点,Tu、Tv为边的平行四边形平面块,如图9.4所示。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.4平面的双三次参数表示第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论若假设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)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论它在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=第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论P(0,0)P(0,0)+TvTvTvP(0,0)+TuP(0,0)+Tv+TuTvTvTuTu00TuTu00或在已知三个角点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)00P(1,0)-P(0,0)P(1,0)-P(0,0)00A=(9.2.18)(9.2.19)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论2.柱面的参数形式柱面方程的一般参数形式为P(u,v)=P(u)+v Tv (u,v)0,1;0,1(9.2.20)其中:P(u)为任意的空间曲线,Tv为直线段的方向向量,参数v沿直线段方向变化。设P(u)为几何系数矩阵为G0=P0P1T0T1的参数三次曲线。另有一直线段,其一端为P0,另一端为P2。因此其几何系数矩阵为G1=P0P2P2-P0P2-P0。当直线段的端点P0沿G0给出的参数三次曲线平移时,它所扫成的曲面就是一个柱面,如图9.5所示。现在求这个柱面的双三次曲面表示形式的几何系数矩阵G。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.5柱面的双三次参数表示第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论由柱面的几何特性可知,柱面上的任何一点的扭矢为零。因此由 G0和G1不难得到P0P2P2-P0P2-P0P1P1+P2-P0P2-P0P2-P0T0T000T1T100由于假设P(u)为参数三次曲线,故不能为圆弧曲线。这说明圆柱面难以用双三次曲面表示。其它的含有圆弧曲线的曲面,如常见的旋转曲面也难以用双三次曲面表示。(9.2.21)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论3.直纹曲面设Pj(v),j=0,1为两条空间参数三次曲线,其几何系数矩阵分别为 Gj=P0j P1jT0jT1j,j=0,1。如果在这两条曲线的起点P00、P01之间连接一条线段,则这条直线段的两端分别沿其所在的参数三次曲线向曲线的另一端P10、P11同步移动,则直线段运动所构成的曲面就是直纹曲面,如图9.6所示。直纹曲面用一般参数形式表示为r(u,v)=(1-u)P0(v)+u P1(v)(u,v)0,1;0,1(9.2.22)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.6直纹曲面的双三次参数表示第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论显然,直纹曲面上任何一点的扭矢都为零。因此产生的直纹曲面的三次参数表示的几何系数矩阵 G为(9.2.23)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.3 Bzier 曲面曲面9.3.1Bzier曲面片的定义由式(9.1.23)定义双三次参数曲面的方式可以用来定义Bzier曲面。设有(m+1)(n+1)个点Pij,i=0,1,m,j=0,1,n。先固定i,我们即有(n+1)个点Pij,j=0,1,n,可以生成一条n阶Bzier曲线:u 0,1(9.3.1)按照此种方式,我们共定义出了m+1条Bzier曲线。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论对任意固定的u0,1,我们可以得到取自这m+1条Bzier曲线的m+1个点Qi(u),i=0,1,m,以这些点作控制点,我们又可以得到一条m阶Bzier曲线:把此式看作两个参数(u,v)0,1;0,1处的函数,就得到v0,1(9.3.2)(u,v)0,1;0,1(9.3.3)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论于是就定义了一个mn次Bzier曲面片。我们当然也可以按先固定j的方式生成一个Bzier曲面片方程,其几何结果是完全相同的一个Bzier曲面片。直观上,Bzier曲面是一条Bzier曲线在空间按另一条Bzier曲线运动所形成的轨迹。在此,我们先定义曲线,再通过“线动成面”的方法来定义Bzier曲面。用这种方式定义的曲面称为张量积曲面或笛卡尔积曲面。上式定义的是张量积Bzier曲面,它的两组基函数都是伯恩斯坦基函数。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论如同Bzier曲线有一个控制多边形一样,类似地,Bzier曲面也有一个控制多面体,上面给出的Pij是控制多面体的顶点,称为控制顶点。控制顶点沿i方向和j方向分别构成m+1个和n+1个控制多边形,它们一起组成曲面的控制多面体,也称控制网格。式(9.3.3)中的Bi,m(u)和Bj,n(v)分别是m次和n次伯恩斯坦基函数,即(9.3.4)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.3.2Bzier曲面片的性质(1)Bzier曲面片的四个角点正好是相应的Bzier控制网格的四个角点,即有P(0,0)=P00,P(1,0)=Pm0,P(0,1)=P0n,P(1,1)=Pmn(9.3.5)(2)Bzier曲面片具有几何不变性。(3)Bzier曲面片具有凸包性质。(4)Bzier曲面片在角点处的切平面为由该角点及其相邻的两个点共三个点决定的平面。例如在角点P00处的切平面为由P00,P01和P10三个点决定的平面。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论(5)mn次Bzier曲面片的四条边界曲线分别是m次和n次Bzier曲线。对于低阶的Bzier曲面片我们还有如下一些结论:(1)11的Bzier曲面片就是由式(9.1.7)。(2)22的Bzier曲面片由九个定义的曲面片S(u,v),其边界为四条直线段控制点确定,周围的八个控制点确定了Bzier曲面片在四个角点处的切平面,也确定了Bzier曲面片的四条边界线;中间的一个控制顶点 P11则指明了Bzier曲面片中间部分凸起或凹陷的方向,即凸凹的程度。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.3.3双三次Bzier曲面在实际应用中,用得最多的是33的Bzier曲面片,这时我们就称相应的Bzier曲面片为双三次Bzier曲面片。双三次Bzier曲面片的表达式为写成矩阵表达式为(u,v)0,1;0,1(9.3.6)(u,v)0,1;0,1(9.3.7)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论其中:(9.3.8)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论矩阵P所包含的是控制点的位置向量,它们确定了一个多面体,同时也确定了一个Bzier曲面片。显然,只有四个角点真正在曲面上。边界线上的控制点确定了四个角点的切平面,同时也确定了边界曲线的切线。中间的四个控制点P11、P12、P21和P22将影响着曲面片四个角点处的混合偏导向量,即扭矢。双三次Bzier曲面片显然也是一种双三次参数曲面片。两者相比较,双三次Bzier曲面片有很多优点,主要有如下几点:双三次Bzier曲面片直接用个点给出表达式,避免了确定切线向量和扭矢这些难以确定的量,个点给出的控制多面体大致反映了Bzier曲面片的形状,通过对控制顶点的直观修改、调整,就能实现对Bzier曲面片的修改、调整。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论根据Bzier曲线连接的条件可以看到,两个Bzier曲面片要求达到光滑连接,就需要在公共边界处有连续变化的法向量,即有连续变化的切平面,具体应满足:(1)如图9.7所示,公用一条边界曲线,即共同使用定义公共边界曲线的四个控制点:P03,P13,P23,P33 (9.3.9)这一条件保证了两个曲面片是位置连续的,即有共同的边界线。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.7两片Bzier曲面片的连接第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论(2)公共边界两侧八个控制顶点和定义公共边界的四个控制顶点分为四组,每组三点,则每组中的三点共线。而且,定义公共边界的四个控制顶点分别把共线线段分成等比例,即有(9.3.10)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.4 B-样条曲面样条曲面 9.4.1B-样条曲面片的定义类似于借助Bzier曲线生成Bzier曲面,我们也可以借助于B-样条曲线生成B-样条曲面。设给定(m+1)(n+1)个控制顶点 Pij,i=0,1,m;j=0,1,n(9.4.1)以及两列节点取值u0u1um+k+1(9.4.2)和v0v1vm+l+1(9.4.3)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论则可定义一个kl阶B-样条曲面其中:Nik(u)和Njl(v)分别是由两列节点定义的k阶 和 l阶 B-样 条 曲 线 的 B-样 条 基 函 数。而 由(m+1)(n+1)个控制顶点构成的多面体称为这个B-样条曲面的控制网格或称控制多面体。控制多面体的形状大体上反映了B-样条曲面的形状。(u,v)uk,um+1;vl,vn+1(9.4.4)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论类似于B-样条曲线的分类,B-样条曲面沿任一参数方向按节点序列取值的不同可以划分成四种不同类型:均匀、准均匀、分片Bzier与非均匀B-样条曲面。沿两个参数方向也可选取不同类型。特殊地,若两个节点序列取值分别为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)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.4.2双三次均匀B-样条曲面片公式33阶均匀B-样条曲面片也称双三次均匀B-样条曲面片,当我们把其参数由一般长方形参数区间变换到标准单位正方形参数区间上时,其方程可表示为P(u,v)=1 u u2u3APA(u,v)0,1;0,1(9.4.7)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论其中:(9.4.8)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.4.3B-样条曲面片的优点与Bzier曲面相比,B-样条曲面有以下主要优点:(1)多个B-样条曲面片的连接不需要考虑连接条件。当第一个曲面片被计算以后,不需要考虑连接条件,即可计算第二个曲面片,只是控制顶点矩阵P中的元素有部分改变。在双三次B-样条曲面上处处具有一阶和二阶连续性。因此各个相邻的双三次B-样条曲面片之间自动实现二阶连续性,也就不需要考虑双三次B-样条曲面片之间的光滑拼接问题。利用双三次参数曲面片和双三次Bzier曲面片解决这一问题都是很困难的。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论(2)B-样条曲面的控制网格的顶点数量不受限制,因此,B-样条曲面可表示比Bzier曲面复杂得多的曲面。同时,B-样条曲面的阶数不因控制顶点数目的增加而增加,保证了当控制顶点数目增加时,不增加计算的复杂程度。(3)B-样条曲面具有局部控制性质。当改变某个控制顶点时,只有那些与该顶点相关的几个B-样条曲面片的形状会发生变化,其余的B-样条曲面片的形状不会发生任何变化。(4)像B-样条曲线一样,B-样条曲面也具有比Bzier曲面更强的凸包性质。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.5 非均匀有理非均匀有理B-样条曲面样条曲面9.5.1NURBS曲面的定义我们可以完全类似地定义非均匀有理B-样条曲面。设给定(m+1)(n+1)个控制顶点和每点对应的权因子 Pij,ij0,i=0,1,m,j=0,1,n(9.5.1)以及两列节点取值u0u1um+k+1(9.5.2)和v0v1vm+l+1(9.5.3)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论则可定义一个kl阶非均匀有理B-样条曲面:其中:Nik(u)和Njl(v)是由两列节点定义非均匀有理B-样条曲线时的非均匀有理B-样条基函数。而由(m+1)(n+1)个控制顶点构成的多面体称为这个非均匀有理B-样条曲面的控制网格或称控制多面体。控制多面体的形状大体反映了非均匀有理B-样条曲面的形状。(u,v)uk,um+1;vl,vn+1(9.5.4)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论特殊地,若两个节点序列取值分别为u0=u1=uk+1=0,uk+2=uk+3=u2k+2=1(9.5.5)和 u0=u1=ul+1=0,ul+2=ul+3=u2l+2=1(9.5.6)则所定义的非均匀有理B-样条曲面就是kl阶有理Bzier曲面。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论33阶非均匀有理B-样条曲面片也称双三次非均匀有理B-样条曲面片。当我们把其参数由一般长方形区间变换到标准单位正方形区间上时,其方程可表示为(u,v)0,1;0,1(9.5.7)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论其中:第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论与双三次非均匀有理B-样条曲面片相对应的,我们也可定义出有理双三次Bzier曲面,其表达式完全类似于双三次有理均匀B-样条曲面,仅需把式(9.5.8)中的矩阵A用下面的矩阵代替即可:(9.5.9第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.5.2NURBS曲面表示的旋转面与多项式的这一类曲面相比,我们可以用有理B-样条或Bzier曲面精确地表示出球面或其它类型的包含圆弧线的曲面,如圆柱面、圆锥面及旋转体面等等。这些都是利用计算机进行辅助设计时经常用到的图形。下面我们以旋转曲面为例加以说明。一般旋转面由称为母线的曲线绕称为轴的直线旋转生成。如图9.8所示,定义一张旋转面最方便的方法是先在某个坐标平面譬如Oxz平面内定义一条母线L,然后将它绕其中的一个坐标轴如z轴旋转一周,则得一张完整的旋转面。若旋转不到一周,则得部分旋转面。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.8旋转曲面的NURBS表示第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论假设母线 L(u)为一条k次NURBS曲线,它的控制顶点和权因子为Pi,0,i=0,1,n和i,0,i=0,1,n,节点为ui,0,i=0,1,n+k。如图9.8所示,把表示母线的NURBS曲线与定义整圆的二次NURBS表示结合起来,就得到如下完整旋转面的方程的控制顶点、权因子和节点取值:当u固定不变时,曲面的截面线为圆,即参数v方向产生圆心在旋转轴上的圆弧线。因此我们对每个固定的i,把控制顶点Pi,0绕轴旋转一周得到一个整圆作为产生整圆的NURBS表示的第一个控制点,并由此推得整圆的NURBS表示的其它点。以图8.20中产生整圆NURBS表示的正方形的控制多边形为例,我们得到控制点Pi,j,j=0,1,8,相应的权因子i,j为i,0与整圆的NURBS表示各点相应权因子的乘积,也就是第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论v参数方向节点值的取值仍然依次为0,0,0,1/4,1/4,1/2,1/2,3/4,3/4,1,1,1作为旋转曲面,整球面可由半圆绕过两端点的直径轴旋转一周得到,如图9.9所示,其控制网格形成一个外切正方体。如图9.10所示,圆环面可由一整圆绕不与该整圆相交的轴线旋转得到。(9.5.10)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.9NURBS整球面第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.10NURBS圆环面第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.6 三角域上的三角域上的Bzier曲面曲面9.6.1三角域内的重心坐标在直线上,若已知两点A,B,则两点连线上任一点D可表示为 D=(1-t)A+tB 0t1 (9.6.1)现在假设在平面上已知三点A,B,C,则三点所连三角形内任一点P该如何表示呢?设O点为坐标原点,回忆直线的情况,上式可用向量形式表示为(9.6.2)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论当一点P在三角形ABC内时,类似可得于是,存在0s1和0t1,使得代入式(9.6.3)得(9.6.3)(9.6.4)(9.6.5)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论如果把ABC理解为一个数值,即看作是这个三角形的面积,则通常,我们用点坐标的形式表示出上述关系:P=uA+vB+wC(9.6.7)其中:0u1,0v1,0w1,u+v+w=1 (9.6.8)(9.6.6)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论并称(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三个顶点连线形成的三个小三角形的面积。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.11三角域内的重心坐标定义第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论限制条件0u1,0v1,0w1是为了保证点P位于三角形内。不满足此条件的重心坐标(u,v,w)仍可定义出平面上一点,但位于指定的三角形之外。根据重心坐标的几何意义不难给出其由三点表示的表达式。由于涉及到线段长度,其表达式很容易遇到开方运算。如果点是平面坐标系内的点,则有二维坐标表示:A=(ax,ay),B=(bx,by),C=(cx,cy)(9.6.9)则三角形的有向面积为(9.6.10)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论对于这个有向面积计算公式,无论点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)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论由此定义三角域上的n次Beinstein函数:其中:0u,v,w1,u+v+w=10i,j,kn,i+j+k=n依据i,j,k满足的条件可以推得三角域上的n次Beinstein函数共有(n+1)(n+2)/2个。这些函数可以直观地认为分布在如图9.12所示的三角阵列中。(9.6.13)(9.6.14)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.12三角域上的n次Beinstein函数的分布第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论不难看出,三角形的三条边上分别对应着u=0,v=0和w=0。在分别与u=0,v=0和w=0相应的边平行的直线上,相应的u,v或w保持不变,因此称为等参数线。相应于某条边上的所有n次Beinstein函数正好是单变量的所有n次Beinstein函数。三角域上的n次Beinstein函数具有类似于单变量的n次Beinstein函数的如下性质:(1)规范性:(9.6.15)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论(2)非负性:Bi,j,k(u,v,w)=uivjwk0(9.6.16)(3)递推性:9.6.3三角域上的Bzier曲面类似于Bzier曲线的定义,在三角域内每个节点i,j,k对应一个控制点Pi,j,k,则可立即写出一个曲面片表达式:(9.6.17)(9.6.18)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论其中:0u,v,w1,u+v+w=10i,j,kn,i+j+k=n (9.6.19)这就是三角域上的Bzier曲面。当所有分配在节点处的控制点Pi,j,k按照图9.12所示的节点连接方式连接在一起时,就形成了一张由三角平面块构成的一个多面体,这就是三角域上的Bzier曲面的控制多面体,或称控制网格。图9.13显示了二次和三次的三角域上的Bzier曲面及控制多面体。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.13三角域上的Bzier曲面及控制多面体第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论特别地,假设平面上三个点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)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.6.4三角域上的Bzier曲面的方向导向量由于三角域上的Bzier曲面的三个参数相互依赖,对某个参数求导在这里没有明确的意义。为了明确求导的实际含义,这里指定求某个指定方向的导向量。设有参数三角形一点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)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论于是P(u,v,w)=P(u0+ru,v0+rv,w0+rw)=B i,j,k(u0+ru,v0+rv,w0+rw)Pi,j,k对求导可得方向导向量其中:P1i,j,k=ruPi+1,j,k+rvPi,j+1,k+rwPi,j,k+1 i+j+k=n-10i,j,k0(9.6.25)(9.6.23)(9.6.24)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论需要提醒的是,由于重心坐标的三个分量之和始终为1,因此作为方向向量的 R=(ru,rv,rw)的三个坐标分量之和必然为零,即有ru+rv+rw=0。反复求导,对m=1,2,n可得一般的m阶方向导向量:P0i,j,k=Pi,j,k Pmi,j,k=ruP m-1i+1,j,k+rvP m-1i,j+1,k+rwPm-1i,j,k+1 i+j+k=n-m i,j,k0Pmi,j,k(9.6.26)其中:(9.6.27)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论利用此公式可求得对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.29)(9.6.28)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.6.5三角域上的Bzier曲面的性质1.与矩形域上的Bzier曲面的不同性质与定义在矩形域上的Bzier曲面相比,三角域上的Bzier曲面有如下不同性质:(1)参数平面上的定义域结构不同,定义方式也不同。(2)控制点间的相互关系不同,因而控制网格也不同。(3)矩形域上的Bzier曲面对两参数的依赖关系是不同的,三角域上的Bzier曲面对各个参数是完全对等的。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论2.与矩形域上的Bzier曲面的相同性质但是两者还是有一些共同的性质的。这一点可以从下面给出的三角域上的Bzier曲面片的性质看出。(1)Bzier曲面片的三个角点正好是相应的Bzier控制网格的三个角点,即有P(1,0,0)=Pn00,P(0,1,0)=P0n0,P(0,0,1)=P00n(9.6.30)(2)Bzier曲面片具有几何不变性,这可由n次Beinstein函数的规范性得出。(3)Bzier曲 面 片 具 有 凸 包 性 质,这 可 由 n次Beinstein函数的规范性和非负性得出。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论(4)Bzier曲面片在角点处的切平面为由该角点及其相邻的两个点共三个点决定的平面。例如在角点Pn00处的切平面就是由 Pn00,P(n-1)01和P(n-1)10三个点决定的平面。(5)n次Bzier曲面片的三条边界曲线分别都是n次Bzier曲线,其控制点就是沿相应边分布的,用来定义角域上的Bzier曲面的那些控制点。值得一提的是:一般的三角域上的Bzier曲面也不具有保凸性,即当控制多面体网格为凸时,相应的Bzier曲面可以不是凸的曲面。但是,特殊的函数型的三角域上的Bzier曲面具有保凸性。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论3.球面的三角域上的有理Bzier曲面表示三角域上的Bzier曲面也有有理表示形式:其中:0u,v,w1,u+v+w=1i,j,k0,n,0,00,0,n,00,0,0,n00i,j,kn,i+j+k=n图9.14仅给出球心在原点的1/8球面的三角域上的有理Bzier曲面表示。(9.6.31)(9.6.32)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.141/8球面的三角域上的有理Bzier表示第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.14表示出了定义1/8球面的三角域上的四次有理Bzier曲面的所有Bzier点。如果定义常数则对应图9.14排列的各点的具体坐标为(9.6.33)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论控制点列表P400P310P301P220P211P202P130P121P112P103P040P031P022P013P004第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论控制点坐标列表(0,1,0)(0,1,a)(a,1,0)(0,b,b)(c,1,c)(b,b,0)(0,a,1)(c,c,1)(1,c,c)(1,a,0)(0,0,1)(a,0,1)(b,0,b)(1,0,a)(1,0,0)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论如果定义常数各点对应权因子列表400310301220211202130121112103040031022013004(9.6.34)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论各点对应权因子取值444从各点对应权因子取值列表不难看出权因子相对各点的对称性。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论有了上述准备,相应的1/8球面用三角域上的四次有理Bzier曲面也可表示为(9.6.35)第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论习题习题 1.求出如图9.15所示的由两条半圆弧线和退缩为两点的两条曲线给定的四条插值边界曲线的双线性孔斯曲面。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.15习题1用图第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论2.编写一段程序,计算并显示出任意给定四点的双线性孔斯曲面。观察它与平面有什么不同。3.如图9.16所示,在半球面上指定四点,并以连接角点间的球面圆弧线作插值边界曲线。求出相应的双线性孔斯曲面。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论图9.16习题3用图第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论4.求出习题3对应的双三次孔斯曲面。其中计算所需要的当向量与球面的导向量相同。5.求出前面习题中相应的双线性和双三次参数曲面。它们与相应的双线性和双三次孔斯曲面是否相同?6.求出与前面习题中的双三次参数曲面相同的双三次Bzier曲面。求出生成双三次Bzier曲面的16个控制点。7.求出与前面习题中的双三次参数曲面相同的双三次均匀B-样条曲面。求出生成双三次均匀B-样条曲面的16个控制点。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论8.把由(1,0,0),(0,1,0),(0,0,1)三点确定的三角形平面片看作是定义在参数空间中(0,0),(1,0),(0,1)给 出 的 三 角 形 上 定 义 的 三 角 型Bzier曲面片。求(1)参数坐标点(1/3,1/3)对应的重心坐标(u,v,w)。(2)求此参数点对应的曲面上的点。第第9 9章章 计算机图形中曲面的设计理论计算机图形中曲面的设计理论9.给定三个点A(-1,0),B(1,0),C(0,1),并定义Pi,j,k=(x i,j,k,yi,j,k,zi,j,k)满足分别求n=1,2,3时定义在三角形ABC上的n次三角域Bzier曲面。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!