查看: 9889|回复: 9

[软件] #犀牛入门教程#Rhino绘制平面物体

[复制链接]

455

粉丝

398

关注

651

主题

顶级屋主

1114

PGB
1848 个
发表于 2013-9-17 19:17:35 | 显示全部楼层 |阅读模式
首先更正一下昨天讲课的一个错误,Rhino格线最大可以表达400M*400M的范围,建模区域为无限大(昨天我说成100M*100M了)

3.1 Rhino中的对象介绍.
Rhino中的对象包括点、点云、直线、曲线、闭合线、曲面、多重曲面、实体、网格等。
我们可以将上面的对象分为四类,同一类对象的本质其实是一样的。
点物体(点、点云)
线物体(直线、曲线、闭合线)
曲面(曲面、多重曲面、实体)
网格


3.1.1 点物体
_9_1a51910bd2a629b.jpg


Rhino关于点的命令位于主工具栏最上面一个图标。几乎所有的3D格式支持点物体,譬如在Autocad中的点导入到犀牛中仍是做为点物体而存在。在我们熟悉的sketchup中,点则是以辅助点而存在。
Rhino中还存在另一种类型的"点",曲线和曲面控制点,它不是这里所指的点物体,而是属于nurbs曲线和曲面的属性,要注意区分。我们后面开专题讲解。

3.1.2 线物体
Rhino中的线物体分为直线(polyline)、曲线(curve)、封闭线(圆、椭圆、多边形、文字)。
其命令的位置如图。
530250.JPG
直线(polyline):对比一下Autocad中的PL线,稍微不同的是,Rhino中的polyline可以塑造空间折线。但Autocad中的不能。
曲线(curve):Rhino中造型的最主要元素之一。它和直线在本质上都属于nurbs曲线,只是某些属性不同。
封闭线:封闭的nurbs曲线,封闭曲线和开放曲线在性质上有些不同,后面我们遇到再说。

3.1.3 面物体
面物体可分为曲面(surface)、多重曲面(polysurface)(polysurface和polygon没有任何
关系)、实体
曲面(surface):特指单个nurbs曲面,是Rhino中造型的最基本要素。
多重曲面(polysurface):指被链接 787560.JPG
而且又不形成封闭空间的一组曲面。Rhino中的曲面如果至少有一条边相接,则它们可以被链接。
实体(solid):封闭的单个曲面(如球体)或者形成封闭空间的多重曲面可称为实体。

249035.JPG
当几个物体重合在一起时,我们尝试选择某个物体,Rhino不会给出"实体"的判别,只有"曲面"和"多重曲面"两种选项,因此实体的本质就是以上两种物体。
677972.jpg
回复

使用道具 举报

455

粉丝

398

关注

651

主题

顶级屋主

1114

PGB
1848 个
 楼主| 发表于 2013-9-17 19:50:57 | 显示全部楼层
3.1.4 网格
Rhino中的网格(mesh)就是polygon对象,与它相关的命令在Rhino工具栏如下位置:
850472.JPG

网格对象也可以被链接,链接后的网格叫做\"多重网格\",网格在Rhino中只是辅助的建模元素,它只提供了少数几种几何造型,要得到复杂的网格需要从曲面转换而来。图标 920026.jpg 即是曲面和网格的转换按钮(左键从曲面转换到网格,右键从网格转换到曲面)。


3.2 点物体的绘制
3D软件中,点的使用通常只是为了实现一些辅助功能,例如帮助您在建模时确定位置,而且不能被渲染,一般的教程都会忽略这个部分。事实上,我个人在使用Rhino建模时很难会用到点,因为Rhino在物件琐点的功能上提供了全部我所需要的确定位置的功能。
701286.jpg

点在Rhino中表现为一个小方格,而且大小无论怎样始终不变,点不会属于任何其他物体的一部分。
关于点的命令如下:

649927.JPG

