虚拟现实技术4
《虚拟现实技术4》由会员分享,可在线阅读,更多相关《虚拟现实技术4(17页珍藏版)》请在装配图网上搜索。
1、第三部分虚拟现实技术一VRML篇3 VRML基本语法及应用3. 1 VRML 造型VRML造型主要通过几何节点和几何属性节点来实现。由于这些节点属于辅助节点, 不能直接放进场景图,因此要实现VRML造型还需要一个Shape节点。几何节点是通过Shape 节点的geometry域来包含的,几何属性节点是通过Shape节点的appearance域来包含的。用于造型的节点:共22个形状(Shape)节点1个几何节点 10 个:Box (长方体)、Cone (圆锥)、Cylinder (圆柱)、ElevationGrid (标 高格阵)、Extrusion (挤出面)、IndexedFaceSet (
2、索引面集)、IndexedLineSet (索引线集)、 PointSet (点集)、Sphere (球面)、Text (文本)几何属性节点 10 个:Appearance(外观xColor(颜色).Coordinate(坐ImageTexture (图像纹理)、Material (材质)、MovieTexture (影像纹理)、Normal (法线)、PixelTexture (像素纹理)、TextureCoordinate (纹理坐标)、TextureTransform (纹理变换)字型(Fontstyle)节点:1个3.1.1基本造型由Shape节点、Appearance节点、Mate门
3、al节点和基本几何节点共同实现。3.1.1.1 Shape 节点Shape节点语法:Shapeappearance exposed field SFNodeNULLgeometryexposed field SFNodeNULLAppearance节点语法:Appearance materialtexturetextureTransform#exposed field SFNode#exposed field SFNode#exposed field SFNodeNULLNULLNULLMaterial节点语法:Material diffuseColor#exposed field SFCol
4、or0. 8 0. 8 0. 8ambientIntensify#exposed field SFColor0.2specularColor#exposed field SFColor0 0 0emissiveColor#exposed field SFColor0 0 0shininess#exposed field SFFloat0.2transparency#exposed field SFFloat03.1.1.2.基本的几何造型节点基本的VRML造型节点有Eox, Cylinder Cone, Sphere节点。Box节点语法:Boxsize 2 2 2 #field SFVec3f
5、 #(0严)例3-1-1: #创建一个长宽高分别为4. 0,1. 0, 4. 0个vrml单位的长方体 #VRML V2. 0 utf8Shapeappearance Appearance material Material geometry Boxsize 4. 0 1. 0 4. 0Cylinder节点语法:JCylinder!bottomSfieldheightSfieldradiusSfieldsideSfieldtopSfieldSFBoolTRUESFFloat2 #(0,8)SFFloat1 #(0,8)SFBoolTRUESFBoolTRUE例2: #创建一个底面半径为40高为
6、1. 0只有底面的圆柱体 #VRML V2. 0 utf8Shapeappearance Appearance material Material geometry Cylinder radius4.0height1.0topFALSEsideFALSECone节点语法:Cone bottomRadiusSfieldSFFloat1#(0, 8)heightSfieldSFFloat2#(0, 8)sideSfieldSFBoolTRUEbottomSfield SFBoolTRUE例:#创建一个底面半径为2. 0单位高为1. 0单位的圆锥 #VRML V2. 0 utf8Shapeappea
7、rance Appearance material Material geometry Cone bottomRadius2 0height1. 0Sphere节点语法:Sphereradius# fieldSFFloat 1.0#(0,8)3. 1. 1.3节点的编组通过Group节点将不同的VRML节点组织在一起创建复杂的造型。GroupaddChildren#eventlnMFNoderemoveChildren#eventlnMFNodechildren #exposedFieldMFNodebboxCenter 000#fieldSFVec3f#(_8, oo)bboxSize 一1
8、 1 一1#fieldSFVec3f#(0, 8)or例:航空塔模型以sphere、box、cylinder、cone为节点创建一个航空塔的三维模型,其中用DEF定义 了一个名字为bwhite的appearance的节点。#VRMLV2.0utfBGroupcliildrenfShape appearance DEF Bwhite Appearance material Material geometiy Sphere radius 0.75Shape appearance USE Bwhite geometiy Boxsize 1.8 0.01 1.8 ,Shape appearance U
9、SE Bwhite geometiy Cvlindeiradius 0.9 height 0.02,Shape appearance USE Bwliite geometiy Cone bottoniRadius 0.9 height 4.03.1.2文本造型3.1.2.1文本节点Text stung fbntStvle NULLJmaxExtent 0.0#exposed field MFStiiiig#exposed field SFNode#exposed field SFFloatlength #exposed field MFFloat例:使用缺省值创建内容分别为VRML World
10、” “54321”的多行文本造型#VRMLV2.0utfBShape appearance Appearance material Material geometry TextstnngVRML World,H54321n 例:#创建一个指定长度为4.0单位,内容为靛VRML的单行文本造型#VRMLV2.0utfBShape appearance Appearance material Material geometry Textstrmg MVRMLHlength 4.0例:#创建一个第一行文本长度为自然长度,第二行为1.0单位的内容都为“VEML”的文本 造型#VRMLV2.0utfBSh
11、ape appearance Appearance material Material geometry TextstrmgVRMLTVRML”length 0.0 丄0例:#创建指定了最人长度为4.0单位的多行文本造型,其中第二行压缩至长度为4.0单位#VRMLV2.0utfBShape appearance Appearance material Material geometry Textstrmg fVRMLVRML WorldnniaxExtent 4.0例:#虽指定最人长度为IO但文本仍以长度分别为4Q2.0单位来创建文本造型#VRMLV2.0utfBShape appearanc
12、e Appearance material Material geometry Textstrmg VRMLH;,VRMLnlength 4.0,2.0niaxExtent 1.03.122字型节点FontStylefamily nSERIFH#fieldMFString# SERIFTSANS”, “TYPEWRITER”horizontal TRUE#fieldSFBooljustify ”BEGIN#fieldMFString#BEGINMIDLE1; ”ENDJFIRST”language M H#fieldSFStringleftToRight TRUE#fieldSFBoolsiz
13、e 1. 0#fieldSFFloat#(o, )spacing 1 0#fieldSFFloat#0, 8)style “PLAIN#field SFString #PLANEOLD*; ITALICBOLDITALICtopToBottom TRUE #fieldSFBool例:#创建内容为VRML World 字体为Senf的单行文本造型#VRMLV2.0utfBShape appearance Appearance material Material geometry Textstrmg nVRMLMfontStvle FontStyle fanulv ” SERIFJ例:#创建内容为
14、“VRMLWorld”,字体为缺省字体,且倾斜的单行文本造型#VRMLV2.0utfBShape appearance Appearance material Material geometry Textstrmg nVRMLWorldHfontStvle FontStylefanulv ” SERIFJstyle ITALIC”例:#创建字符集为“SERIF”,字符高度为2.0个单位的加粗斜体的文本造型#VRMLV2.0utfBShape appearance Appearance material Material geometry Textstrmg WRMLfontStvle Font
15、Style fanulv ” SERIFJstyle MBOLDITALICMsize 2.0例:#创建字符集为SERIF,行间距为0.5单位的加粗文本造型#VRMLV2.0utfBShape appearance Appearance material Material geometry Textstrmg VRML,7,WoildHfontStvle FontStylefanulv ” SERIFJstyle MBOLDHspacing 0.5例:#创建字符集为TYPEWRITER,沿X方向从左到右,沿Y方向从上到卜的水平文本造型#VRMLV2.0utfBShape appearance
16、Appearance material Material geometry Textstrmg MAaBbn;,CcDdM;,EeFf,fontStvle FontStylefonulv” TYPEWRITER”JhorizontalTRUEleftToRight FALSEtopToBottom TRUE例询创建字符集为TYPEWRITER第一方向沿Y方向从下到上,第二方向沿X方向从左到右 的垂直文本#VRMLV2.0utfBShape appearance Appearance material Material geometry Textstrmg MAaBbH;,CcDd,7,EeFf
17、, fontStvle FontStyle fanulv” TYPEWRITER”JhorizontalFALSE leftToRight TRUEtopToBottom FALSE justifyMIDDLETMIDDLEJ3.1.23文本造型与几何造型的结合例:#创建一个长宽高分别为3.0,2.0,3.0单位的长方体,并在其上方显示“Eox”字符的图形#VRMLV2.0utfBGroupcliildrenfShape appeaiaiice DEF Bwhite Appearance niateiial Material geometiy Boxsize 3.0 2.0 3.0,Shape
18、 appeaiaiice USE Bwhitegeometiy Textstrmg nBox,7, HfbntStyle FontStyle fanulv” TYPEWRITER”JhorizontalTRUEleftToRight TRUEtopToBottom TRUEjustifyMIDDLE”, “END”3.1.3造型的变换TransformaddChildren#eventlnMFNoderemoveChildren#eventlnMFNodecenter 000#exposedFieldSFVec3f#(一8, 8)rotation 0010#exposedFieldSFRota
19、tion#-1, 1,(-汽 8)scale 111#exposedFieldSFVec3f#(0, 8)scaleOrientation 0 01 0#exposedField SFRotatiop# T, 1, (-8, 8)translation 000#exposedFieldSFVec3f#(一8, 8)children #exposedFieldMFNodebboxCenter 000#fieldSFVec3f#(一8, 8)bboxSize 1 -1 1#fieldSFVec3f#(0, 8)or -1 -1 T3. 1. 3. 1 平移利用Transform节点的transla
20、tion域,进行坐标变换,实现物体在场景中的位置的 变化。例:#创建一个长宽高分别为2.0,402.0单位的长方体,并将坐标原点平移到(003.0,0.0)创建 一个圆锥体#VRMLV2.0utfBTransformtranslation -2.0 0.0 0.0cliildrenfShape appearance DEF Green Appearancematerial MaterialdiffuseColor 0.0 1.0 0.0geometiy Boxsize 2.0 4.0 2.0,Transformtranslation 0.0 3.0 0.0children Shape appe
21、arance USE Green geometry Cone height 2.4 bottoniRadius 2.4 例:#坐标系的多层嵌套#VRMLV2.0utfBTransfbrmcluldrenfShape appearance DEF bWliite Appeaiance material Materialgeometiy Boxsize 3.0 4.0 3.0, Transform!tiaiislation 0.0 -0.5 1.5 childienShape appearance USE bWliite geometry Cylmder height 3.0 radius 1.5
22、 ,Tiaiisfbrmtranslation 0.0 -0.5 1.5 childienShape appearance USE bWhite geometiy Cylinder height 2.0 radius 1.5Transfbrmtranslation 0.0 -0.5 1.5cluldrenfShape appearance USE bWhitegeometiy Cvlmdeiheight 1.0radius 1.53. 1.3.2 旋转利用Transform节点的rotation域,进行物体的旋转变换,实现物体在场景中的方向 的变化。例:#以原点和点(-1.0J.0丄0)的直线
23、为坐标系的旋转轴反方向旋转0.785,在新的坐标系中创 建一个长方体#VRMLV2.0utfBTransfoniirotation -1.0 1.0 1.0 -0.785cliildrenfShape appearance Appearancematerial Material geometiy Box 例:#绕y轴向正方向旋转0.524,在新的坐标系中以缺省的人小和排列对齐方式创建文本造 型 “VRML”#VRMLV2.0utfBTransfbrmrotation 0.0 1.0 0.0 0.524cliildrenfShape appearance Appearancematerial M
24、aterial geometiy Textstring MVRMLH#在当前坐标系中创建一个球体和一个圆锥体,并分别以x轴和y轴为旋转轴旋转90度,然 后在新的坐标系中创建圆锥体#VRMLV2.0utfBGroupcluldrenfShape appearance DEF Bwliite Appeaiancematerial Material geometiy Sphere ,Shape appearance USE Bwliitegeometiy DEF coneOl Cone bottoniRadius 1.0height 4.0,Transformrotation 0.0 0.0 1.0
25、 1.571childienShape appearance USE Bwliitegeometry USE coneOl,Transformrotation 1.0 0.0 0.01.571childienShape appearance USE Bwliitegeometry USE coneOl例:#创建一个雷达站造型(由两个长方体,一个细圆柱体和一个圆锥体组成) #VRMLV2.0utfBGroupcliildrenfShape appearance DEF Bwliite Appeaiance material Material geometiy Boxsize 4.0 2.0 4.
26、0, Transfbrm tiaiislation 0.0 2.5 0.0 rotation 0.0 0.0 1.0 -0.7 center 0.0 -1.5 0.0 childienShape appearance USE Bwliitegeometry Boxsize 0.2 3.0 1.0, Tiaiisform translation -2.0 1.2 0.0 rotation 0.0 0.0 1.0 -1.57 center 0.0 -1.0 0.0 childienTransfbrmtranslation 0.0 -1.0 0.0cluldren Shape appeaiance
27、USE Bwhite geometiy Cylinder radius 0.05 height 6.0,Shape appearance USE Bwhitegeometry Cone bottoniRadius 4.0 height 2.03. 1. 3. 3 缩放通过Transform节点的scale域、scaleOrientation域及center域可以在空河的各个坐标轴 方向缩放当前坐标系以创建新的空间造型。scale域值分别给出了在3个坐标轴方向上的坐标缩放系数。scaleOrientation域值指定的是一个缩放轴、缩放程度。center域指定空间造型的缩放中心。例:#在中心为(
28、0.0,1.0,0.0)在y方向上扩人两倍创建一个球体#VRMLV2.0utfBTransfbrmscale 1.0 2.0 1.0center 0.0 -1.0 0.0cluldrenfShape appearance Appearancematerial Material geometiy Sphere 例:#以(0.0.-1.0.0.0)为中心在y方向上缩小10倍创建一个球体,接着在原点创建一个在y 方向上缩小一半的球体#VRMLV2.0utfBGroupcluldrenfTransfbrmscale 1.0 0.1 1.0# center 0.0 -1.0 0.0childienSha
29、pe appearance DEF Bwhite Appearancematerial Material geometry Sphere radius 3.0,Transfbrmtianslation 0.0 0.0 0.0scale 1.0 0.5 1.0childienShape appearance USE Bwliite geometry Sphere radius 1.6,例:#创建一个水平面和一个球体,并且球体经缩放以后位于水平面之上#VRMLV2.0utfBGroupcluldrenfShape appearance Appearance material Material ge
30、ometiy Boxsize 12.0 0.05 12.0,Transfbrmscale 1.0 0.3 1.0center 0.0 0.4 0.0childienShape appearance Appearance material Material geometry Sphere 例:#创建人小不同的三个由一个球体和两个在Z轴和X轴方向上被压缩了的圆锥体造型组 成的造型#VRMLV2.0utfBGroupcluldrenfShape appearance DEF Bwliite Appeaiancematerial Material geometiy Boxsize 12.0 0.05
31、12.0,DEF groupOl Group childienTiaiisfbrmtranslation 0.0 1.5 1.0childrenTiansformscale 1.0 1.0 0.1cliildrenShape appearance USE Bwliitegeometiy DEF coneOl ConebottoniRadius 1.0height 3.0,Tiansformscale 0.1 1.0 1.0cliildrenShape appearance USE Bwliitegeometiy USE coneOl,Shape appearance USE Bwliitegeometry Sphere radius 0.35,Transfbrmtiaiislation -4.0 0.0 0.0scale 0.5 0.5 0.5 childien USE gioupOl,Transfbrmtiaiislation 4.0 0.0 0.0scale 1.0 1.2 1.0scaleOrientation 0.0 0.0 1.0 -0.785 childien USE gioupOl
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。