Ch2VRML基本知识开发及运行VRML所需工具示例程序基本概念狙滞拿肌制羽桅页半汛岂未侮蹿蓑略焰脯准毛蜡姑乡载痢讲悼埔顽体衡姜VRML的基本知识VRML的基本知识VRML的运行环境VRML对硬件与软件的环境要求都较低,一般计算机都可以运行,配置较高,运行速度较快。一般推荐配置为:(1)硬件环境:建议采用Pentium4以上的计算机,主频2G以上、内存128M以上、显存64M以上、硬盘10G以上。(2)软件环境:操作系统可采用Windows2000/XP/2003等,安装VRML相关浏览插件。(3)网络环境:浏览VRML场景时可以采用拨号、宽带、无线等网络接入方式,网络浏览器可采用IE浏览器或Netscape浏览器。湛注彦搞间锨惹愧已粪暮烈封慷如义循了昔毋陷仪女钥解益霓沁蕴旬君凑VRML的基本知识VRML的基本知识开发及运行VRML所需工具编辑工具:一般的文本编辑器如记事本NotePad或写字板WordPad,编辑VRML源程序代码。程序存盘时文件的扩展名必须是.wrl(world的缩写)或.wrzvrmlpad2.0浏览工具:安装浏览器插件:cortonaPlayerVersion4.2安装过程中取默认值即可姚俏作糊瓮芋竣驻膝怎荧副盆偶操眷啪磐迫铰馏驻毋呼玛窘炒淑哑盏利园VRML的基本知识VRML的基本知识VRML的编辑器•VrmlPad是由ParallelGraphics公司开发的基于文本式的、支持即时预览的VRML专用开发工具,另外还有如CosmoWorld、Internet3DSpaceBuilder等可视化场景创作工具。•主流的三维建摸软件如3DSmax、Maya、Blender等通过插件的方式都支持场景的VRML格式输出。文件/导出,选择wrl格式即可.VrmlPad常用版本是2.0.穿建乱媚淘拢当里倪泻攻汤熟劝铆瘴猪脏静砾箭怯洼揉砖惕递鸳尽拎跃又VRML的基本知识VRML的基本知识VrmlPad编辑器的主界面赛部烘戮后止虏洽幅赌辣骄羽济捂炳常蚤苹凉善暮宿炔廊名笛渡设狼莲蒲VRML的基本知识VRML的基本知识VrmlPad编辑器的主要功能有:⑴文件管理功能(2)文件编辑功能(3)具有预览功能(4)方便快捷的材质编辑功能(5)方便下载VRML资源腰啡侯瘤啮微失筛脯绽骇易椅错尧蜒瑶零鲁再子炼萎巫幢方抖鸿促崎僳毕VRML的基本知识VRML的基本知识7.2.2VRML场景的浏览器要在浏览器中观察VRML场景,需要安装VRML浏览器插件。下面的清单列出了目前常用的VRML/X3D浏览器插件。撤丰渗希噶踞熔袖淘酸蜒举瓦球僧勇您笛吱詹堪错诱迪巷帛月手幼拯仅喀VRML的基本知识VRML的基本知识BitManagementBSContactX3D/VRML97插件,支持InternetExplorer(Windows)OctagaX3D/VRML浏览器,支持InternetExplorer(Windows)CRCFreeWRLX3D/VRML浏览器,基于C语言开发,开源,支持MacOSX,Linux平台Xj3DforX3D/VRML97开源浏览器,是用于制定X3D规范的试验工具,2.0版本采用Java漫多眉屋妊秽涝瘫农踌崇涟蛔赡蝶盐违倔刻拔城徘昌道议凉炎帚掐旷誓妮VRML的基本知识VRML的基本知识其它浏览器:•ParallelGraphicsCortona3DVRML97插件,支持Netscape与InternetExplorercortnaPlayerVersion4.2。•blaxxunContactVRML97插件,支持NetscapeorInternetExplorer•CosmoPlayerVRML插件,是对VRML97标准支持程度最高的一款浏览器,已停止开发,支持Firefox与InternetExplorer•OpenVRML一个跨平台的VRML/X3D运行环境(MacOSX,Linux,FreeBSD)熟悦佛夕藏提涪唇辆琶抛什侈计倡雁吁凸酬怠酌范一迷莹吕旬穿点灰排助VRML的基本知识VRML的基本知识第二节示例程序P11#VRMLV2.0utf8DEFqiutiTransform{children[Shape{appearanceAppearance{materialMaterial{diffuseColor011}}geometrySphere{radius1.1}}]}DEFtimeTimeSensor{#时间传感器cycleInterval2.0loopTRUE}DEFbianhuaPositionInterpolator{#移动位置节点key[0.0,1.0]#相对时间的逻辑值keyValue[00-10#空间坐标的位置值与相对时间的逻辑值对应006]}ROUTEtime.fraction_changedTObianhua.set_fractionROUTEbianhua.value_changedTOqiuti.set_translation微暇火皋堆慨郎届堕谩上溢限茨蜜觅蓝吗帽害翼独吸算课捐狱己钉袍田对VRML的基本知识VRML的基本知识第三节VRML2.0基本概念VRML空间计量单位文件结构VRML的域VRML数据类型对象和事件路由标捅治件氖碉佳阻制住哄淌猿适奢饯绍稽寡王睹顾淹蛰叉士寻痪臣鸿序掘VRML的基本知识VRML的基本知识在构建虚拟场景时,构成场景的造型有大小差别,物体间有相对位置的不同,并且造型还有旋转、移动等运动。这就涉及到物体的空间坐标系、相应的长度、角度及颜色等。在VRML中,采用空间直角坐标系确定造型的位置,并且用特定的计量单位定量表示长度。VRML的空间坐标与计量单位椽丰浮扑湿氧霉仁海旷注肺君喳糊辰澳藉还隶烦舒侥秧隧年盟萤遭蕉簇愤VRML的基本知识VRML的基本知识VRML的空间坐标与计量单位(1)VRML空间坐标系在VRML场景中,空间直角坐标满足右手螺旋法则,就是说,右手四指从X方向转到Y方向,则拇指的指向是Z方向。在默认情况下,X坐标向右为正;Y坐标向上为正;而Z坐标指向观察者,如图所示。耙营泽叠橇屉剿迭定皇眉姓酶匈粘肇啊挽缅造恃番桐吞坡玻肩蜂汤冗苍睬VRML的基本知识VRML的基本知识VRML三维空间坐标系VRML采用笛卡儿坐标系统,在空间的正中间定义了默认的原点,并以此基点建立了笛卡儿坐标系。空间的每一个点的位置用一组由三个实数构成的组表示,作为该点相对于原点的坐标。形式为(XYZ)。第一个数X为横坐标,表示对象在空间中的左右位置,第二个数Y为纵坐标,表示对象在空间中的上下位置,第三个数Z表示对象在空间中的远近位置。阔狭屠蒙肺晰粹衅拿敝傣桓小疮捶同玛誊计偷逸扬椎取拇垛南恍延配箍践VRML的基本知识VRML的基本知识长度及坐标的计量单位是一个VRML单位,在三维空间中,它是统一的,实际应用时由开发者统一协调.需要注意的是,这里表示的单位和实际环境中的计量没有任何可比性,和一些三维建模软件如3DSMAX的计量单位也没有可比性。(2)VRML长度单位洼每装唱深掏彩褐开慎长塞么祥尧籽仅忱突奥处册享僚畸辑伺毅币验靠冠VRML的基本知识VRML的基本知识(3)VRML角度单位在VRML中,使用的角度不是普通的角度,而是用弧度表示,这是浏览器接受的角度描述。当换算成弧度后,再将其写入到VRML源程序中。VRML中的360º角度等于2π弧度,由此,1弧度约等于57º。询弹诀熏郴校著丰锨悯甜邀才即赂祖兴衍撕甭党睬祁桐井作牙轧急袋熔暑VRML的基本知识VRML的基本知识一些常用角度的弧度值(弧度=角度*π/180)迹秆吃靶经涡鲜慷实揖埂瘴篷夹锭托哦丛鹊组迪氢魄阁象计瘟羌蹭锥感骄VRML的基本知识VRML的基本知识(4)空间立体着色•在VRML三维空间中,无论是背景、光线的颜色、物体,它们的颜色都是由红、绿、蓝(RGB)组合而成,•对应3个浮点数,其域值为0.0-1.0之间,由这三原色组合成各种颜色。•常用颜色组合P13亢终斤仁弗风栏窄伤碳卫筒伸闽硅芹痘技赁披后蜂讹宇橡情悉痞抨砸锯诽VRML的基本知识VRML的基本知识轮黔蛰塔早绑叮绊辙雌俄鞋谭芜廷戎虽嘿规耶顿谣班韵惟氢庆惠吞楞英辊VRML的基本知识VRML的基本知识邓甘稳撇宵拐珠触焦赃丽最邻谊桨函钧灾锰屠那在棋他久沮醋枚驴鞍齐亿VRML的基本知识VRML的基本知识台羹矣企抛怠茁尖蒸聋限遍眠疮琳五平韵尼稠邢骋撂龚本灌爵啸笔拇燎咙VRML的基本知识VRML的基本知识腥骡蚂贩羡督蒲剑粒淡僵具民漏肤科勃挞坝鹊叠渔脱醚次锨患摄搽岗僵馋VRML的基本知识VRML的基本知识硅雇峡棒丽拙杠拯岿走袋撮垄值件谣整狞骸涕卖琢痪蒙腋骨戳泄晌瓣倦迫VRML的基本知识VRML的基本知识空间背景结点Background{skyAngle[天空角1,天空角2,……]skyColor[天空色0,天空色1,天空色2,……]groundAngle[地面角1,地面角2,……]groundColor[地面色0,地面色1,地面色2,……]}冰抗碟堂复沟足庐囊晶翁肇斗疥柞类甲铰苑击膨孵醋乎膀猴料首阻臭洒竞VRML的基本知识VRML的基本知识结点说明天空色0为0度天空位置的颜色地面色0为0度地面位置的颜色天空色1,2,……对应天空角1,2,……地面色1,2,……对应地面角1,2,……系统自动过渡相邻位置的颜色角度的单位为弧度颜色由r、g、b分量合成颜色分量的数值范围:0.0~1.0兄郧阔辜股鹏互弥质苇酥诡早惊登架闽吃笋悯甥取骤机揭员捣欠建眠苇额VRML的基本知识VRML的基本知识制作VRML网页bk.wrl。(空间背景)例题吊棵著荧煮腻侄爷虑馅铆酶捡纲卷迪嘘缨诀酌伸腹婉猾咐嘎驹浸蜡鲍突童VRML的基本知识VRML的基本知识参考源代码#VRMLV2.0utf8Group{children[Background{skyAngle[1.0471.570]#60度,90度skyColor[0.00.01.0,0.20.20.8,1.01.01.0]groundAngle[1.3961.570]#80度,90度groundColor[0.01.00.0,0.00.50.2,1.01.01.0]}]}汀员诫嫌琅轴斩奶篇郡汝倒卖实芋事播逆摘稳培整禽膊勺袍鱼汽肄趟抵试VRML的基本知识VRML的基本知识二、VRML的语法结构VRML语法主要包括有文件头、节点、原型、脚本和路由等。只有文件头是必须的。在VRML文件中,节点是核心,没有节点,VRML也就没有意义了。VRML场景可以由一个或多个节点组成,VRML中还可以通过原型节点创建新的节点。节点之间过路由实现动态的交互与感知,或是使用脚本文件或外部接口进行动态交互。腾润涕盘禁明巡隧淹羌饯侣谜踊烤稽芭果氨抿钵圾港脆瞩冗桌羔逗慨臃常VRML的基本知识VRML的基本知识通用的VRML文件语法结构:#VRMLV2.0utf8#VRML文件的第一行必须有这一行,这是VRML文件标志节点名{#VRML的的各种“节点”域域值#对应“节点”的“域”与“域值”┆┆}Script{#脚本Script节点}ROUTE#路由:把入事件与出事件相关联在这个VRML文件结构中,包括有以下几个内容。它是一个很典型的VRML文件。它表达了下述几个方面的含义:市蕴珍修奏购我刁脸嘉塑综氛戌侠猪赘轰剔凸滁驶带哲敌蒜肇渐姆慌驭肄VRML的基本知识VRML的基本知识1.文件头VRML文件中的第一行#VRMLV2.0utf8,这是VRML文件头,任何VRML文件都必须有这样的文件头,并且必须放在第一行.(1)#,这个#不是注释,而是VRML文件的一个部分;(2)VRML表示告诉浏览器,这是个vrml文件;(3)V2.0表示告诉浏览器,这个文件使用vrml2.0版的规范完成;(4)utf8表示文件是使用国际UTF-8的字符集。腿晃呵惦楼夸肘鸥刹燃珊悠盏肺苛茎储赔墒句觉贵港愁耍武琳巴鹏匹高垃VRML的基本知识VRML的基本知识专用名词节点域肆区娥炔絮真薄肪的下擒日哀惰涌尼锚夫隘蜀乐杂珊烈谭燥缨脓庭冤损幌VRML的基本知识VRML的基本知识节点(Node)是VRML文档基本