时间不允许我一个一个详细讲解,对这些命令有疑问的请稍后提出,关于点命令中需要注意的有以下几点。
①绘制点时输入坐标有鼠标取值和键盘输入坐标取值两种方式。
鼠标取值:A 鼠标直接在屏幕上取值,得到的点将在工作平面上。
          B 按住CTRL可进行两次取值,第一次取值XY坐标,第二次取值Z坐标。
键盘取值:格式为:x,y,z(英文输入法的逗号隔开)

301789.JPG

事实上请记住CTRL键的妙用,很多命令配合CTRL都可以在垂直于工作平面上的坐标取值。例如移动,直接鼠标拖动等。
②最近点(ClosestPt):其实质是0距离点,即在所选物体上创建一个据鼠标点击位置最近的点。物件琐点中的最近点也是如此涵义。

908952.JPG

:左键表示建立曲线起点上的点,右键表示建立曲线终点上的点。曲线的起点终点现在不必深究,它涉及到曲线内部的kont点编号,下节课对nurbs曲线的深入理解我们会讲。我们可以理解成在建立这根曲线时的顺序
④点云(PointCloud):将多个点合并成一个对象,这样可以使模型变小。Rhino中的点云用于3D逆向工程非常有用,例如使用3D扫描仪器输入到Rhino中会以点云形式存在,RHINO可以将点云转换为模型,最近有公司刚开发出了一款名为RhinoResurf的插件可以很好的把点云转换为Nurbs模型。
回复 支持 反对

使用道具 举报

455

粉丝

398

关注

651

主题

顶级屋主

1114

PGB
1848 个
 楼主| 发表于 2013-9-17 19:52:59 | 显示全部楼层
3.3 曲线绘制
Rhino可以绘制任何形状的线条。直线、多义线、圆弧、圆、椭圆、和自由曲线。
3.3.1 Rhino直线绘制
Rhino中的直线命令如下:
513801.jpg

光直线Rhino就提供了多达17个命令,常用的也就那么两三个,但考虑到建模时可能遇到各种情况,这些命令的确可以帮助我们节省时间,简单说明下需要注意的。

452560.jpg 四点绘制直线(FourPoint):前两点确定方向,后两点画直线。下面的等分直线命令类似。


513806.jpg 求两条直线垂线(2Curves):两条直线可能有多个垂线,所得垂线是据鼠标点击最近处。
您可以使用求两圆切线试一下。

186849.jpg


③在网格上绘制多义线(PolylineOnMesh):这很方便我们对导入的polygon模型进行加工。

553813.jpg


我们现在使用这些命令来搭建一个小房子框架(今天有类似练习但更为复杂的作业)
①在顶视图视窗使用多义线(polyline)绘制工具绘制6m*4m的矩形

784667.JPG

② 切换到透视图,打开物件琐点--端点,捕捉矩形顶点使用绘制工作平面垂线(Vertical)工具绘制垂线。
674071.JPG
③:连接这几个顶点,再用类似方法绘制出门和窗,一个房子框架就完成了。
355229.JPG
回复 支持 反对

使用道具 举报

455

粉丝

398

关注

651

主题

顶级屋主

1114

PGB
1848 个
 楼主| 发表于 2013-9-17 19:54:15 | 显示全部楼层
3.3.2 Rhino曲线绘制
Rhino曲线相关命令如下:
380427.jpg

说明:
451429.JPG 绘制CP曲线(Curve):CP点是影响曲线造型的点,这种曲线建立方式是nurbs曲线的最常用命令。
320124.JPG 绘制EP曲线(interpCrv):直接绘制曲线的内插点,是影响nurbs造型的主要因素。


719936.JPG 控制杆曲线(HandleCurve):其造型方式和我们Photoshop上的钢笔工具一样,很好理解。


这三个工具应该是我们曲线造型的最主要工具。我们发现使用绘制CV曲线命令非常难以控制,而使用EP却能很好控制曲线走向。他们有什么内在区别,为何我说CV曲线是nurbs曲线造型的最常用命令,我们明天会深入分析nurbs曲线的内在特征。

