QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

查看: 4022|回复: 1
打印 上一主题 下一主题

[分享] NURBS非均匀有理B样条曲线_认识

[复制链接]

等待验证会员

191

主题

1387

帖子

1704

积分
跳转到指定楼层
楼主
发表于 2015-5-22 15:43:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 破衣哥 于 2015-5-22 16:02 编辑

                                       NURBS非均匀有理B样条曲线_认识
----------------------------------------------------------------------------------------------
本文内容取自网络
    NURBS是一种非常优秀的建模方式,在高级三维软件当中都支持这种建模方式。NURBS能够比传统的网
格建模方式更好地控制物体表面的曲线度,从而能够创建出更逼真、生动的造型。
    NURBS是非均匀有理B样条曲线(Non-Uniform Rational B-Splines)的缩写,NURBS由Versprille
在其博士学位论文中提出,1991年,国际标准化组织(ISO)颁布的工业产品数据交换标准STEP中,把
NURBS作为定义工业产品几何形状的唯一数学方法。1992年,国际标准化组织又将NURBS纳入到规定
独立于设备的交互图形编程接口的国际标准PHIGS(程序员层次交互图形系统)中,作为PHIGS Plus的
扩充部分。Bezier、有理Bezier、均匀B样条和非均匀B样条都被统一到NURBS中。
    NURBS曲线和NURBS曲面在传统的制图领域是不存在的,是为使用计算机进行3D建模而专门建立的在3D建模的内部空间用曲线和曲面来表现轮廓和外形。它们是用数学表达式构建的,NURBS数学表达式
是一种复合体。NURBS样条一般运用于三维设计软件建模中,贝塞尔曲线则通常出现于二维图形软件里面。
曲线连续性
    所有的曲线都有Degree(度数),又称阶数或次数。一条曲线的度数在表现所使用的等式里面是最主
要的指数。一个直线的等式度数是1,一个二次的等式度数是2.NURBS曲线表现是立方等式,度数是3.
可以把度数设得很高,但通常不必要这样做。虽然度数越高曲线越圆滑,但计算时间也越长。一般只
要记住Degree(度数)值越高曲线越圆滑就可以了。
    曲线也都有Continuity(连续性)。一条连续的曲线是不间断的。连续性有不同的级别,一条曲线有一
个角度或尖端,它的连续性是C0。一条曲线如果没有尖端但曲率有改变,连续性是C1。如果一条曲线
是连续的,曲率不改变,连续性是C2。
    另外一种连续性的表示是几何连续性,G0、G1、G2、G3 可以通过恰当的参数变换得到相应的C0、C1
、C2、C3。一条曲线可以有较高的连续性,但对于计算机建模来说这三个级别已经够了。通常眼睛不能
区别C2连续性和更高的连续性之间的差别。连续性和度数是有关系的。一个度数为3的等式能产生C2连
续性曲线。NURBS造型通常不需要这么高度数的曲线。

    一条不同片断的NURBS曲线可以用不同级别的连续性。具体来说,在同样的位置或非常靠近的地方放
置一些可控点,会降低连续性的级别。两个重叠的可控点会使曲率变尖锐。三个重叠的可控点会在曲线
里建立一个有角度的尖角。附加一个或两个可控点会在曲线的附近联合它们的影响力。

从贝塞尔到B样条曲线

    贝塞尔曲线由起点、终点和其他控制点来影响曲线的形状。在二次贝塞尔曲线和三次贝塞尔曲线中,

可以通过调整控制点的位置而得到很好的平滑性(C2级连续性 曲率级)的曲线。当增加更多的控制点

的时候,这种平滑性就被破坏了。如下图所示,前两个曲线很平滑(曲率级的连续性),第三个曲线

在增加了一个控制点之后,曲线被拉伸了,其平滑性遭到了破坏。

B样条的工作方式类似于贝塞尔曲线,但不同的是曲线被分成很多段。每段曲线的形状只受到最近的

四个控制点的影响,这样曲线就像是4阶的贝塞尔曲线拼接起来的。这样很长的有很多控制点的曲线就

会有固定的连续性,平滑性(每一段都是c2级的连续性)。

NURBS定义

    NURBS是Non-Uniform Rational B-Splines的缩写,是非均匀有理B样条的意思。具体解释是:
    Non-Uniform(非均匀性):是指一个控制顶点的影响力的范围能够改变。当创建一个不规则曲面的时
候这一点非常有用。同样,统一的曲线和曲面在透视投影下也不是无变化的,对于交互的3D建模来说
这是一个严重的缺陷。
    Rational(有理):是指每个NURBS物体都可以用有理多项式形式表达式来定义。
    B-Spline(B样条):是指用路线来构建一条曲线,在一个或更多的点之间以内插值替换的。
简单地说,NURBS就是专门做曲面物体的一种造型方法。NURBS造型总是由曲线和曲面来定义的,所以
要在NURBS表面里生成一条有棱角的边是很困难的。就是因为这一特点,我们可以用它做出各种复杂的曲
面造型和表现特殊的效果,如人的皮肤,面貌或流线型的跑车等。
Bezier曲线、B样条和NURBS的区别
简单来说,就是:
   Bezier曲线中的每个控制点都会影响整个曲线的形状,而B样条中的控制点只会影响整个曲线的一部分,
显然B样条提供了更多的灵活性;
   Bezier和B样条都是多项式参数曲线,不能表示一些基本的曲线,比如圆,所以引入了NURBS,即非均
匀有理B样条来解决这个问题;

   Bezier曲线只是B样条的一个特例而已,而B样条又是NURBS的一个特例,它们的关系可以图示为:

B样条克服了Bezier曲线的一些缺点,Bezier曲线的每个控制点对整条曲线都有影响,也就是说
,改变一个控制点的位置,整条曲线的形状都会发生变化,而B样条中的每个控制点只会影响
曲线的一段参数范围,从而实现了局部修改


以上内容取自网络,如有错误请指正

    对于我们设计人员来说,不需要过多的去了解其计算过程,只需要了解其中一

些参数代表什么意思就行,比如度数,次数,以便于我们在设计过程中相关参

数的设置。

------------------------------------------------------------------------------


精诚网_3D设计师的家园www.creoug.com




有奖推广贴子: 

回复

使用道具 举报

等待验证会员

8

主题

484

帖子

635

积分
沙发
发表于 2015-5-22 19:32:05 | 只看该作者
受教了。谢谢分享。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

 
 
QQ:1359218528
工作时间:
9:00-17:00
 
微信公众号
手机APP
机械社区
微信小程序

手机版|UG爱好者论坛 ( 京ICP备10217105号-2 )    论坛管理员QQ:1359218528

本站信息均由会员发表,不代表本网站立场,如侵犯了您的权利请联系管理员,邮箱:1359218528@qq.com  

Powered by UG爱好者 X3.2  © 2001-2014 Comsenz Inc. GMT+8, 2024-6-7 18:42

返回顶部