你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 跟高手学编程
1.9 X3D虚拟现实技术(下)
 

 <NavigationInfo type="&quot;EXAMINE&quot; &quot;ANY&quot;"/>

    <Shape>

      <Appearance>

        <Material diffuseColor="0 1 0"/>

      </Appearance>

      <Sphere radius="1.0"/>

    </Shape>

    <Background skyColor="1 1 1"/>

  </Scene>

</X3D>

其中头文档可有可无,Scene语句只能有一个,用来作为场景的根节点,所有场景中的节点都放在Scene根节点中。

3.文件注释

在编写X3D源代码时,为了使源代码结构更合理、更清晰、层次感更强,经常在源程序中添加注释信息。在X3D文档中允许程序员在源代码中的任何地方进行注释说明,以进一步增加源程序的可读性,使X3D源文件层次清晰、结构合理,形成的文档资料符合软件开发要求。

X3D文件注释,在X3D文档中加入注释的方式与XML的语法相同。如:<!--这是一个注释 -->X3D文件注释部分:以一个符号“<!--”开头,以“-->”结束于该行的末尾,文件注释信息可以是一行,也可以是多行,但不允许嵌套。同时,字符串“--”、“<”和“>”不能出现在注释中;浏览器在浏览X3D文件时将跳过注释部分的所有内容;另外,浏览器在浏览X3D文件时将自动忽略X3D文件中的所有空格和空行。

4.文件格式

X3D文件可由文本编辑器编写或由X3D-Edit专用编辑器编写。X3D文件格式分为三种,即x3dx3dvx3db,其扩展名为*.x3d*.x3dv以及*.x3db等类型文件。用X3D编辑器可以直接浏览运行x3dv文件,利用Xj3D浏览器可以浏览x3dx3dv以及x3db文件。

X3D文件类型(编码格式)有三种形式:

1X3D/XML编码格式,产生扩展名为.x3d文件,MIME类型为model/x3d+XML

    2 X3D/VRML编码格式,产生扩展名为.x3dv文件,MIME类型为model/x3d+VRML

3)二进制编码格式,产生扩展名为.x3db文件,MIME类型为model/x3d+binary

    X3D/VRML文件格式有:

1*.x3d文件格式是以X3D/XML编码格式。

2*.x3dz文件格式是一种gzip压缩的X3D/XML编码格式。

3*.x3dv文件格式是以X3D/VRML编码格式。

4*.x3dvz文件格式是一种gzip压缩的X3D/VRML编码格式。

5*.x3db文件格式是一种X3D二进制编码格式。

文件名

扩展名

文件名.

x3d

文件名.

x3dv

文件名.

x3db

X3D文件名常用格式:

 

 

 

 

 

 

X3D文件名全称为:*.x3d*.x3dv*.x3dbX3D系统的关键技术有:XML编码、构件模型。

五、源程序

由于X3D提供丰富、灵活、快捷的各种文件格式,为充分发挥虚拟现实软件项目开发与设计的效率,利用同一个X3D源程序文件的常用三种不同文件格式进行软件项目开发与设计,在编写X3D源程序时,可以采用以下三种文件格式:

1*.x3d源程序文件。

2*.x3v源程序文件。

3*.x3db二进制源码程序文件。

利用文本编辑器或X3D-Edit专用编辑器直接编写*.x3d源程序,使用Xj3D浏览器或BS Contact VRML/X3D6.2  BS Contact VRML/X3D7.0浏览运行*.x3d*.x3dv以及*.x3db文件。

X3D文件源程序实例。

利用X3D-Edit专用编辑器直接编写*.x3d源程序,在正确安装X3D-Edit专用编辑器前提下,启动X3D-Edit专用编辑器进行编程。利用X3D基本几何节点、复杂节点编写X3D源程序。在X3D源程序实例/目录下,提供X3D虚拟现实源程序:px3d1.x3d源程序。

【实例源程序】虚拟现实装饰灯三维立体场景造型设计px3d1.x3d源程序,利用X3D基本语法、几何节点开发与设计编写源程序,使用X3D球节点和圆柱节点设计编写,源程序展示如下:

1<?xml version="1.0" encoding="UTF-8"?>

2<!DOCTYPE X3D PUBLIC "http://www.web3d.org/specifications/x3d-3.1.dtd"

                     "file:///www.web3d.org/TaskGroups/x3d/translation/x3d-3.1.dtd">

3<!--Warning:  transitional DOCTYPE in source .x3d file-->

4<X3D profile="Immersive" version="3.1"

  xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="http://www.web3d.org/specifications/x3d-3.1.xsd">

5  <head>

6    <meta content="px3d1.x3d" name="filename"/>

7    <meta content="zjz-zjr-zjd" name="author"/>

8    <meta content="*enter name of original author here*" name="creator"/>

9    <meta content="*enter copyright information here* Example:  Copyright (c) Web3D Consortium Inc. 2006" name="rights"/>

10    <meta content="*enter online Uniform Resource Identifier (URI) or Uniform Resource Locator (URL) address for this file here*" name="identifier"/>

11    <meta content="X3D-Edit, http://www.web3d.org/x3d/content/README.X3D-Edit.html" name="generator"/>

12  </head>

13  <Scene>

14    <Background skyColor="0.98 0.98 0.98"/>             

15    <Transform translation="0 1.9 0">

16      <Shape>

17        <Appearance>

18          <Material ambientIntensity="0.1" diffuseColor="0 0 1"

19            shininess="0.15" specularColor="0.8 0.8 0.8"/>

20        </Appearance>

21        <Sphere radius="1"/>

22      </Shape>

23    </Transform>

24    <Transform translation="0 0 0">

25      <Shape>

26        <Appearance>

27          <Material ambientIntensity="0.4" diffuseColor="0.5 0.5 0.7"

28            shininess="0.2" specularColor="0.8 0.8 0.9"/>

29        </Appearance>

30        <Cylinder bottom="true" height="6" radius="0.3" side="true" top="true"/>

31      </Shape>

32    </Transform>

33  </Scene>

34</X3D>

源程序说明:

1-12行之前的程序不再赘述,从13-33之间的程序为主程序段,14行程序为背景节点,背景颜色为灰色;15-23行程序是坐标变换节点,用于确定物体造型位置;16-22行程序是模型节点,用于创建三维立体造型;17-20行程序描述三维立体造型的外观材料;21-22行程序是一个几何球节点,创建一个三维立体球形;24-32行程序用坐标变换节点、模型节点,创建一个圆柱体造型;30行程序为圆柱体造型。

虚拟现实装饰灯三维立体场景造型设计运行程序,首先,启动xj3d-browserBS Contact VRML-X3D浏览器,然后打开“X3D源程序实例/px3d1.x3d”,即可运行虚拟现实装饰灯三维立体场景造型,如图3所示。

 


 

3  虚拟现实装饰灯三维立体造型效果图

六、程序调试

X3D程序调试分为程序的静态调试和动态调试过程两大部分。X3D程序静态调试主要对X3D文件中的语法规范进行检查;X3D程序动态调试是在静态调试的基础上,进行动态调试。也就是运行X3D程序,在程序的执行过程中调试,主要排除软件设计中逻辑推理或算法错误等方面的问题,这种故障的排除需要一定的经验,在软件项目开发与设计过程中不断提高。

在运行BS Contact VRML X3D浏览器时,显示“Direct3D9 Fatal Error: Not enough video memory”,您运行的计算机系统没有足够内存资源。如图4所示。

 


 

4  BS Contact VRML X3D浏览器故障处理

 

 

 

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089