207149.JPG 在曲面上绘制EP曲线(InterpcrvOnSrf):在曲面上绘制内插点曲线,得到的曲线是处于曲面上的曲线,这个工具也非常常用。
609724.JPG
5092.JPG :绘制圆锥曲线、抛物线、双曲线:这几个命令绘制的都是数学意义上的二次曲线。也请大家今天下去简单回忆一下高中数学学到的常见曲线方程,曲率,和曲线\"阶\"的知识,明天上课会遇到这些知识。简单回忆下,不必深究。
504478.JPG

绘制螺旋线,前者螺旋首尾等半径。后者螺旋首尾可半径不等。
我们用这个命令简单建一根弯曲的弹簧:
269888.JPG

关于曲线的命令就讲到此。对曲线的应用时rhino建模的核心之一,请大家在今天的练习和以后的使用中逐渐体会。
回复 支持 反对

使用道具 举报

455

粉丝

398

关注

651

主题

顶级屋主

1114

PGB
1848 个
 楼主| 发表于 2013-9-17 19:55:07 | 显示全部楼层
3.3.3其他封闭几何形体
3.3.3.1关于圆的命令如下:
482913.JPG

命令说明:
112943.jpg
这个命令就是作在曲线上所选点的法线平面的圆
757883.jpg
453221.jpg

这个命令有多种参数配合生成一个三阶圆。

307635.jpg

三阶圆?
697503.jpg

圆怎么可能是三阶的呢,它实际上不是一个数学意义上的圆,明天的第二小节我们就从它开刀来深入理解nurbs


3.3.3.2 其它几何体命令
272192.JPG

很简单,就不多讲了,有问题的稍后再问。
另外RHINO支持文字输入 630512.JPG
,可以转换为三种对象:曲线、曲面、实体,非常简单,也不多讲了。
586580.jpg

作业:
1 复习今天讲到的各个命令,掌握它们的用法
2下面②③任选一项
② 以下A、B任选一项:
A 字母表练习 使用各种曲线和直线命令绘制一套字母表。(视觉控制外观,请勿取巧自己使用RHINO文字。)
B 平面图练习 使用Rhino2D命令绘制Oscar Niemeyer博物馆的平面和剖面,请在CAD中量取尺寸,在Rhino中绘制一次。

③ 根据simplehouse.skp建立该模型的线框模型
回复 支持 反对

使用道具 举报

455

粉丝

398

关注

651

主题

顶级屋主

1114

PGB
1848 个
 楼主| 发表于 2013-9-17 19:55:59 | 显示全部楼层

上节课我们知道了建立曲线的命令,使用这些命令我们可以建立任何形状的曲线,数学意义上的或者单纯视觉造型意义上的。
事实上,在犀牛中,很多时候的曲线造型不是第一次通过曲线工具生成的。很多时候是通过各种曲线编辑工具调整和修改出来。
今天我们来学习各种曲线编辑工具的运用,同时今天的重点在第二小节对于nurbs曲线的理解,理解到了nurbs曲线的内在原理,任何造型对您来说都将不成问题了。


4.1 曲线编辑4.1.1 曲线的分割和修剪
497885.JPG

分割和修剪工具位于主工具栏的如下位置。分割和修建工具不仅适用于曲线,而且适用于曲面。
注意它不适用于以下对象:多重曲面、实体和网格。
同时对于分割和修剪工具您在一开始也最好理解到下面一点:
分割和修剪对于曲线和曲面产生的意义是不一样的。
被分割和修剪的曲面其实质是被\"隐藏\"。
但被分割和修剪的曲线其实质是被\"抹掉\"。理解到这点可以帮助您在日后建模中避免许多错误。
707723.jpg

例如我们把一个曲面用一条直线分成两部分。我们再分别重建这两个曲面。在重建时取消重新修剪。
449624.JPG
然后我们看到,被分割的两部分最后都被重建成了原来的完整曲面。
804126.jpg

现在可以理解到了吧,被分割的曲面实质上是被复制一份出来,然后隐藏掉另外那一部分。

