基于rhino的三维网格快速建模

基于rhino的三维网格快速建模

ID:28089693

大小:77.26 KB

页数:6页

时间:2018-12-08

基于rhino的三维网格快速建模_第1页
基于rhino的三维网格快速建模_第2页
基于rhino的三维网格快速建模_第3页
基于rhino的三维网格快速建模_第4页
基于rhino的三维网格快速建模_第5页
资源描述:

《基于rhino的三维网格快速建模》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于Rhino的三维网格快速建模【摘要】本文简要介绍基于Rhino自带的脚本程序RhinoScript对三维网格进行快速建模。首先介绍在Rhino中关于网格的一些重要概念如向量、面、网格等,以及这些概念在RhinoScript脚本语言中的实现方法。最后以一个建立菱形网壳的实例来做进一步说明。【关键词】RhinoRhinoScript三维网格一、Rhino与Rhinoscript的概述Rhino是由美国RobertMcNeel公司于1998年推出的基于NURBS为主的三维建模软件,他可以广泛的应用于三维动画制作、工业制造以及建筑设计领域。NURBS是一

2、种非常优秀的建模方式,在高级三维软件当中支持这种建模方式。NURBS能够比传统的网格建模方式更好的控制物体表面的曲线段,从而创建出更生动逼真的造型。现在有很多三维建模软件,如3dsmax、Maya等,但是与这些软件相比,Rhino软件以其小巧、易用性强独树一帜,获得了众多从业人员的青睐。Rhinoscript是Rhino自带的参数化编辑脚本程序,可以通过参数的调整直接改变模型形态,这无疑是一款极具参数化设计的软件。Script是一种计算机语言,用户只需通过使用键盘就可以控制它,而程序将会执行用户输入的命令。Rhino执行的是标准的VBscript,就

3、是说Rhinoscript完全等同于VBscripto所以,在RhinoScript中的流程与VB的流程一样,数据类型与变量也一样。这一点对于原来对于VBA二次开发比较熟悉的人学习更为容易。用户只要熟悉犀牛软件的操作,并且掌握了Rhino中的数据模型类的对象、属性、方法即可进行脚本语言编程。其开发界面如图1所示。二、RhinoScript中的重要对象(一)平面在Rhino中平面并不是真正存在的对象,他们被用来在三维空间中确定一个坐标系。最好把平面看做向量,他们仅仅是一种数据结构。一个平面可以由一个参数方程来确定,可以把它理解为一系列的坐标轴。一个平面

4、由若干个点和三个向量组成,点表示平面本身,向量代表着三个坐标轴。在定义平面时需要遵循许多规则,并不是任意点和向量的组合都是合法平而利用RhinoScript中的plane方法可以很轻松的建立一个平面。在RhinoScript中定义平面时都要满足以下条件:①坐标轴向量必须是成套的。②所有的坐标轴向量必须是相互垂直的。③X和Y轴的顺序必须按逆时针。(二)网格(Mesh)网格是一个局部定义,而不是把表面看做是一个矩形NURBS面的变形,这就是说一个单独的网格面是可以任意拓扑的。一个网格面可以由一些不连接的可以移动的面组成,这在RhinoScript中是不可

5、能实现的。因为网格是一个局部定义,所以在网格的格式中可以直接存储更多信息,比如颜色、材质、坐标和法线。网格与NURBS有明显的不同,而且这种不同是由各自定义决定的。例如从网格中删除任意数量的多边形后网格仍是一个合法的对象,但不能从NURBS中删除节点。Rhino中的Mesh可以使非流行的,所以多个表面可以共享一个边界。这与NURBS技术是不同的,即在NURBS中不允许出现这种情况非流行的形状在拓扑上很难处理。如果一条边只属于一个面,那么这个边就是外部的,否则就是内部的。(三)NURBS表面表面的定义有很多种,如由显函数定义的表面、分型表面、极小曲面等

6、。除了一些常见的曲面类型外Rhino还提供了一种很有用的NURBS曲面。NURBS曲面与NURBS曲线非常相似,他们计算形状、发现、切线等的算法都是相同的。但也有不同之处,例如曲面具有法线和切平面二曲线没有,所以说曲面缺少方向性。在编程时需要对曲面的方向进行假设。三、建立网格(一)网格的拓扑拓扑是对属性的拓扑研究,这些属性来自于对实际对象的变形、扭曲、拉伸。所以拓扑不关心大小、形状、颜色等,它只关心研究物体的本质属性。网格对象的顶点是由一群三维点坐标组成的。它可以处于空间中的任何位置,他们控制着网格的大小和形状。表面并不包含数据,他们只表示定点是如何

7、连接的。以一个最简单的网格为例,我们需要一些匹配的顶点和表面数组。生成网格点阵是很简单的,只需利用循环语句对每一个顶点进行赋值。有了点阵之后就要生成面数组,它是依赖与顶点数组的行和列的尺寸。在得到顶点后,我们就可以创建表面把这些顶点连接起来。因为表面是拓扑的,所以不用关心顶点的实际位置,而只用关心他们是如何组织的即可,在图1中显示了常用的网格形式,该网格有12个顶点和6个四边形的表面,顶点的排序与顶点在函数中创建的顺序相同,其中。(二)网络的单元格在图2中每一个四边形需要以逆时针顺序连接。观察2可以得到规律表迗式中A没有确定,因此可以以A作为循环数,

8、遍历所有顶点进而依次求出所有四边形。(三)数据的存储这里用.ini文件来存储数据。*.ini文件是文本文件,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。