浅谈3DS MAX中NURBS曲面的原理及应用

2012-04-29 13:18贺志宇
电脑知识与技术 2012年34期
关键词:控制点原理

贺志宇

摘要:用3DMAX设计产品模型时,自由曲面造型所占的比例越来越重,外型越来越趋向“流线型”,同时,要求自由曲面的造型必需能够局部地自由加以变更。NURBS不需要进行大量精确数据的测量和数学表达式的拟合,便可以方便地生成各种符合设计需求的造型。该文结合曲面造型的工作实践,对NURBS原理和曲面造型相关的理论及使用技巧和经验进行探讨。

关键词:NURBS;原理;造型元素;造型方法;曲面阶数;封闭;控制点

中图分类号:TP319 文献标识码:A 文章编号:1009-3044(2012)34-8272-02

NURBS它的全名为Non-UniformRationalB-Splines(非均匀有理B样条),具体说来Non-Uniform(非均匀)是指一个控制顶点的影响力的范围能够改变,当创建一个不规则曲面的时候这一点非常有用。Rational(有理)是指每个NURBS物体都可以用数学表达式来定义。B-Splines(B样条)是指用路线来构建一条曲线,在一个或更多的点之间以内插值来替换。

NURBS的特性在于其平滑的过渡性,它不会产生陡边和褶皱,因此非常适合有机物体或Chracter(角色)的建模和动画,它的建模不在于精确性,而在于艺术性——动画师的即兴发挥和灵活操作上。

1NURBS曲面原理

NURBS曲面物体是NURBS造型的基础,它已经逐渐成为工业曲面设计和建造的标准。在3D建模的内部空间用曲线和曲面来表现轮廓和外形时,NURBS建模能够比传统的网格建模方式更好地控制物体表面的曲线度,从而创建出更逼真、生动的造型。NURBS曲线和NURBS曲面在传统的制图领域是不存在的,它们是为使用计算机进行3D建模而专门建立的,尤其适合于创建由复杂曲线所构成的表面。它们是用数学表达式构建的,NURBS数学表达式是一种复合体。

在u向为p次、在v向为q次的NURBS曲面可表示为下列双变量有理多项式函数:

[S(u,υ)=i=0nj=0mNi,p(u)Nj,q(υ)ωi,jpi,ji=0nj=0mNi,p(u)Nj,q(υ)ωi,j],[0≤u,υ≤1]

其中Pi,j为控制顶点,ωi,j为权因子。

引进有理基函数的概念:

[R(u,υ)=Ni,p(u)Nj,q(υ)ωi,jk=0nl=0mNk,p(u)Nl,q(υ)ωk,l]

NURBS曲面可写为[S(u,υ)=i=0nj=0mRi,j(u,υ)Pi,j]。

由上可以看出,NURBS具有以下优点:

1)可以通过控制顶点和权因子来灵活地改变形状。

2)对插入节点、修改、分割、几何变换等的处理工具有利。

3)具有透视投影变换和仿射变换的不变性,缘于NURBS仅与控制顶点的位置有关,与坐标系无关。

2在3DSMAX中的应用

简单地说,NURBS就是专门做曲面物体的一种造型方法。NURBS造型总是由曲线和曲面来定义的,所以要在NURBS表面里生成一条有棱角的边是很困难的。就是因为这一特点,我们经常用它做出各种复杂的曲面造型,如人的皮肤、面貌或流线型的跑车等。

在3DSMAX中,NURBS造型系统的工作方式比较特殊,它可以建立原始的曲面和曲线,但编辑加工需要在修改命令面板中完成。

2.1曲面的类型

在3DSMAX提供了两种类型的NURBS曲面,如图1,分别是PointSurf(点曲面)和CVSurf(可控曲面)。

PointSurf(点曲面)是由矩形点陈列所构成的曲面,且这些点都存在于曲面上并显示为绿色。建立曲面时,用户可以修改曲面的长度、宽度及各边上的点数。

CVSurf(可控曲面)是由可以控制的点所组成的曲面,这些点并不存在于曲面上,而只是对曲面起到控制作用。每一个控制点都有重力值可以调整,用以改变曲面的形状。