您现在不必进行这些操作,关于曲面部分我们还没讲,但对于分割和修剪工具的实际意义您可以提前理解到这一点。我们来看如何分割曲线:
161375.jpg
我们只想保留圆内部的曲线部分,我们点击修剪工具 150073.JPG Split),然后选取被分割物件,两根曲线,按ENTER
31027.jpg
再选取切割用物件,也就是圆,按ENTER,这样这根曲线就被分割开来了。
867398.jpg
修剪工具 963673.JPG Trim)用法我就不讲一遍了,与分割不同的是,它是先选取切割用物件,再点击需要被修建的部分,您现在可以尝试一下。
回复 支持 反对

使用道具 举报

455

粉丝

398

关注

651

主题

顶级屋主

1114

PGB
1848 个
 楼主| 发表于 2013-9-17 19:57:03 | 显示全部楼层

4.1.2  编辑曲线上的点昨天我们简单了解了下曲线上有两种点,控制点(CV点),编辑点(EP点)

835238.JPG
工具栏上的这两个工具可以打开曲线的这些\"点\"

548896.JPG
如图,我们看到CV点有些处于曲线上,有些处于曲线外。EP点则都处于曲线上。
我们只要拖动这些点就可以改变曲线的造型。
另外我们可以给曲线增加一个CV点或者EP点,相关命令集打开这里可以看到。
大家现在有了许多教程,这些操作也很简单,我就不多讲了。

452938.JPG


4.1.3 曲线编辑工具
曲线编辑工具相关的命令在工具栏的如下位置:

581096.JPG

其中比较常用到的命令有下面这些:
951131.JPG
延伸曲线:
和我们一般见到的延伸曲线有些不同,
Rhino
的延伸出曲线可以有很多多样性,它能在曲线后画出曲线、直线、圆弧。

819777.jpg

延伸部分是和原曲线结合在一起的。

②结合曲线

昨天我收到两份字母表作业,他们完成的字母表都花了100多根曲线才完成26个字母,实际上最简只需要34根。
100035.jpg
很多时候我们需要将很多曲线合并成一根曲线,譬如使用拉伸、sweep等命令时,我们只能追踪一根曲线
A 端点相接的曲线可以直接使用 471918.JPG 结合(join)命令衔接。
142624.JPG

