找论文网 > 计算机论文 > 计算机应用 >

VRML战斗机驾驶舱三维造型方法(1)

摘  要 在战斗机的虚拟现实三维造型中,驾驶舱较机体其他部分相对复杂。根据真实情况,具有高不规则、透明等特点。本文讨论了VRML下,利用Coordinate、IndexedFaceSet等节点构造战斗机驾驶舱三维空间模型的方法,并给出了该方法的设计效果验证。
    关键字 虚拟现实,造型,驾驶舱,节点
 
1  引言
    VRML(Virtual Reality Modeling Language)是一种建模语言,用来在Web环境中描述三维物体及其行为,从而在网络环境中构建虚拟场景。VRML以Internet为应用平台,作为构筑虚拟现实应用的基本构架,具有分布式、三维全景、交互性、多媒体集成、境界逼真等特性。传统的文字、平面和三维技术带来的信息表达式已经难以满足多媒体和互联网技术的飞速发展,以虚拟现实为特征的网络3D技术的广泛应用和发展势在必行。VRML被称为第二代网络程序设计语言,是网络3D的核心技术。本文将以VRML技术为基础,讨论并给出对某一假想战斗机驾驶舱实体进行三维仿真造型的方法。
2  驾驶舱造型分析
    一个常规的战斗机实体,主要由机身、机翼、机尾和驾驶舱等主要部分组成。无论是机身,还是机翼、机尾,其三维结构相对规则,利用VRML中一种或者几种几何节点(如Box节点、Sphere节点、Cylinder节点、Cone节点)的组合即可构造。但是,驾驶舱作为三维造型对象,具有较强的不规则性和材质特效(如透明),因此该部分的三维造型较为繁琐和重要。
    以假想的某一型战斗机研究对象,按照造型和材质特征,其驾驶舱的空间结构可分解为舱座和舱盖两大组成部分,图1为驾驶舱侧面空间结构,图2为驾驶舱正面空间结构。
图1  驾驶舱侧面空间结构
图2  驾驶舱正面空间结构
    根据舱盖部分玻璃材质的实际情况,造型的材质将具备“透明”效果,这一点与驾驶舱底座略有区别。针对这一复杂的、不规则造型体,应将其外表面视为一个特殊的“平面”组合。在VRML中创建空间平面并不是把多个点集合在一起,而是首先确定该平面的各个顶点,再由浏览器计算机构建该平面,这主要通过Coordinate坐标节点来实现。VRML中构造空间平面集合的节点为IndexedFaceSet,面集合节点IndexedFaceSet是Shape节点中的geometry域的域值。
3  Coordinate节点和IndexedFaceSet节点 3.1  Coordinate节点
    Coordinate节点创建一个坐标列表并被作为基于坐标的几何节点(如:IndexedLineSet节点、IndexedFaceSet节点)的coord域值使用,其语法结构如下所示。
Coordinate  {
  point [ ]
# exposedField
MFVec3f
    }
    point可见域用于提供造型的三维坐标列表P(X, Y, Z),其中每一个数值由浮点数值组成并表示坐标点在XYZ方向上与原点之间的空间距离。三维造型的所有点坐标均按如下方式定义:
P(Index1|X, Y, Z),L(Index2|X, Y,Z),…,L(IndexN|X, Y, Z)
3.2  IndexedFaceSet节点
    VRML中,一系列空间点坐标按照一定的关系集合构建的平面和平面集合,其最终空间形状由各个顶点决定。IndexedFaceSet节点共有14个域,共同决定构建面集合的形状、材质等属性特征。
IndexedFaceSet  {
  coord  NULL
# exposedField
SFNode
  coordIndex [ ]
# field
MFInt32
  texCoord NULL
# exposedField
SFNode
  texCoordIndex [ ]
# field
MFInt32
  color NULL
# exposedField
SFNode
  colorIndex [ ]
# field
MFInt32
  colorPerVertex TRUE
# field
SFBool
  normal NULL
# exposedField
SFNode
  normalInidex [ ]
# field
MFInt32
  normalPerVertex TRUE
# field
SFBool
  ccw TRUE
# field
SFBool
  convex TRUE
# field
SFBool
  solid TRUE
# field
SFBool
  creaseAngle 0.0
# field
SFFloat
  set_coordIndex
# eventIn
MFInt32
  set_texCoordIndex
# eventIn
MFInt32
  set_colorIndex
# eventIn
MFInt32
  set_normalIndex
# eventIn
MFInt32
    }
  

共2页: 1 [2] 下一页


数据结构间的纵横联系
利用JSR-223改进Spring框架的动态语言支持
工商管理 | 工科论文 | 财务管理 | 管理学 | 公共管理 | 财政税收 | 证券金融 | 会计审计 | 计算机 | 法律论文 | 医药学 | 汉语言文学
社会论文 | 工科论文 | 理科论文 | 文化论文 | 艺术论文 | 文学论文 | 哲学论文 | 政治论文 | 英语论文 | 写作指导 | 计算机应用
www.zlunwen.com 找论文网 ® 版权所有 网站地图