第3章 Rhino中的主要指令及其原理

3.1 基本原理

3.1.1 精确计算与近似计算,公差的含义与设置

在Rhino中建立模型,其点、线、面、体都是由数学方程式计算得出的。建模需要进行大量的计算,有些计算会得出精确的结果,但绝大多数计算只能得到近似的结果。

我们都知道,圆周率是一个无限不循环小数,任何对圆周率的计算都只能得到一个近似结果。即使无限计算下去,其结果也只是对精确解的一种逼近。无限地提高精度,会消耗大量的系统资源,在工程实际中没有多大必要。因此,在数学计算中一般会先对圆周率设定一个精度值,如精确到小数点后2位数(即取值3.14),我们称其精确度为0.01。

与此类似,Rhino中同样有许多步骤无法得到精确解,只能得到一种近似结果。此时同样需要为计算设定一个精度值,告诉程序达到什么样的精度就可以停止计算。这个精度值就称为公差。

因此,新建一个模型之前,需要为其设定公差。其方法为:Rhino选项→单位→绝对公差。Rhino中的计算是双精度浮点数计算,也就是可以计算到小数点后十几位的程度,但设置过高的精度不仅会使计算时间大量增长,而且会使模型变得过于复杂,在实际设计和生产中意义不大。对于通常的产品设计,公差设置为0.01或者0.001即可。

3.1.2 与公差设置有关的指令

在Rhino中,与公差设置相关的指令有很多,如(组合)指令。两个曲线或曲面之间能否组合,取决于二者之间的距离是否在绝对公差的2倍范围之内。例如,把绝对公差设置为0.001,那么当两个曲面之间的间隙小于0.002时,就可以把两个曲面组合;如果有两个曲面之间的间隙为0.005,那么在当前绝对公差条件下,它们就无法组合在一起,除非我们把绝对公差设置得更大,如0.01。

其他与绝对公差有关的指令还有很多,如(从网线建立曲面)、(单轨扫掠)、(双轨扫掠)、(修剪)、(分割)、(物件交集)、(投影至曲面)、(将曲线拉至曲面)、(偏移曲线)、(偏移曲面上的曲线)、(偏移曲面)、(曲面圆角)、(不等距曲面圆角)、(以平面曲线建立曲面)、(不等距边缘圆角)、(不等距边缘斜角)、(布尔运算并集)、(布尔运算差集)、(布尔运算交集)、(布尔运算分割)、(混接曲面)、(整修曲线)和(以公差重新修整曲面)等。可以看出,Rhino中绝大部分命令都是近似计算,需要设定绝对公差值来确定其计算精度,因此我们要牢牢记住“Rhino模型是近似精确”这样一个概念。