iCAx开思网

标题: 【转帖】NURBS概念 [打印本页]

作者: mr.shang    时间: 2002-5-14 12:43
标题: 【转帖】NURBS概念
NURBS是一种非常优秀的建模方式,在高级三维软件当中都支持这种建模方式。NURBS能够比传统的网格建模方式更好地控制物体表面的曲线度,从而能够创建出更逼真、生动的造型。NURBS曲线和NURBS曲面在传统的制图领域是不存在的,是为使用计算机进行3D建模而专门建立的。在3D建模的内部空间用曲线和曲面来表现轮廓和外形。它们是用数学表达式构建的,NURBS数学表达式是一种复合体。在这一章里,只是简要地介绍一下NURBS的概念,来帮助了解怎样建立NURBS和NURBS物体为什么会有这样的表现。
  
1.1 NURBS的定义
  
   NURBS是Non-Uniform Rational B-Splines的缩写,是非统一有理B样条的意思。具体解释是:
  
   .Non-Uniform(非统一):是指一个控制顶点的影响力的范围能够改变。当创建一个不规则曲面的时候这一点非常有用。同样,统一的曲线和曲面在透视投影下也不是无变化的,对于交互的3D建模来说这是一个严重的缺陷。
  
   .Rational(有理):是指每个NURBS物体都可以用数学表达式来定义。
  
   .B-Spline(B样条):是指用路线来构建一条曲线,在一个或更多的点之间以内插值替换的。
  
简单地说,NURBS就是专门做曲面物体的一种造型方法。NURBS造型总是由曲线和曲面来定义的,所以要在NURBS表面里生成一条有棱角的边是很困难的。就是因为这一特点,我们可以用它做出各种复杂的曲面造型和表现特殊的效果,如人的皮肤,面貌或流线型的跑车等。
  
1.2 度数和连续性
  
  所有的曲线都有Degree(度数)。一条曲线的度数在表现所使用的等式里面是最主要的指数。一个直线的等式度数是1,一个二次的等式度数是2.NURBS曲线表现是立方等式,度数是3.可以把度数设得很高,但通常不必要这样做。虽然度数越高曲线越圆滑,但计算时间也越长。一般只要记住Degree(度数)值越高曲线越圆滑就可以了。  
  
  曲线也都有Continuity(连续性)。一条连续的曲线是不间断的。连续性有不同的级别,一条曲线有一个角度或尖端,它的连续是是C0。一条曲线如果没有尖端但曲率有改变,连续性是C1。如果一条曲线是连续的,曲率不改变,连续性是C2,如图所示。
  
   一条曲线可以有较高的连续性,但对于计算机建模来说这三个级别已经够了。通常眼睛不能区别C2连续性和更高的连续性之间的差别。
  
  连续性和度数是有关系的。一个度数为3的等式能产生C2连续性曲线。NURBS造型通常不需要这么高度数的曲线。
  
  一条不同片断的NURBS曲线可以用不同级别的连续性。具体来说,在同样的位置或非常靠近的地方放置一些可控点,会降低连续性的级别。两个重叠的可控点会使曲率变尖锐。三个重叠的可控点会在曲线里建立一个有角度的尖角。附加一个或两个可控点会在曲线的附近联合它们的影响力。
  
  从可控点中删除一个离开它们,就增加了曲线的连续性的级别。在3DMAX里,Fuse(熔化)可控点会在曲线里建立一个假象的曲率或尖角。如果要恢复原状,Unfuse(反熔化)那个点就可以了。
  
1.3 Refine(精炼)曲线和曲面
  
   精炼一条NURBS曲线的方法是在上面加更多的可控点。精炼能更精细地控制曲线。当在3DMAX里精炼一条曲线的时候,软件会保持原始的曲率(从技术上说,它保持着统一的节点矢量)。换句话说,曲线的形状不会改变,但是相邻的可控点会从新加的可控点那里移开。
  
   NURBS曲面与NURBS曲线本质上有一亲的属性。




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3