Rhino中NURBS曲线质量控制技术的研究

时间:2022-09-20 08:41:10

Rhino中NURBS曲线质量控制技术的研究

摘要:文中阐述了NURBS曲线在Rhino建模过程中重要性,以及影响其质量的关键因素,并提供了几种改善NURBS曲线质量的可行性方法。

关键词:NURBS曲线;Rhino;CV点;权重;连续性

中图分类号:TP319文献标识码:A文章编号:1009-3044(2012)23-5718-04

Research on Quality Control of NURBS Curve in Rhino

YIN Qin1, WEI Qun2

(1.School of Electromechanical and Architectural Engineering, Jianghan University, Wuhan 430056, China; 2. School of Art & Design, Wuhan Institute of Technology, Wuhan 430205, China)

Abstract: The importance of NURBS curve in Rhino’s model building and the key factor that influences its quality are introduced, and several feasible methods of improving NURBS’ curve quality are provided at the same time.

Key words: NURBS curve; Rhino; CV point; weight; continuity

1概述

NURBS是指Non-Uniform Rational B-Splines(非均匀有理B样条曲线)的缩写,它是一种优秀的建模方式。相比传统的网格建模方式,它能更好的控制物体表面的曲率,便于得到更高质量的曲面。许多高级三维软件都支持这种建模方式。Rhino也是以NURBS曲线技术为核心的软件。

NURBS曲线是初学rhino最先接触的概念。学会画曲线不难,但画好曲线却并不简单。建模中的线就像建筑中的构架,基础没打好,房子是会倒的。初学者往往看不到曲线在建模过程中重要作用,不重视线的质量,导致模型很粗糙甚至出现错误。所以掌握高质量NURBS曲线的绘制方法,是学习rhino必需打扎实的基本功。

2决定曲线质量的关键因素

要学习如何绘制高质量曲线,必须先了解哪些因素决定了曲线质量的高低。这些因素包括:CV点的分布、权重、曲线的连续性。

2.1 CV点的分布

CV点是NURBS曲线的定义值,也是曲线调节最常用的控制点,通过改变CV的坐标值,就可以改变曲线的形态和位置。CV点的分布和数量对曲线的质量有重大的影响,在曲线形态相同的前提下:CV点数量越少越好;CV点分布越均匀越好。

首先我们来做一个关于CV点数量的对于曲线质量影响的实验。

两条看上去一模一样的曲线,如图1所示,左边由4个CV点组成,右边的曲线是经过Rebuild后变为10个CV点的曲线,如图1所示。如果不借助工具,我们无法看出这两条曲线有什么差别。曲率检测命令Curvature Graph可以直观显示出曲线曲率的走势,便于我们判断曲线质量的好坏。使用Curvature Graph后,我们看到了左边的曲率线非常平滑,而右边的曲率线有明显的转折。由此应证了同样形态下CV点数量越少,曲线质量越好的原则。

下一个实验是关于CV点的分布对于曲线质量的影响。

画一条曲线,再将其复制到右边,并且在这条复制的曲线上加几个点。两条曲线看上去是一样的,打开Curvature Graph,发现右边加点部分的曲率线突然变密了,如图2所示。曲线因为CV点的分布不均匀而变得复杂了,曲线的质量也随之降低。

2.2 weight权重

Weight在rhino中指的是权重的意思,权重可以理解为CV点对曲线的引力。权重越大,曲线就越靠近CV点;权重越小,曲线越远离CV点。我们用CV点绘制的自由曲线都是没有调整权重的曲线,也就是曲线上每一个CV点到曲线的距离是相等的。标准几何曲线如圆、抛物线等等都是通过调整曲线的权重值得到的。我们运用调节权重的办法就可以改变曲线形态而不增加CV点。下面来做个实验,同样形态的曲线,用两种不同的方法来绘制,哪条曲线的质量更高呢?左边使用加点的办法,右边是增大转折处CV点的权重的办法。再将两条曲线通过挤压命令变成曲面,如图3,可以看到左边的网格线明显更复杂,而右边的曲面就显得很简洁。由此可见用加权重的办法绘制的曲线质量更好。

图3

2.3曲线的连续性

