贝塞尔曲面的拼接研究.doc_第1页
贝塞尔曲面的拼接研究.doc_第2页
贝塞尔曲面的拼接研究.doc_第3页
贝塞尔曲面的拼接研究.doc_第4页
贝塞尔曲面的拼接研究.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

贝塞尔曲面的拼接研究 本文由天空乐园大学生旅游网整理分享 2012 年 1 月Bezier曲线的连接及Bezier曲面的拼接摘要根据线动成面的思想由Bezier曲面的概念引入Bezier曲面的概念,Bezier实际上是先由控制顶点生成一个方向(设为v方向)上的Bezier曲线,然后在已竟形成的Bezier曲线上寻找控制顶点,生成另一个方向(设为u方向)上的Bezier曲线,形成控制网格,Bezier曲面是对该控制网格的逼近。同样,类似于Bezier曲线的性质介绍了Bezier曲面的端点性质、边界线位置、凸包性等比较常见的几个性质。几何设计中,一条Bezier曲线往往难以描述复杂的曲线形状。这是由于增加特征多边形的顶点数,会引起Bezier曲线次数的提高,而高次多项式又会带来计算上的困难,实际使用中,一般不超过10次。所以有时采用分段设计,然后将各段曲线相互连接起来。同样的,复杂的曲面用Bezier曲面相互拼接起来实现。根据光滑连续性的条件考虑连接处的光滑,从而实现Bezier曲线的光滑连接以及Bezier曲面的拼接。关键词:光顺连续性、Bezier曲线的连接、Bezier曲面的拼接、服装仿真1 引言 在虚拟现实和视景仿真应用中,天空仿真是必不可少的内容。无论是地面还是空中、海上的视景仿真,天空背景的真实感对用户来说能大大提高视觉享受和沉浸感。但是就目前来看,大部分软件和仿真平台对真实天空的模拟还都不太尽人意,例如著名的VEGA 仿真平台,不同气候条件下的天空仅仅是在不同颜色背景下几层贴上云纹理的平面,从地面上看去,云层明显的有一条水平的终结线。而一旦进入这些云层,就更加明显的感到是穿过了几层毫无体积感的纹理平面。 在现实生活中,人们对天空是再熟悉不过了。真实的天空是非常复杂的,从视觉角度分析,就有霞、雾、晕、晴、阴等等各种自然现象,而且整个天球在空间上也不是均匀体现某种颜色的,而是随着每天时间和天气状况的不同,有着千变万化的变化。所以要完全仿真真实的天空,不仅要有图形学方面的知识,还要具备天文和大气物理学的知识,由于我们对这些知识不甚了了,只能对天空的仿真进行简化。但经过我们的改进,与以上所提及的天空仿真来相比,达到了一定的真实感增强。 Bezier曲面是由Bezier曲线交织而成的曲面,一个复杂的曲面往往不能用单一的Bezier曲面来实现,要用几块Bezier曲面拼接起来。下面介绍的就是如何将Bezier曲线光滑连接起来以及如何将Bezier曲面拼接起来。2 基本理论光顺:通俗含义指曲线的拐点不能太多,曲线拐来拐去,就会不顺眼,对平面曲线而言,相对光顺的条件是:a)具有二阶几何连续性(G2);b)不存在多余拐点和奇异点;c)曲率变化较小。连续性:设计一条复杂曲线时,常常通过多段曲线组合而成,这需要解决曲线段之间如何实现光滑连接的问题,即为连续性问题。曲线间连接的光滑度的度量有两种:一种是函数的可微性,把组合参数曲线构造成在连接处具有直到n阶连续导矢,即n阶连续可微,这类光滑度称之为C n或n阶参数连续性。另一种称为几何连续性,组合曲线在连接处满足不同于C n的某一组约束条件,称为具有n阶几何连续性,简记为G n。曲线光滑度的两种度量方法并不矛盾,C n连续包含在G n连续之中。 图1 图2 图3对于上图所示二条曲线P(t) 和Q(t),参数,若要求在结合处达到G0连续或C0连续,即两曲线在结合处位置连续:P(1) = Q (0) 。若要求在结合处达到G1连续,就是说两条曲线在结合处在满足G0连续的条件下,并有公共的切矢: (1)当时,G1连续就成为C1连续。若要求在结合处达到G2连续,就是说两条曲线在结合处在满足G1连续的条件下,并有公共的曲率矢: (2)代入(11)得:这个关系为: (3)即Q”(0)在P”(1)和P(1)确定的平面内。为任意常数。当,时,G2连续就成为C2连续。在弧长作参数的情况下,C1连续保证G2连续,C1连续能保证G2连续,但反过来不行。也就是说C n连续的条件比G n连续的条件要苛刻。3 Bezier曲线的连接几何设计中,一条Bezier曲线往往难以描述复杂的曲线形状。这是由于增加由于特征多边形的顶点数,会引起Bezier曲线次数的提高,而高次多项式又会带来计算上的困难,实际使用中,一般不超过10次。所以有时采用分段设计,然后将各段曲线相互连接起来,并在接合处保持一定的连续条件。下面讨论两段Bezier曲线达到不同阶几何连续的条件。给定两条Bezier曲线P(t)和Q(t),相应控制点为Pi(i=0, 1, ., n)和Qj(j=0,1,., m),且令,如图所示,我们现在把两条曲线连接起来。(1)G0连续的充要条件是:Pn= Q0;(2)G1连续的充要条件是:Pn-1,Pn = Q,Q1三点共线,即(3)G2连续的充要条件是:在G1连续的条件下,并满足方程 (4)图4我们将、和,、代入,并整理,可以得到: (5)选择和的值,可以利用该式确定曲线段的特征多边形顶点,而顶点、已被连续条件所确定。要达到连续的话,只剩下顶点可以自由选取。 如果从上式的两边都减去,则等式右边可以表示为和的线性组合: (6)这表明、和五点共面,事实上,在接合点两条曲线段的曲率相等,主法线方向一致,我们还可以断定:和位于直线的同一侧。4 Bezier曲面的拼接如图所示,设两张mn次Bezier曲面片 (7)分别由控制顶点和定义。图5 Bezier曲面片的拼接如果要求两曲面片达到连续,则它们有公共的边界,即: (8)于是有。如果又要求沿该公共边界达到连续,则两曲面片在该边界上有公共的切平面。因此曲面的法向矢量应当是跨界连续的,而曲面的偏导切向矢量不必跨界连续,如下图所示,仅需Pv(1,v)、Qv(0,v)共线,Pu(1,v)、Pv(1,v),Qu(0,v)、Qv(0,v)共面即可。Pv(1,v)Pu(1,v)Qv(0,v)Qu(0,v)PQPQ图6由此: (9) 下面来研究满足这个方程的两种方法。(1)鉴于(31)式,(32)式最简单的取解(但更苛刻)是: (10)这相当于要求合成曲面上v为常数的所有曲线,在跨界时有切向的连续性。为了保证等式两边关于v的多项式次数相同,必须取(一个正常数)。于是有:即。如图所示为两张三次Bezier曲面的拼接示意图图7(2)(33)式使得两张曲面片在边界达到连续时,只涉及面和的两列控制顶点,比较容易控制。用这种方法匹配合成的曲面的边界,u向和v向是光滑连续的。实际上,该式的限制是苛刻的。为了构造合成曲面时有更大的灵活性,Bezier在1972年放弃把(33)式作为连续的条件,而以 (11)来满足(34)式,这仅仅要求位于和所在的同一个平面内,也就是曲面片边界上相应点处的切平面,这样就有了大得多的余地,但跨界切矢在跨越曲面片的边界时就不再连续了。其几何意义可以用下图解释,如下图所示的两张三次Bezier曲面的拼接条件仅需相应顶点满足共面即可,显然这一条件更为宽松。同样,为了保证等式两边关于v的多项式次数相同,须为任意正常数,是v的任意线性函数。为了实现多张曲面拼接,需要更多的自由度和更为宽松的条件才可能实现。为实现这一目标往往需要更高阶的曲面,对低阶曲面可通过升阶方法提高阶次。 5 一种植物花朵开花的动态仿真模型5.1 花朵的几何模型 花朵主要是由花枝、萼片、花瓣和花蕊等部分组成。但在数字娱乐应用领域,花瓣是花朵中形变最大的部分,是人们关注的焦点。基于此,本文将花朵模型简化为以花瓣为组成部分进行研究,花朵其他组件可依相似方法实现。本文以荷花为例,简化后的几何模型为里外两层花瓣, 每层为八片花瓣。计算机图形中常采用 Bezier 曲面来表示 植物器官的形态。因此本文采用双三次曲面来模拟花瓣的形态。Bezier 曲面中的控制顶点 bij(xi,yi,zi)在坐标轴上的缩放比例由花朵的生长函数控制,从而控制花瓣的各类生长 参数的变化,如花瓣面积变化率等。5.2 花朵拓扑模型的建立花开放朵是一个连续的过程,为了描述植物的动态生长过程,Prusinkiewicz对L系统进行扩展,提出了微分L系统,它采用连续的时间来取代一系列离散的迭代过程,以此来模拟植物生长过程中的离散/连续的情况。若模块 A()的参数 的取值范围在定义域 DA 的范围内,则 按照方程 fA ()连续变化,以此来表达植物生长过程的连续性(比如植物的枝干逐渐生长)。否则,A()被 B()以离散的方式取代,用以表达植物生长过程中质方面的变化(比如植物产生新的分支)。本文建立的花朵模型其拓扑结构用 L 系统可以描述为: Axiom: A(1, 2)Production1:A(1,2)-E(1,2)B(y1,y2)B(z1,z2)B(1,2)B(1,2)B(1,2)B(1,2)B(1,2)B(1, 2)Production2: B(1, 2)-B(1, 2)B(1, 2)其中,E 代表虚拟环境模块,花朵的生长需要与外界环境进行信息交换,小括号里的参数为量化后的环境信息,如 阳光、水分、温度、养分等。A 代表花蕾,B 代表花瓣, A、 B 小括号里的参数为控制花瓣 Bezier 曲面生长的各类参数,如花瓣面积变化率,花瓣生长角度等。由于微分 L 系统在进行产生式替换时,会发生拓扑结构 上的离散变化,本文采用基于几何约束的微分 L 系统,即在拓扑结构发生离散变化的情况下,模型在几何结构上,应当仍然是渐进、连续的,这样保证了花朵生长、开放过程的 连续性。5.3 动态生长函数 在生物学上,生长函数被用来描述连续生长过程,诸如结点间的伸长,分枝角度逐渐增大等。高等植物的生长函数呈S型,即起始时增长缓慢,后来逐渐加快,接近最大值 时,增长又趋向平缓。Prusinkiewicz 提出,采用 Velhurst 的 Logistic 函数来表示理想环境下植物的生长函数。由光顺的定义(通俗含义指曲线的拐点不能太多,曲线拐来拐去,就会不顺眼,对平面曲线而言,相对光顺的条件是:a)具有二阶几何连续性(G2);b)不存在多余拐点和奇异点;c)曲率变化较小)以及连续性的定义(设计一条复杂曲线时,常常通过多段曲线组合而成,这需要解决曲线段之间如何实现光滑连接的问题,即为连续性问题)得到了连接处光滑的条件,保证了Bezier曲线的连接和Bezier曲面的拼接。6 曲面的NURBS向分段有理Bezier表示形式的转化6.1 B样条曲面转化为Bezier曲面的经典算法对于k 次B样条曲线的节点矢量满足端点重复度为k+ 1, 内部节点的重复度为k 时, 则B 样条曲线就是一分段有理Bezier曲线, 重复节点之间的一段曲线就是一个有理Bezier曲线。基于此对于曲面的情况Boehm 提出过这样的思路: 对控制网格( k * k )逐行利用曲面节点插入技术直到每一行对应的u向内部节点( uk+ 1, um )的重复度全部达到k, 则将生成一张新的控制网格定义其为中间网格。再对这中间网格逐列执行插入算法直到每一列对应的v向内节点全达到h 重, 则整个中间网格最终可转换成Bezier网格。经过研究, 文中提出了一种改进的优化算法, 可简化整个转换过程。6.2 电磁散射计算中曲面的NURBS到Bezier转换的优化算法在电大尺寸的RCS计算中, 要求在NURBS 曲面转化过程简单易于实现计算量尽量的小, 并且转化后的Bezier曲面片最好都能够拥有单独的控制网格信息和规范的数据存储方式, 以便于后续的计算。上述% 逐行&, 再% 逐列&的经典算法直接从控制网格入手, 不但过程繁琐, 计算量大, 节点区间存在着重复处理而且对结果结果还需要进一步的处理来寻找相应的控制网格信息。由公式知NURBS控制网格的u向插值运算中的递推过程在不同的控制行里的步骤相同, 即递推涉及的控制顶点及权因子在每一行中对应相同的序号, 且由上式得出一个式子。基于这一特点处理NURBS 曲面时如果从节点矢量入手, 先根据内部非空节点区间的情况将控制网格剖分, 这样可在转化过程中实现分片处理的方法, 同时也可使结果直接反映出曲面片的个数, 有利于后面的电磁计算的展开。这样的方法也可以形象的比喻为切蛋糕的过程。先对u 向寻找非空节点区间段, 最多可找出m - k个区间, 根据找到区间将控制网格沿u向划分成对应的网格片。由于在“片”内每一行的曲面节点插入过程均一样, 因此分片处理可以简并相同递推量的计算, 将整“片”对应的节点矢量区间端节点插值k 为次重复度后即完成了对一个“片”的转化。同理依次从左到右直到所有的“片”都被处理完, 如图2所示, 则生成过渡网格。再对整个过渡网格进行v 向分“片”, 同理处理所有的片, 最后将生成一系列B ezier控制网格。这样一种处理方式下使插入算法原来要处理的(m - k )( n + 1) + ( n - h) (m + 1)个节点区间的情况缩减为(m - k ) + ( n- h)个, 减少了节点插入的次数, 避免重复的递推过程, 另外在对行执行节点插入计算时, 进一步再将B 样条曲线递推算法中不同级之间递推系数的关系推广到曲面上,同理对v 向, 这样一来可使需要计算的式子的横向递推系数和纵向递推系数的个数减少。图8 NURBS曲面 图9 有理贝塞尔曲面图107 适于网络试穿的快速三维服装仿真方法7.1 贝塞尔曲面贝塞尔曲面是一种最常用的曲面构造方法,是由法国雷诺汽车公司的工程师贝塞尔在20 世纪60 年代提出的。贝塞尔曲面能够模拟空间的任意形状曲面,服装的衣片曲面都能够通过贝塞尔曲面模拟获得。贝塞尔曲面的形状是由控制点集合所决定。控制点给定之后,贝塞尔曲面的形状和位置也就确定了。在实际应用中,m 和n 值均不宜超过5,否则网格对于曲面的控制力会减弱。设空间有(m1)(n+1)控制点,则所有的控制点构成的空间的一张网格称为控制网格。7.2 基于分片的三维服装仿真方法随着网络的发展,三维虚拟试衣成为当前亟待解决的一个热点问题。常用的有限元技术在进行三维服装仿真时,耗时较长,不能满足实际网上试衣的要求。依据服装裁剪的衣片划分思想,给出一种新的三维服装仿真方法,用贝塞尔曲面模拟数目较少的服装衣片曲面。该方法的步骤如下:(1)进行服装分片。参考服装裁剪技术,对服装进行衣片划分。(2)进行二次分片。贝塞尔曲面可以方便地模拟具有4 条或者3 条边界线的曲面,而对于大于4 条边界线的曲面则需要进行分割,因而为了方便模拟,需要对衣片进行再次分割。(3)衣片的贝塞尔曲面模拟。用贝塞尔曲面分别模拟各个衣片,并进行拼接,得到三维服装模型。(4)纹理绑定:最后把服装所用布料的纹理绑定在模拟后的三维模型上,增强真实感。以上步骤的详细描述如下:7.2.1 服装分片如前所述,在立体裁剪技术中,服装被横、纵基准线分成若干个衣片,这些衣片的划分依据主要为设计师在设计和裁剪该服装款式时所给出的服装分片结果。图1 给出了常见的上装衣片划分,图2 给出了常见的裤装衣片划分。对于其他常见的服装如裙装、风衣等,可通过参考服装的设计,得到其衣片划分结构。7.2.2 二次分片贝塞尔曲面能够直接模拟具有4 条或者3 条边界线的衣片曲面,因此对于边界线大于4 条的衣片曲面则需要再次分割。图3 为被基准线分成的衣片,其衣片标号为16。在上装模拟时,需要把衣片1 分割成衣片1.1 和1.2,衣片4 则被分割成衣片4.1 和4.2,如图4 所示。这样,服装划分为32 个曲面衣片,这些衣片都是具有3 条或4 条边界线。由于款式不同,服装划分得到的衣片数目也不一样。 图11基线分割的上装衣片 图12衣片的二次分割7.2.3 衣片的贝塞尔曲面模拟每个衣片都是一个空间曲面,可由贝塞尔曲面模拟生成。由于这些曲面的构造简单、弯曲弧度较平和,文章采用简单的二次贝塞尔曲面进行衣片曲面模拟。二次贝塞尔曲面的形状是由33 个控制点决定的。把位于贝塞尔曲面边界的控制点定义为“末端控制点”,如图5 所示的P0,0、P0,2、P2,0和P2,2。其他的控制点称为“中间控制点”。如图5中所示的P0,1、P1,0、P1,1、P1,2、P2,1。获得关键控制点成为算法的关键。根据贝塞尔曲线、曲面的性质,位于边缘的控制点容易获得(即曲线的端点)。“末端控制点”是由身体的关键尺寸得到的:身高、肩宽、后背长、胸围、腰围、臀围、裤长等。这些数据是裁剪技术中常用的,可以通过图13贝塞尔曲面简单的测量和服装裁剪知识计算得到。“中间控制点”的坐标则需要通过“末端控制点”利用空间几何的知识计算得到。通过分析发现,在衣服裁剪模型中,存在以下两种中间控制点:第一类是垂直中间控制点;第二类是水平中间控制点。在空间解析几何中它们的计算方式是不同的,公式(1)为垂直曲线的计算公式,公式(2)为水平控制点的计算公式。ax2+bx+c=zAx+By+Cz+D= 0(1)ay2+by+c=zAx+By+Cz+D=0(2)下面以衣片2 为例说明其“末端控制点”和“中间控制点”的计算。结合服装裁剪知识由腰围、胸围计算得到衣片2 上“末端控制点”P0,0、P0,2、P2,0和P2,2的坐标,以及在衣片上其他5个点q0,1、q1,0、q1,1、q1,2和q2,1的坐标,如图6 中(a)所示。然后根据公式(1)计算得到“中间控制点”P1,0、P1,2的坐标,根据公式(2)计算得到“中间控制点”P0,1、P1,1、P2,1的坐标,分别如图6 的(b)所示。最后由9 个控制点生成衣片2 的模拟二次贝塞尔曲面。图14 衣片2的控制点计算7.2.4 纹理绑定所有衣片的曲面模拟生成之后,利用纹理映射技术把服装布料的图案映射到相应的模拟衣片曲面上,完成服装的三维效果仿真。8 总结近些年来Bezier曲面的研究十分活跃,应用领域十分活跃,可应用于多种外形设计和精细处理,本文首先介绍了传统的用矩形控制网格逼近Bezier曲面的方法,然后提出一种用三角控制网格逼近Bezier曲面的改进方法,将二者成功的结合在一起;这种思想已应用于飞机外形的设计之中,使得Bezier曲面的研究成果在古典造型中得到应用,同时也会引起古典造型方法的进一步发展。参考文献1陈宇拓,杨卫民,熊秋波,胡亮

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论