B 771782.JPG 衔接曲线(blendcrv:可以结合端点不相接的两根曲线,接合据鼠标点击位置最佳的两个端点。衔接方法需要自己定义,通常会改变某根曲线的位置。


63736.jpg 841913.JPG
C 158579.JPG 混接曲线(match):混接曲线在两个端点未相接的曲线中间生成第三根曲线与它们都相切。再配合join可以获得一根曲线,注意它和衔接得到的效果是不一样的。
561899.jpg

777928.jpg 曲线倒角:前者是导圆角,后者导斜角,在命令行里设置参数。这个命令我们在AUTOCAD里太熟悉太常用。不同的是,Rhino中的导圆角只能针对两根曲线,不能针对一根曲线(AUTOCAD有些情况下就可以)。而且Rhino中的倒角可以组合曲线,使用任何一个命令时,您都该注意它的参数。 237621.JPG

846710.JPG 偏移曲线(Offset):Rhino中的偏移工具非常直观,譬如它可以动态的给您显示最终效果。
826649.jpg
使用offset时,输入T参数,就可以手动控制偏移量,而且它会自动修剪多余部分。
曲线工具中还有其他一些比较常用的工具,例如 638375.JPG 截断曲线(DeleteSubCrv)、 758532.JPG 重建曲线(Rebuild)、 810984.JPG (简化曲线)等,它们的使用方法非常简单。这里就不多讲了。

小节一下:在上面这些命令中,混接(blend)和衔接(match)在曲面您也会遇到,是Rhino中非常重要的两个概念,这需要您在使用中注意理解。
毫不夸张的说:到了后期复杂建模时,关于两者如何使用的博弈直接关系到您模型的好坏。
回复 支持 反对

使用道具 举报

455

粉丝

398

关注

651

主题

顶级屋主

1114

PGB
1848 个
 楼主| 发表于 2013-9-17 19:58:20 | 显示全部楼层
4.2 nurbs曲线的深入理解
好了,到了今天的重点小节,本节比较难而且比较理论,请做好笔记以便复习。
4.2.1 何谓nurbs
Nurbs的中文全名叫:非均匀有理B样条曲线
前面提到过Photo中的钢笔工具就是B样条曲线,B样条曲线属于nurbs曲线。
不要奇怪上面那句话,B样条曲线实际上是非均匀有理B样条曲线的子集,\"非均匀\"和\"有理\"是附加在原始B样条曲线上的两个扩展属性,而不是对其限定。
那么什么是非均匀有理?反之则是均匀无理。Rhino实际上可以表示\"非均匀\"\"均匀\"和\"有理\"\"无理\"搭配的任意一种组合的曲线。例如\"均匀有理\"\"非均匀无理\".....
Rhino中的NURBS有四个控制属性CV(控制点),EP(内插点),knot(节),degree(阶)
4.2.2\"有理\"和\"无理\"
从昨天看到的那个奇怪的三阶圆开始:
365480.JPG
看上面的图,左边的圆是用第一圆建立工具得到的,右边的圆是昨天看到的三阶圆。我们打开它们的CV控制点,发现它们的CV点分布明显有区别。

昨天我说了右边这个圆是一个假圆,我们如何来证明:
400482.JPG

我们先打开rhino的分析工具集。我们高中学过圆的任意一点曲率半径都等于半径。
我们选取分析工具中的这个工具: 746829.JPG (曲率半径),我们在左边和右边那个圆上分别试一下,发现左边那个每个点上曲率半径始终不变,右边那个圆曲率半径发生改变。如图。
923305.JPG
我们还可以使用另一个工具更加一目了然。 772359.JPG (开启曲率图形),这个工具的含义表示:通过白色曲线距离原始曲线的距离差来标示曲率变化。 338308.jpg

左边这个曲率图形无论放到多大,它都是一根光滑的曲线,右边则在某些位置发生了突变。
因此,右边这个圆它只是一个近似圆,而不是真正的圆。

我们再来深入检查一下这两个圆的区别。

我们保持两个圆的CV点开启
161981.JPG
40271.jpg
我们使用这个工具来检查,每个点的\"权重\"值,权重是何物,先不要管。

第一个圆:
819209.jpg 128907.jpg
第一个圆,圆外的CV点权重为0.707107,圆上的CV点权重为1.0,别管这个数是啥意思,我们和它八竿子打不着关系。

我们再来检查第二个圆

855168.JPG

我们发现每个点的权重都是1.0

我们再在命令行输入what命令检查一下右边那个个圆的属性
282777.JPG
控制点:非有理,那么\"有理\"这个定义是相对于CV点而言。我们再用 530554.jpg 这个工具更改第二个圆某个点的权值。

544498.JPG
再次what检查其属性。
40711.jpg
这个\"圆\"变成了有理曲线。

OK,我现在可以下定义了:
对于NURBS而言,CV点权重不同的曲线就是有理曲线,CV点权重相同的曲线就是无理曲线。

现在我们回头来看看什么是\"权重\"

很好理解,\"权重\"就像CV点对曲线的引力,当CV点的权重越大时,那它对曲线的吸引能力也越大,通过这个属性来改变曲线的形状。(CV点权重的作用实质是在Knot节点上,我们后面会讲到。)
有理性实际上是对无理的一种扩展,通过附加CV点的权重值,让nurbs曲线有更丰富的造型能力。
回复 支持 反对

使用道具 举报

455

粉丝

398

关注

651

主题

顶级屋主

1114

PGB
1848 个
 楼主| 发表于 2013-9-17 19:59:21 | 显示全部楼层
4.2.3\" 均匀\"和\"非均匀\"
再来看何谓非均匀。我们使用建立曲线的第一个命令和第二个命令分别建立一根曲线。
347022.JPG
what命令看看他们的属性:

第一根曲线:
39151.JPG

第二根曲线:
137899.JPG

第一根曲线是均匀的,而第二根曲线是非均匀的。
这里先要提到前面的一个概念,Knotknot中文翻译为\"节\",是个数据而不是点。Knot赋值于Knot点之间。下文我们就简称Knot为节点。
注意节点并不是EP(内插)点,在Rhino中我们无法打开节点进行拖动,但可以捕捉到它的位置,而且Rhino可以增加和减少节点。
360125.jpg
我们使用 21386.JPG 分割工具的P参数捕捉两条曲线节点,将他们分割。 983958.jpg

我们的第一根曲线和第二根曲线都由三节构成,我们分别使用what命令检查每根小曲线。


上面的曲线:
284674.JPG 321183.JPG 423727.JPG
下面的曲线:
714077.JPG 248108.JPG 68766.JPG

大家看看红色框里面的曲线定义域,knot赋值的实际含义就是节点之间的定义域赋值。
Kont不是一个数,比如说01就是它的值。
上面的曲线有四个节点,分成三段,每个节点之间的kont赋值是均匀的,因此它是均匀曲线,下面的直线knot赋值是不均匀的,因此它是不均匀曲线。

OK,我又下定义了,nurbs中,一条曲线在其定义域内,knot赋值是均匀的,那么这根曲线是均匀直线;kont赋值若是不均匀的,那么这根曲线是不均匀曲线。

再次提醒下前面提到的一点,CV点的权重是影响节点的位置从而影响曲线的造型,现在您能理解了吧。

同理,不均匀是对均匀的一种扩展,可以看做它的父集。
回复 支持 反对

使用道具 举报

455

粉丝

398

关注

651

主题

顶级屋主

1114

PGB
1848 个
 楼主| 发表于 2013-9-17 20:00:15 | 显示全部楼层
4.2.4 曲线的\"阶\"
前面提到了nurbs曲线有四种属性\"CV\"、\"EP\"、\"knot\"和\"degree\"
前三种都讲了,我们来看看什么是曲线的degree
Degree很好理解,它就是曲线方程的指数。我们在Rhino中建立圆、抛物线、双曲线等,我们在中学几何学过它们的函数方程,例如圆是r?=x?+y?。那么圆曲线就是二阶的。
如图我们可以通过重建曲线命令得到该曲线的\"阶\"
276711.jpg
一般来说,\"阶\"越高,那么得到的曲线就越光滑。
673596.jpg

如图,黑线、紫线和红线分别是CV点分布相同的一阶、三阶、五阶曲线。
我们使用的Rhino默认建立的CVEP曲线都是是三阶的。对于建筑学的造型我们完全不需要更改,工业建模譬如汽车A级曲面建模它要求曲面的连续性,使用的曲线要达到五阶、七阶甚至更高。
Rhino现在的版本最高支持11阶,据说Rhino核心支持42阶,解42次方程那是什么概念,恐怕要到个人计算机256核时代才敢发放出来。

刚才我们讲了CV权重和knot赋值的属性,早期的3D建模程序没有这两个值,描述一个N+1 CV点的曲线需要N阶。
据此推算那么描述一个有30CV点的曲线,需要将曲线的\"阶\"调到29,解29次方程,早期的计算机根本没法解决。

nurbs技术由于CV权重和knot赋值的存在,低阶曲线也可以进行任何丰富的造型,我建议您在一般情况下就使用3阶曲线,通过扩展CV点来进行细致造型。

Rhino的确是一个非常好的建模工具,只要您理解到了它。

今天的课就讲到这里,我上传了一些nurbs资料到今天的课内附件中,有英文论文,还有关于nurbs算法的,有兴趣就看,没兴趣就不纠结了。今天的课比较理论,对您建模也不见得马上又很大的帮助,若是没有很好理解,您可以记下今天的内容,以后再慢慢理解。

今天的作业:
我给大家发了一个exercise.3dm文件,请拖动这个红色线的CV点去适合被锁定的曲线。(不要打开捕捉点,CV点不够可增加CV点)。
471605.jpg
回复 支持 反对

使用道具 举报

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

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:pgive@qq.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|蜀ICP备12029808号|川公网安备51010702000609号

在本版发帖
关注公众号
返回顶部