rhino5 线上加点 mesh 怎么加点

推荐这篇日记的豆列
······
&(15224人关注)
&(37069人关注)
&(565人关注)
&(18816人关注)论文发表、论文指导
周一至周五
9:00&22:00
基于Rhino的三维网格快速建模
2013年24期目录
&&&&&&本期共收录文章20篇
  【摘 要】本文简要介绍基于Rhino自带的脚本程序RhinoScript对三维网格进行快速建模。首先介绍在Rhino中关于网格的一些重要概念如向量、面、网格等,以及这些概念在RhinoScript脚本语言中的实现方法。最后以一个建立菱形网壳的实例来做进一步说明。 中国论文网 /1/view-6689672.htm  【关键词】Rhino RhinoScript 三维网格   一、Rhino与Rhinoscript的概述   Rhino是由美国Robert McNeel公司于1998年推出的基于NURBS为主的三维建模软件,他可以广泛的应用于三维动画制作、工业制造以及建筑设计领域。NURBS是一种非常优秀的建模方式,在高级三维软件当中支持这种建模方式。NURBS能够比传统的网格建模方式更好的控制物体表面的曲线段,从而创建出更生动逼真的造型。   现在有很多三维建模软件,如3ds max、Maya等,但是与这些软件相比,Rhino软件以其小巧、易用性强独树一帜,获得了众多从业人员的青睐。   Rhinoscript是Rhino自带的参数化编辑脚本程序,可以通过参数的调整直接改变模型形态,这无疑是一款极具参数化设计的软件。Script是一种计算机语言,用户只需通过使用键盘就可以控制它,而程序将会执行用户输入的命令。   Rhino执行的是标准的VBscript,就是说Rhinoscript完全等同于VBscript。所以,在RhinoScript中的流程与VB的流程一样,数据类型与变量也一样。这一点对于原来对于VBA二次开发比较熟悉的人学习更为容易。用户只要熟悉犀牛软件的操作,并且掌握了Rhino中的数据模型类的对象、属性、方法即可进行脚本语言编程。其开发界面如图1所示。   二、RhinoScript中的重要对象   (一)平面   在Rhino中平面并不是真正存在的对象,他们被用来在三维空间中确定一个坐标系。最好把平面看做向量,他们仅仅是一种数据结构。一个平面可以由一个参数方程来确定,可以把它理解为一系列的坐标轴。   一个平面由若干个点和三个向量组成,点表示平面本身,向量代表着三个坐标轴。在定义平面时需要遵循许多规则,并不是任意点和向量的组合都是合法平面。而利用RhinoScript中的plane方法可以很轻松的建立一个平面。在RhinoScript中定义平面时都要满足以下条件:①坐标轴向量必须是成套的。②所有的坐标轴向量必须是相互垂直的。③X和Y轴的顺序必须按逆时针。   (二)网格(Mesh)   网格是一个局部定义,而不是把表面看做是一个矩形NURBS面的变形,这就是说一个单独的网格面是可以任意拓扑的。一个网格面可以由一些不连接的可以移动的面组成,这在RhinoScript中是不可能实现的。因为网格是一个局部定义,所以在网格的格式中可以直接存储更多信息,比如颜色、材质、坐标和法线。   网格与NURBS有明显的不同,而且这种不同是由各自定义决定的。例如从网格中删除任意数量的多边形后网格仍是一个合法的对象,但不能从NURBS中删除节点。   Rhino中的Mesh可以使非流行的,所以多个表面可以共享一个边界。这与NURBS技术是不同的,即在NURBS中不允许出现这种情况非流行的形状在拓扑上很难处理。如果一条边只属于一个面,那么这个边就是外部的,否则就是内部的。   (三)NURBS表面   表面的定义有很多种,如由显函数定义的表面、分型表面、极小曲面等。除了一些常见的曲面类型外Rhino还提供了一种很有用的NURBS曲面。   NURBS曲面与NURBS曲线非常相似,他们计算形状、发现、切线等的算法都是相同的。但也有不同之处,例如曲面具有法线和切平面二曲线没有,所以说曲面缺少方向性。在编程时需要对曲面的方向进行假设。   三、建立网格   (一)网格的拓扑   拓扑是对属性的拓扑研究,这些属性来自于对实际对象的变形、扭曲、拉伸。所以拓扑不关心大小、形状、颜色等,它只关心研究物体的本质属性。   网格对象的顶点是由一群三维点坐标组成的。它可以处于空间中的任何位置,他们控制着网格的大小和形状。表面并不包含数据,他们只表示定点是如何连接的。   以一个最简单的网格为例,我们需要一些匹配的顶点和表面数组。生成网格点阵是很简单的,只需利用循环语句对每一个顶点进行赋值。有了点阵之后就要生成面数组,它是依赖与顶点数组的行和列的尺寸。在得到顶点后,我们就可以创建表面把这些顶点连接起来。因为表面是拓扑的,所以不用关心顶点的实际位置,而只用关心他们是如何组织的即可,在图1中显示了常用的网格形式,该网格有12个顶点和6个四边形的表面,顶点的排序与顶点在函数中创建的顺序相同,其中。   (二)网络的单元格   在图2中每一个四边形需要以逆时针顺序连接。观察图2可以得到规律   表达式中A没有确定,因此可以以A作为循环数,遍历所有顶点进而依次求出所有四边形。   (三)数据的存储   这里用.ini文件来存储数据。*.ini文件是文本文件,用来存储第一等级的字符串。这就意味着在.ini文件中每一个设置都有名称、类型和值。RhinoScript中提供了很多在无需管理自己的文件情况下,去读写*.ini文件的方法。   四、建立菱形网格   首先选择一个表面,任何形状的都可以,并提取出他的表面UV信息,利用这些信息来控制网壳的行数和列数,这样就需要尽可能完整的UV面。这个单层网壳脚本的编程逻辑是,选取一个表面strsurface,划分所选表面的UV单元格,在每个单元格内设子四个点,点点练成四边形过程如图3所示,并为每条线添加杆件。最后建成的菱形网格如图4所示。   参考文献:   [1]魏群,张国新. 岩土工程图形计算力学的概念方法及应用[J]. 岩石力学与工程学报   [2]付翔,刘尚蔚,魏群,何大川. 混凝土坝体结构裂缝三维建模及虚拟现实应用 [J]. 华北水利水利学院学报 2013,4   [3]刘尚蔚,袁东卯,仝亮,魏群. 基于Inventor的大型钢架桥三维建模方法 [J]. 华北水利水电学院学报 2013,4   [4]魏群,张国新,尉军耀,等. 拱坝三维可视化设计软件的开发与应用[J]. 天津大学学报,2008,41 (9) : .   [5]陈虹,郑蓉.Rhino的建模及实例[J].电脑知识与技术   [6]杨恢先,杨慧等. 基于VB平台对Rhino进行二次开发的技巧[J]. 电脑学习   [7]潘莉,蒋雯. 基于VC平台开发Rhino插件的技巧[J]. 机电产品开发与创新   [8]太阳工作室. Rhino 3D模型大制作. 北京:人民邮电出版社   [9]黄云,姚蓉. Rhino造型专家[M].清华大学出版社,2001   [10]王文栋. RhinoScript参数建模[M].中国青年出版社
转载请注明来源。原文地址:
【xzbu】郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。
xzbu发布此信息目的在于传播更多信息,与本网站立场无关。xzbu不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。

我要回帖

更多关于 rhino模型怎么实体化 的文章

 

随机推荐