入门介绍
Rhino 的基本几何物件包括:点、曲线、曲面、多重曲面、实体、轻量型挤出物件、细分曲面以及多边形网格物件。本章将详细介绍 Rhino 建模的数学基础。
本章介绍了 Rhino 支持的不同几何类型。本质上,这些几何物件是指 Rhino 可以读取(打开)、创建和写入(保存)的物件。
几何物件类型
在此语境下,几何类型指的是在 CAD 建模中用不同数学函数表示三维形状的不同方式。不同的建模软件支持不同的几何类型,其中最常用的类型是 NURBS 和网格。支持多种几何类型具有两个主要优势:
- **满足不同需求:**每种几何类型都有其优势,在创建特定形状或用于后续操作(如数字雕刻或制造)时更为方便。
- **与其他程序的兼容:**用于从只支持特定几何类型的其他应用程序中导入或保存文件。
Rhino 支持的几何物件类型如下:
- NURBS 几何物件
- 细分曲面 (SubD)
- 多边形网格
Rhino 可以在不同的几何类型之间自由转换。其中一些转换非常简单,而另一些则需要更多操作。
NURBS 是 Rhino 的主要几何类型,能够实现高精度的自由形态建模,并保持严格的公差。它既提供了设计所需的自由形态,又可将几何体用于制造。接下来,我们将详细介绍 NURBS 物件类型。
NURBS 几何物件
NURBS (non-uniform rational B‑splines) 可以精确建模各种形状,从简单的二维线条、圆、圆弧或立方体,到最复杂的三维自由形态有机曲面或实体。由于 NURBS 具有灵活性和高精度,NURBS 模型可用于各种流程,从插图和动画制作到制造加工。
NURBS 几何体是 3D 设计师的行业标准,在 3D 领域,自由流动的形状以及功能与形式的平衡至关重要。Rhino 广泛应用于船舶、航空航天、汽车内外饰设计。此外,家庭和办公电器、家具、医疗及运动器材、鞋类以及珠宝制造商也使用 Rhino 来创建自由形态的造型。
点
点
物件可标记 3D 空间中的单一一个点。它们是 Rhino 中最简单的物件。点可以放置在空间中的任意位置。它们由 X、Y 和 Z 坐标定义,常用作占位符。一般来说,曲面、网格或 SubD 的控制点/顶点与之等效。使用
Point
指令可在 Rhino 中建立此物件类型。
曲线 (NURBS)
Rhino 曲线 类似一段线材。它可以是直的,也可以弯曲的,可开放或闭合。多重曲线是由多条曲线头尾相接而成。
你也可以使用曲线控制点绘制曲线,或者绘制经过选定点的曲线。
曲面 (NURBS)
曲面 类似一张矩形的、有弹性的橡胶片,没有厚度。NURBS 曲面既可以表示简单形状,如平面和圆柱体,也可以表示自由形态的雕塑曲面。曲面可以是开放的或闭合的。当曲面闭合时,它也可以被称为 实体 ,因为闭合曲面可以用于计算体积。
在 Rhino 中建立曲面主要有两种方法:
- 从原始曲面开始。
- 从现有曲线开始。
曲面构造
让我们了解曲面的一些可见元素。曲面的一个重要组成部分是 控制点 结构。要显示控制点,请选取物件并按 键。
-
控制点 可以定义 NURBS 曲线或曲面的形状。大多数情况下,控制点并不直接落在曲面上。它们以类似网格的方式排列,用于保持曲面的形状。移动这些控制点会改变物件的形态。
-
结构线 是一组穿过曲面的可见线,用于帮助理解曲面在空间中的流向和形态,通常称之为结构线。它们可以帮助你可视化曲面的形状,但不定义曲面本身。结构线只是视觉辅助,方便你在屏幕上看到曲面。当选中曲面时,其所有结构线都会被高亮显示。
-
边缘曲线界定曲面的边界。你可以识别出边缘线,因为它们显示的颜色比结构线略暗。在 多重曲面 中,它们定义了构成该多重曲面的每一个曲面片段的外边界。
-
曲面接缝是旋转曲面或由闭合曲线挤出生成的曲面中的一种特殊边界情况。从本质上讲,它是曲面在自身“首尾相接”以闭合时形成的那条边界。
曲面属性
曲面方向
NURBS 曲面具有四边形的特征。您可以通过 控制点 结构和 结构线 的方向注意到这一点。因此,我们讨论两个方向,通常称为 U 方向和 V 方向。
开放 vs 封闭曲面
开放曲面
封闭曲面
曲面可以是开放的或闭合的。开放曲面是一种表示形状的薄片几何体,但没有厚度。可以将其想象成一张橡胶片或纸张。你可以从上方左侧图中看到该曲面,其中蓝色显示的面为曲面的背面。尽管你无法看到闭合曲面的内部,但它实际上表示的是一个空腔物件。可以将其想象成一个充气的气球(右图)。
未修剪 vs 修剪曲面
未修剪曲面
修剪曲面
未修剪曲面是指所有边缘均为"原始" NURBS 曲面边缘。 除去奇异点之外,一个未修剪曲面始终具有四条边缘。这些都是真正的数学意义上的边缘。使用未修剪曲面有以下几个优点:
修剪曲面是在用曲线或其它曲面修剪
Trim
或
Split
分割曲面时而生成的。某些指令,例如
PlanarSrf
,可以直接建立修剪曲面。
即使修剪后可见的曲面部分并非矩形,其形状仍然由一组按矩形阵列排列的
控制点
所定义。
判断曲面是否被修剪非常重要,可以使用
Properties
指令来查看曲面是修剪还是未修剪状态。
未修剪曲面的实际范围可能大于修剪后的边缘,但你看不到底层曲面,是因为 Rhino 不会绘制修剪曲线之外的曲面部分。每一个修剪曲面都会保留其底层曲面几何信息。您可以使用
Untrim
指令移除修剪边界,还原"原始"或"自然"的边缘。
如果有一条修剪曲线跨越曲面,该修剪曲线本身与曲面的控制点结构并不存在真正的几何关联。你可以通过选中修剪曲面并打开其控制点 (选中它并按 ) 来验证这一点。此时,你会看到的是整个底层曲面的控制点结构。
奇异点
奇异点是指边缘被收缩并塌缩为单个点。由曲线绕轴旋转生成的曲面,通常会在旋转轴处产生奇异点。可以将其理解为球体的极点。
阶数(曲线或曲面)
四个要素定义 NURBS 几何物件:
- 阶数
- 控制点
- 节点( Knot )
- 估计法则
NURBS 函数是有理多项式。 NURBS 函数的阶数即为多项式的阶数。 多项式是类似 y = 3x^3 –2x +1 的函数。多项式的"阶数"是变量的最高次幂。例如,3x^3 –2x + 1 的阶数为3,–x^5 + x^2 的阶数为5,等等。
从 NURBS 建模的角度看,阶数 −1) 表示在每个跨距中所能产生的最大弯折次数。这决定了你对曲线形状能够施加多大程度的影响。
例如:
-
一条阶数为 1的直线。它有两个控制点。它没有弯曲。
-
抛物线、双曲线、圆弧和圆(圆锥曲线)的阶数均为2。这些曲线有三个控制点,一个弯曲。
-
三次 Bézier 曲线的**阶数为 3 **。如果将其控制点排列成锯齿状,可以得到两个弯折。
控制点
控制点用于影响曲线或曲面的形状。每个控制点都包含诸如位置、方向和权重等信息。通过移动控制点的位置,你可以对曲线或曲面的形状进行细微调整。Rhino 提供了多种用于编辑控制点的工具,后续教程中将介绍控制点的操作方法。
当你移动控制点时,曲线或曲面会发生变化,Rhino 会对其进行平滑重绘。Rhino 的变动指令,例如
Move
、
Copy
、
Rotate
和
Scale
可以用于操作单个或多个控制点。
多重曲面 (NURBS)
多重曲面 是由两个或多个曲面连接而成的。当多重曲面封闭了一个空间体积时,就定义为一个实体。
SolidPtOn
指令可用于打开多重曲面的控制点,其作用类似于控制点。但在编辑这些点时,应尽量沿线性方向进行约束移动,以保持对象的整体结构不被破坏。
实体
实体 是指包含一定体积的曲面或多重曲面。只要曲面或多重曲面完全闭合,Rhino 就会将其视为实体。Rhino 可以创建多种类型的实体,包括:单曲面实体、多重曲面实体、挤出实体、网格实体、SubD 实体。
单个曲面也可以通过自身包裹并连接形成实体。范例指令包含
Sphere
、
Torus
和
Ellipsoid
。
控制点
可以在单曲面实体上显示,并通过移动控制点来改变曲面的形状。
Rhino 的一些指令可以建立多重曲面实体。
Pyramid
Cone
和
TruncatedCone
是建立多重曲面实体的例子。
SubD 几何物件
Rhino 的 SubD 物件 是基于 Catmull-Clark 细分算法的高精度细分曲面,旨在快速建模和编辑复杂的有机形态。
Rhino 中的 SubD 由顶点、边缘、和面组成。你可以通过推拉这些元素来塑造物件的形状。可以将 SubD 想象成一种黏土材料。
网格几何物件
网格 由顶点和多边形组成,用来描述多面体物件的形态。Rhino 中的网格由三角形和四边形构成。与 NURBS 一样,网格可以是开放的,也可以是闭合的(实体)。
许多软件使用多边形网格来表示几何体,因此其广泛应用于渲染、动画、数字制造、可视化和有限元分析中。
Mesh
指令可以将
NURBS
几何物件转换为多边形网格。Rhino 能够读取和写入多种网格文件格式。要创建网格物件,可使用诸如
MeshSphere
、
MeshBox
、
MeshCylinder
之类的指令。
此外,Rhino 还提供了多种用于编辑和处理网格的指令。
轻量化挤出物件
轻量化挤出物件
只需要轮廓曲线和长度作为输入,而不需要通常用于
NURBS
物件的曲线网格。
Box
、
Cylinder
、
Tube
和
ExtrudeCrv
指令可以创建挤出物件。挤出物件可以带平面封顶或保持开放。
如有必要,一些指令会将这些物件转换为多重曲面,以添加编辑所需的附加信息。使用
PointsOn
指令或按
可以开启挤出物件的控制点。