在建模中经常会使用复合曲线Polycurve,即由两条以上的曲线连接而成的曲线。连续性是绘制高质量的复合曲线时要考虑的问题。连续性是根据曲线的曲率等级进行划分的,在rhino中常用的是G0、G1、G2级别的连续。打开Curvature Graph,来看看不同级别的连续在曲率上有哪些特征。

2.3.1 G0连续

这是最基本的连续,两条曲线的端点重合就可以达到G0连续,但它们的曲率没有连续,如图4-a。从曲率图来看,两条线段连接处明显断开了。G0曲线有明显的折角,是不光滑的连接。

2.3.2 G1连续

G1连续的曲率图可以看到,如图4-b,两段曲率是连接在一起的,只是长度不一样。从外表上看,G1曲线光滑连接,但有不明显折角。最常见的G1连续方式是倒圆角。

2.3.3 G2连续

这是一种更光滑的连接方式,没有明显折角,对曲面的光滑程度要求较高的时候一般都使用G2连续。从曲率图上看,两段曲线的曲率是完全连接在一起的,如图4-c。

3优化曲线的技巧

模型的质量要从画线抓起,画线的质量要在放置CV点时就控制好,在绘制曲线时要应用CV点分布的原则:CV点数量越少越好;CV点分布越均匀越好。这个原则在一次曲线的绘制上非常有用,所谓一次曲线就是直接用CV点绘制的曲线。但建模过程中经常会出现二次曲线,比如两条或多条曲线连接而成的复合曲线,曲面和曲面之间的相交线,以及曲线在曲面上的投影线等等,这些曲线是通过采样数据拟合得到的,没有办法事先控制CV点的分布。而且这类型曲线的CV点数量多、分布不均匀,直接拿来构建曲面,往往质量不高,所以我们要对这些曲线进行处理。

3.1曲线优化命令

曲线在曲面上的投影、以及曲面和曲面的交线,可以使用下列命令来优化。

3.1.1 Rebuild重建

Rebuild可以改变曲线的CV点数量,让CV点的分布更均匀,但它不考虑误差因素,重建后曲线变形较大,如果对曲线的形态有严格要求,就不太适合用Rebulid命令。

3.1.2 Refit拟合

Refit的原理和Rebuild相似,也是通过改变CV点的数量和移动位置来优化曲线,但refit是可以控制变形误差的命令。通过输入公差值,可以把重建后的曲线和原曲线的偏差控制在一定范围内。所以Refit命令比Rebuild更实用一些。

3.1.3 Fair均化

Fair的优化原理是通过调节CV点的位置分布来优化曲线,也是通过公差来控制曲线的变形的程度。它和Refit命令一样,都是很实用的曲线优化工具。

3.2曲线的连续性命令

由多段曲线连接而成的复合曲线,需要调整线段之间的连续性才能保证其质量。Match curve匹配曲线命令可以使曲线达到G0-G2的连续性。匹配曲线命令的用法在很多教材中都提到过,这里也不赘述。匹配后的曲线虽然达到了光滑连接,但与原曲线在位置和形态方面都有较大偏差。如果是对曲线的形态和尺寸有很严格要求则不适合用这种方法。下面介绍一种直接绘制G2级别连接曲线的方法:

以Y轴为对称轴画一条曲线,再镜像到轴的另一边。要保证这两条曲线达到G2连续,两条线段的交点和相邻两点必须在同一条直线上,如图5,可以打开Curvature Graph检查,发现曲率是连续的,证明这两条线确实达到了G2连续。用这种办法就可以直接绘制出G2连续的复合曲线,而不需要再使用匹配命令。

4结束语

在绘制NURBS曲线时,要做到绘制前合理规划,绘制后及时检查并调整,确保得到高质量的曲线,为后面构建模型的面和体的工作打下坚实的基础。

参考文献:

[1]施法中.计算机辅助几何设计与非均匀有理B样条[M].北京:高等教育出版社,2001.

[2]蒋晓.Rhino 4.0中文版产品设计标准实例教程[M].北京:清华大学出版社,2011.

上一篇:浅谈山东英才学院图书馆自动化建设 下一篇:基于图像连通性不变文档水印算法的鲁棒性研究