2.2 NURBS造型元素和造型方法

NURBS造型系统由点、曲线、曲面3种元素构成,而曲线和曲面又分为标准型和CV(可控)型,可以在创建命令面板内或在一个NURBS造型内部完成它们的建立。

NURBS有以下几种造型方法:

1)在create(建立)命令面板中选定Geometry(几何体),单击NURBSSurfaces(NURBS曲面)中的PointSurf(点曲面)或CVSurf(可控曲面)选项,建立一个原始的NURBS曲面。当使用这种方法的时候,NURBS曲面只是一个原始的平面矩形,必须通过Modify(修改)命令面板来进行修改,或使用工具栏中的基本变动工具编辑造型。

2)任意建立一个标准几何体,在Modify(修改)命令面板中的修改堆栈中找到该几何体,右击选取Convertto:NURBS,则把一个原始几何体转化为NURBS物体,如图2。这里需要注意的是,只有标准几何体才能转化为NURBS造型,大部分的扩展几何体和合成物体都不能进行转化。但我们可以把TorusKnot(环形节)、Prism(棱柱)及Loft(放样物体)转化为NURBS物体。

3)在create(建立)命令面板中选定Shape(图形),单击NURBSCurves(NURBS曲线)中的PointCurve(点曲线)或CVCurve(可控曲线)选项,建立NURBS曲线。进入修改面板,在曲线次物体级内建立多个曲线,在CreateSurfaces卷展栏中使用Uloft(曲面放样)工具,进行放样造型。这种方法和网格物体放样方法相类似。

4)使用Spline曲线或NURBS的PointSurf(点曲面)或CVSurf(可控曲面),结合Lathe(旋转)或Extrude(挤压)进行变动修改,可以直接建立NURBS造型,并且在Lathe(旋转)或Extrude(挤压)面板中有NURBS输出选项。

2.3创建曲面时的注意点

1)曲面阶数越大,它越表现得光滑柔软。但是如果阶数太大,会增加系统计算量,导致计算机运行减慢,从而影响制作速度。一般而言,曲面之间的曲率使用3阶曲面就可以了。对一些要求光滑的多边界表面,可适当提高阶数。

2)NURBS曲面并不能做到真正的闭合,如圆柱体、球体等需要封闭的造型,实际上只是将起始边和结束边首尾相连而已。在建模时对曲面间的接缝深思熟虑,将其放在适当的位置,因为这些接缝会在布尔运算等操作时出现不准确的情况。

3)当曲面的部分控制点位置完全重合甚至产生交叉,这种情况会造成布尔运算失败,而且容易起皱,解决的办法是将产生奇异点的区域截去,再补上一个修剪面。

4)通过曲面上的曲线间原曲面裁剪去一部分,事实上原曲面并没有真正被裁剪,而只是将被裁剪部分不可见而已。修剪面能够解决NURBS曲面四边拓扑结构的不便,如可以开洞,如可以是多边形。

参考文献:

[1]严洪华.三维动画设计与制作教程[M].北京:电子工业出版社,2003.

[2]蒋维刚.3dsmax&NURBS曲面建模实战教程[M].北京:科学出版社,2004.

[3]和平鸽工作室.OpenGL三维图形系统开发与实用技术实用技术篇[M].重庆:重庆大学出版社,2003.

[4]潇湘工作室.3DSMAX4实例精解[M].北京:人民邮电出版社,2001.

[5](韩)朴光宇.3DSMAX艺术对堂[M].北京:电子工业出版社,2003.

[6]张宏军.AUTOCAD建筑制图技术与实践[M].北京:电子工业出版社,2007.

猜你喜欢
控制点原理
容斥原理
顾及控制点均匀性的无人机实景三维建模精度分析
了解咳嗽祛痰原理,有效维护健康
基于电力系统备自投实现功能原理概述
平均场正倒向随机控制系统的最大值原理
NFFD控制点分布对气动外形优化的影响
化学反应原理全解读
基于风险管理下的项目建设内部控制点思考
通信原理教学改革探索
相似材料模型中控制点像点坐标定位研究