网站大量收购独家精品文档,联系QQ:2885784924

8自由曲线曲面.ppt

  1. 1、本文档共147页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
e.??? 一般性 非有理B样条和Bezier、有理Bezier曲面是NURBS曲面的特殊情况; f.??? 可微分性: 在节点处 具有 次连续, 为节点重复度; g.不具有变差递减性: 图5.18 NURBS曲面 利用齐次坐标可将NURBS曲面表示如下: 例子: 令 并且: 计算曲面在 处的值; 因为 ,可得: 那么: 得到 SurfacePoint(n, p, U, m, q, V, Pw, u, v, S) { /* Compute point on rational B-Spline surface */ /* Input: n, p, U, m, q, V, Pw, u, v */ /* Output: S */ uspan = FindSpan(n, p, u, U) ; BasicFuns(uspan, u, p, U, Nu) ; vspan = FindSpan(m, q, v, V) ; BasicFuns(vspan, v, q, V, Nv) ; for(j=0; j=q; j++) { temp[j] = 0.0 ; for(k = 0; k=p ; k++) temp[j]=temp[j]+Nu[k]* Pw[uspan-p+k][vspan – q +1] ; } Sw = 0.0 ; for(j=0; j=q; j++) Sw = Sw + Nv[j]*temp[j] ; S = Sw / w ; } 2. NURBS的优点: 1)? 对标准的解析形状和自由曲线、曲面提供了统一的数学表示; 2)? 可通过控制顶点和权因子来灵活地改变形状; 3)? 对插入节点、修改、分割、几何变换等的处理工具有利; 4)? 具有透视投影变换和仿射变换的不变性; 5)? 非有理B样条、有理及非有理Bezier曲线、曲面是NURBS的特例; 3. NURBS曲线、曲面的基本算法 1)NURBS曲线、曲面的节点插入算法 设 为定义在 上的NURBS曲线,令 ;现在将 插入到U中,构造新的节点矢量: 其上的NURBS曲线为: 由此可得: 例子: 令 ,控制顶点为 ,插入 ; 由于 ,那么: 对于NURBS曲面,采用类似的方法处理相应的行或列; 2) 节点修正 有时需要将某些节点连续插入,称之为节点修正; 节点修正在以下方面具有实用价值: a.?????? 将NURBS曲线曲面分解为其他多项式形式; b.?????? 合并几个节点矢量获得一系列定义在一共同节点矢量上的曲线; c.?????? 得到曲线曲面的多边形近似; 设 为定义在 上的NURBS曲线,令 ;满足 以及 ,现在将 插入到U中,新的控制顶点为 需要重新计算,算法如下: 1)? 计算 使 ; 2) ,以及 不变,只需计算 个新控制顶点; 3)将新的节点矢量记为 ,拷贝两端未变的节点; 4)开始循环: a.? 计算新的控制顶点; b. ?将 , 中的元素融合到 中; 同样的方法可适用于曲面。 ? 3)节点删

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档