




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一节 VRML的简单介绍 VRML文件以.wrl为后缀,它是一种文本格式的文件。可以用文本编辑器(如Windows下的notepad)打开编辑。在设计一些最简单的模型时,这种方法是最简便可行的。但是当场景变得复杂后,就需要利用一些专用的模型设计软件,这种软件称为VRML编辑器,常用的有ParaGraph International公司的Internet3D Space Builder(简称ISB),Sculptware公司的 SiteSculptor等等。解释VRML文件并构造三维模型的软件称为VRML浏览器,VRML浏览器通常是以插件的形式附着在Web浏览器中,如IE,NetScape等Web浏览器都有自带的VRML浏览器,但这些浏览器的功能有限,对VRML的支持不很充分;一些公司开发的VRML浏览器则通常功能强大,如SGI公司的Cosmo Player,SONY的Community Place Brower等等。下面是一个VRML的简单例子,程序构造了一个半径为1个单位的被照亮的三维红球。程序例5.2.1 sphere.wrl#VRML V2.0 utf8Shapeappearance Appearancematerial MaterialemissiveColor 1 0 0geometry Sphere radius 1图5-2-1 sphere.wrl程序说明:每个VRML2.0文件必须以下面的语句作为开始: #VRML V2.0 utf8 “utf8”是国际标准组织确认的一个标准,在VRML文本节点中引导语言字符。以或#开头的文本行是注释行,直到下一个回车符为止,它将被浏览器解释所忽略。 Shape 是VRML的一个节点类型(Node),它有两个字段(Field):appearance和geometry,分别用于定义物体的外观属性(如材质、纹理)和几何属性。 appearance字段后紧跟的Appearance也是VRML的一个节点,它的内容就是该物体的外观属性。 Appearance可以定义material(材质),texture(纹理)和textureTransform(纹理映射)三种属性。Material节点紧跟在material字段后面,其内容就是物体的材质属性。emissiveColor 1 0 0表示球的表面材质反射100%的红光,0%的绿光和0%的蓝光。 geometry字段后的Sphere节点表示物体是一个球体。radius 1 表示球体的半径是1个单位。 VRML是一个基于对象的语言,它提供3D空间中描述对象的格式,称为节点(node)。一个节点可以与C+或Java中的对象相对应,你可以把节点视为派生类型Box、Sphere、Sound、Spotlight等定义的基类。每个对象节点都有共同的属性,如类型名称、默认字段值和收发设置字段信息的能力(VRML2.0中的事件)。当你定义一个派生的类时,你可以仅用默认值,就象在C+中使用一样。VRML的一个好处就是当你定义一个节点时,你总是包含一个可视的有形的结果。 VRML提供了许多预定义的节点,例如从你的场景元素继承特性生成的对象库,它还可以使你通过原型派生和使用自身的节点。 在VRML场景中通过把节点分组生成场景图来组织虚拟世界的布局和功能。场景图有点象树根,树干是最高结构层,子群组成树枝,节点在下面。在场景图分层结构中,子节点从它的每个父节点继承如位置方向等特性。 为了说明问题,程序例5.2.2的结构如图5-2-2所示,显示了VRML场景图中节点的层次结构。在程序例中,DEF是增加节点名称的关键词。程序例5.2.2 scene.wrl#VRML V2.0 utf8DEF TRUNK Transform translation 0.0 1.0 0.0 rotation 0.0 1.0 0.0 0.39 children DEF BALL Transform translation 3.0 0.0 0.0 children Shape appearance Appearancematerial Material emissiveColor 1 0 0geometry Sphere radius 1 DEF CUBE Anchor url children Shapegeometry Box size 1 2 2 图5-2-2. scene.wrl的场景等级结构 节点的字段(field)是参数或者关键字,它们的值描述了节点对象的属性。字段可以分为两类:属性字段,它用于对所要定义的节点定义属性,如:Spotlight节点的Ambient Intensity或Sphere Radius;“连接”字段,它用于把属性值传递给另外的节点。在程序例1.1中的Shape节点包括两个连接字段的例子:geometry字段,它接受一个Geometry节点的参数和Sphere、Box或Cone;appearance字段,它接受Appearance节点的描述。使用连接字段的节点可以使你在运行时使用事件触发器选择它的位置,例如传感器和脚本。其它的字段是私有的,其值只能在开始时设定。1. VRML的度量单位 VRML的度量单位是标准化了的,角度以弧度表示,长度单位则是米。例如你定义一个长、宽、高均为一个单位的盒子,它代表了一个边长1米的立方体。如果立方体放在地板上,你把它旋转45度角,从一个顶点观察它,那么在Y轴上它转动了/4或0.785弧度。 为了在VRML场景中定位对象,在Transform群组节点中使用Rotation字段,定义它的角度,然后使用Translation字段定义你希望物体所处位置的XYZ轴长度单位。具体转换将在下面章节详细说明。2. 坐标系统和显示 在VRML的场景中设置物体需要有明确的坐标,在同一个场景中,有一个统一的坐标系。这个坐标系是一个右手坐标系,在初始时(即观察者没有移动位置和改变视角),该坐标系的X轴为沿屏幕水平向右,Y轴为沿屏幕垂直向上,Z轴为从屏幕指向用户。 VRML的geometry节点对象参照这个坐标系,使用三维坐标系统描述点的位置。在初始状态下,VRML的geometry节点(除了文本)都被定位在空间坐标(0,0,0)点上,且高度以Y轴正方向表示。(Text节点开始从缺省位置左端开始文本串,沿X轴正方向放置每个连续的文字) VRML提供了称为Primitives的许多种基节点对象,包括Box、Sphere、Cone和Cylinder,可以使用它们构造三维场景。这些Primitives只能提供一些基本的几何体,如果想构造更复杂的三维模型,如一个人脸的多边形面片,则需要利用IndexFaceSet节点,用多边形的数据去填充该节点内的相应字段。IndexFaceSet包含的每个顶点都由子节点Coordinate中的三维点列描述,而子节点CoordIndex中则列出了每个多边形的顶点在点列中的索引值,各个多边形的索引集之间用-1作为间隔。多边形的法线方向与所给的顶点顺序符合右手法则,即按照该多边形在CoordIndex中列出的顺序弯曲右手手指,拇指的方向就是多边形的法线方向。如果将IndexdFaceSet的ccw(counterclock wise)字段设置为FALSE(默认值为TRUE),则该节点内的所有多边形的法线方向都将反转。程序例5.2.3 Paperplane.wrl#VRML V2.0 utf8Shapeappearance Appearance material Material diffuseColor 1.0 1.0 1.0emissiveColor 0.5 0.5 0.5shininess 5geometry IndexedFaceSet coord Coordinate point 0.0 0.0 2.5-2.5 0.0 -2.5-0.5 0.5 -2.50.0 -1.5 -2.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025合作伙伴研究合同书
- 2025至2031年中国双泡盒行业投资前景及策略咨询研究报告
- 2025至2031年中国加氢反应器三通行业投资前景及策略咨询研究报告
- 2025至2030年中国锦纶四叉五环吊装纺织绳数据监测研究报告
- 2025至2030年中国镀铝湿纸巾袋数据监测研究报告
- 2025至2030年中国迷你苹果双卡电视手机数据监测研究报告
- 2025至2030年中国热熔技术布料油漆滚动刷数据监测研究报告
- 2025版合同:附条件租赁协议书
- 高校商铺装修方案范本
- 会计考证介绍培训
- 【土木工程毕业论文】施工组织设计
- 交互设计(精华)课件
- 护理病例分析试题题库
- 开宠物店的创业计划书
- 心外科常见疾病诊疗常规
- 设施规划与物流分析课程设计-变速箱厂布置与搬运系统设计
- 肿瘤靶向药物治疗
- MT-T 1201.6-2023 煤矿感知数据联网接入规范 第6部分:工业视频
- 数据结构课件完整版
- 黄芩中黄芩苷的提取分离
- 2023届汇文中学化学高一第二学期期末复习检测模拟试题含解析
评论
0/150
提交评论