- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 曲线曲面表示 曲线曲面的表示是计算机图形学的重要内容。它是描述物体外形、建立物体数学模型的有力工具。 在计算机图形学中,曲线曲面都是采用分段或分片参数多项式的形式。 采用分段参数方式有很多好处:曲线曲面形状不依赖坐标系的选取;有直观简便的人机交互手段;容易离散生成;造型灵活、易于拼接。 本章介绍一些常用曲线曲面的算法和性质。 显式、隐式和参数表示 曲线(面)的显式表示:y=f(x) 曲线(面)的隐式表示:f(x,y)=0 曲线(面)的参数表示:x=x(t),y=y(t) 显式表示特点:每一个x值只能对应一个y值;不能表示封闭或多值曲线,例如圆。 隐式表示特点:可以表示封闭或多值曲线。 非参数表示(显、隐)特点:与坐标轴相关;会出现斜率无穷大情况;非平面曲线(面)难以常系数函数表示;不便于计算和编程。 参数表示 点的每一个坐标都表示成参数变量的函数 参数整个变化范围对应整条曲线,但往往只对某一部分感兴趣,通过规格化使参数的变化范围限制在[0,1]中。 参数方程的优越性 有更大的自由度来控制曲线(面)的形状。如一条二维三次曲线显性表示:y=ax3+bx2+cx+d,只有四个系数可用来控制曲线(面)形状, 非参数方程表示的曲线(面)变换时必须对每个型值点进行变换;参数方程表示的曲线(面)变换时可直接对参数方程进行几何变换,节省计算量 便于处理斜率为无穷大的问题,不会因此中断计算 规格化参数变量变化范围为[0,1],不必为参数定义边界 易于用矢量和矩阵表达,简化了计算 参数曲线定义 一条三维曲线的参数形式:x=x(t),y=y(t),z=z(t),0≤t ≤1 曲线上任意一点可用矢量p(t)=[x(t),y(t),z(t)]表示。起始点在t=0处,即p(0),终点p(1)在t=1处 曲线上任意一点切矢量表示了曲线上该点的切线方向,可以表示曲线在该点处的走向。切矢量表示为:p’(t)=[x’(t),y’(t),z’(t)] 。起始点t=0处切矢量,为p’(0),p’(1)表示在终点t=1处切矢量。 Bezier曲线 在空间给定n+1个点P0,P1,…,Pn,称下列参数曲线为n次Bezier曲线: 其中,Ji,n(t)是Bernstein基函数: 称折线为P0P1…Pn为P(t)的控制多边形;称点P0, P1,…,Pn为P(t)的控制顶点。控制多边形P0P1…Pn为P(t)的大致形状的勾画, P(t)是对P0P1…Pn的逼近。 Bezier曲线的性质(1) 端点的位置 P0和Pn是曲线P(t)的两个端点。 由式(9-1),(9-2)可得:p(0)=P0, p(1)= Pn 端点的切线 P(t)在起点处与P0P1相切,在终点处与Pn-1Pn相切 Bezier曲线的性质(2) 凸包性 P(t)位于控制顶点 P0, P1,…,Pn的凸包内 几何不变性 曲线的形状仅由控制点的位置决定,与所选用的坐标系无关。 交互能力 控制点的位置决定了曲线的形状,变换控制点位置,就可以改变曲线的形状。为人机交互确定曲线形状提供了手段。 Bezier曲线的拼接(1) 一段Bezier曲线常常不足以表现复杂的曲线。为了构造复杂的曲线,常用曲线拼接的方法,即用一段段的曲线首尾相连起来。 不同的问题在连接点对曲线连续性有不同的要求: 零阶几何连续:首位连在一起即可。不光滑。 一阶几何连续:在连接点处曲线方向相同。光滑,但变化趋势不同 二阶几何连续:两段曲线在连接处,不仅光滑连接,曲率也相同。 Bezier曲线的拼接(2) 设两段Bezier曲线P(t), Q(t)首尾相接 零阶几何连续就是要求:P(1)=Q(0)。 由Bezier曲线的Q(0)=Q0, P(1)= Pn , 所以要使两段两段Bezier实现零阶几何连续拼接,就要求Pn = Q0, 即前一段曲线的最后一个控制点和后一段曲线的第一个控制点重合。 Bezier曲线的拼接(3) 一阶几何连续就是要求:P’(1)=Q’(0)。 由式(9-1),(9-2)可得: P’(1)=n(Pn-Pn-1) , Q’(0)=m(Q1-Q0) Bezier曲线的拼接(4) 二阶几何连续就是要求:P”(1)=Q”(0)。 由式(9-1),(9-2)可得: P”(1)=n(n-1)(Pn-2Pn-1+Pn-2) =n(n-1)(Pn-Pn-1 + Pn-2 -Pn-1 ) Q”(0)=m(m-1)(Q2- 2Q1+Q0)= m(m-1)(Q2-Q1+Q0 -Q1) Bezier曲线的生成(1) 在实际应用Bezier曲线段绘制曲线时,常运用3次曲线,即n=3。这是因为: 一次曲线是直线,二次曲线是抛物线,它们表现复杂曲线的变化能力稍差;而三次曲线在一个小的局部,足够了。 次
文档评论(0)