NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: wdc63
打印 上一主题 下一主题

[在线教程] 寒假Rhino入门教程系列第四课

[复制链接]
12m
发表于 2010-2-24 14:42:01 | 只看该作者
过节后,坚决学习中,感谢楼主!!!!!
11m
发表于 2010-2-24 01:15:52 | 只看该作者
好晕。。。。。。。看不懂
10m
发表于 2010-2-22 16:06:15 | 只看该作者
另外弱弱地问附近再那里下?
9m
发表于 2010-2-22 15:54:29 | 只看该作者
有些图挂啦
8m
发表于 2010-2-12 12:53:52 | 只看该作者
辛苦了,一早起来就来听今天的新课了
7m
发表于 2010-2-11 21:08:12 | 只看该作者
这贴非常之好,基础往往很重要呢
6m
发表于 2010-2-11 17:56:46 | 只看该作者
哈哈   又是沙发哈哈····{:3_64:}   辛苦LZ啦····
5m
 楼主| 发表于 2010-2-11 16:02:58 | 只看该作者
如图,黑线、紫线和红线分别是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点)。

                               
登录/注册后可看大图
4m
 楼主| 发表于 2010-2-11 16:02:41 | 只看该作者
现在我们回头来看看什么是"权重"

                               
登录/注册后可看大图

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

4.2.3" 均匀"和"非均匀"
再来看何谓非均匀。我们使用建立曲线的第一个命令和第二个命令分别建立一根曲线。


                               
登录/注册后可看大图

what命令看看他们的属性:

第一根曲线:

                               
登录/注册后可看大图

第二根曲线:

                               
登录/注册后可看大图


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

                               
登录/注册后可看大图

我们使用

                               
登录/注册后可看大图
分割工具的P参数捕捉两条曲线节点,将他们分割。

                               
登录/注册后可看大图


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


上面的曲线:

                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图

下面的曲线:

                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图


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

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

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

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


4.2.4 曲线的"阶"
前面提到了nurbs曲线有四种属性"CV"、"EP"、"knot"和"degree"
前三种都讲了,我们来看看什么是曲线的degree
Degree很好理解,它就是曲线方程的指数。我们在Rhino中建立圆、抛物线、双曲线等,我们在中学几何学过它们的函数方程,例如圆是r²=x²+y²。那么圆曲线就是二阶的。
如图我们可以通过重建曲线命令得到该曲线的"阶"

                               
登录/注册后可看大图

一般来说,"阶"越高,那么得到的曲线就越光滑。

                               
登录/注册后可看大图




3m
 楼主| 发表于 2010-2-11 16:02:05 | 只看该作者
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"有理"和"无理"
从昨天看到的那个奇怪的三阶圆开始:

                               
登录/注册后可看大图

看上面的图,左边的圆是用第一圆建立工具得到的,右边的圆是昨天看到的三阶圆。我们打开它们的CV控制点,发现它们的CV点分布明显有区别。
昨天我说了右边这个圆是一个假圆,我们如何来证明:

                               
登录/注册后可看大图


我们先打开
rhino的分析工具集。我们高中学过圆的任意一点曲率半径都等于半径。
我们选取分析工具中的这个工具:

                               
登录/注册后可看大图
(曲率半径),我们在左边和右边那个圆上分别试一下,发现左边那个每个点上曲率半径始终不变,右边那个圆曲率半径发生改变。如图。

                               
登录/注册后可看大图

我们还可以使用另一个工具更加一目了然。

                               
登录/注册后可看大图
(开启曲率图形),这个工具的含义表示:通过白色曲线距离原始曲线的距离差来标示曲率变化。

                               
登录/注册后可看大图


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

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

我们保持两个圆的CV点开启

                               
登录/注册后可看大图


                               
登录/注册后可看大图

我们使用这个工具来检查,每个点的"权重"值,权重是何物,先不要管。


第一个圆:

                               
登录/注册后可看大图

                               
登录/注册后可看大图

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

我们再来检查第二个圆


                               
登录/注册后可看大图


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

我们再在命令行输入what命令检查一下右边那个个圆的属性

                               
登录/注册后可看大图

控制点:非有理,那么"有理"这个定义是相对于CV点而言。我们再用

                               
登录/注册后可看大图
这个工具更改第二个圆某个点的权值。


                               
登录/注册后可看大图

再次what检查其属性。

                               
登录/注册后可看大图

这个"圆"变成了有理曲线。

OK,我现在可以下定义了:
对于NURBS而言,CV点权重不同的曲线就是有理曲线,CV点权重相同的曲线就是无理曲线。
2m
 楼主| 发表于 2010-2-11 16:01:14 | 只看该作者
很多时候我们需要将很多曲线合并成一根曲线,譬如使用拉伸、sweep等命令时,我们只能追踪一根曲线
A 端点相接的曲线可以直接使用

                               
登录/注册后可看大图
结合(join)命令衔接。

                               
登录/注册后可看大图


B

                               
登录/注册后可看大图
衔接曲线(blendcrv:可以结合端点不相接的两根曲线,接合据鼠标点击位置最佳的两个端点。衔接方法需要自己定义,通常会改变某根曲线的位置。



                               
登录/注册后可看大图

                               
登录/注册后可看大图

C

                               
登录/注册后可看大图
混接曲线(match):混接曲线在两个端点未相接的曲线中间生成第三根曲线与它们都相切。再配合join可以获得一根曲线,注意它和衔接得到的效果是不一样的。

                               
登录/注册后可看大图



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

                               
登录/注册后可看大图



                               
登录/注册后可看大图
偏移曲线(Offset):Rhino中的偏移工具非常直观,譬如它可以动态的给您显示最终效果。

                               
登录/注册后可看大图

使用
offset时,输入T参数,就可以手动控制偏移量,而且它会自动修剪多余部分。

曲线工具中还有其他一些比较常用的工具,例如

                               
登录/注册后可看大图
截断曲线(DeleteSubCrv)、

                               
登录/注册后可看大图
重建曲线(
Rebuild)、

                               
登录/注册后可看大图
(简化曲线)等,它们的使用方法非常简单。这里就不多讲了。

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

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-6-2 01:53 , Processed in 0.349947 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表