VRML战斗机驾驶舱三维造型方法.docx
- 文档编号:23897744
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:6
- 大小:16.17KB
VRML战斗机驾驶舱三维造型方法.docx
《VRML战斗机驾驶舱三维造型方法.docx》由会员分享,可在线阅读,更多相关《VRML战斗机驾驶舱三维造型方法.docx(6页珍藏版)》请在冰豆网上搜索。
VRML战斗机驾驶舱三维造型方法
VRML战斗机驾驶舱三维造型方法
摘要在战斗机的虚拟现实三维造型中,驾驶舱较机体其他部分相对复杂。
根据真实情况,具有高不规则、透明等特点。
本文讨论了VRML下,利用Coordinate、IndexedFaceSet等节点构造战斗机驾驶舱三维空间模型的方法,并给出了该方法的设计效果验证。
关键字虚拟现实,造型,驾驶舱,节点
1引言
VRML(VirtualRealityModelingLanguage)是一种建模语言,用来在Web环境中描述三维物体及其行为,从而在网络环境中构建虚拟场景。
VRML以Internet为应用平台,作为构筑虚拟现实应用的基本构架,具有分布式、三维全景、交互性、多媒体集成、境界逼真等特性。
传统的文字、平面和三维技术带来的信息表达式已经难以满足多媒体和互联网技术的飞速发展,以虚拟现实为特征的网络3D技术的广泛应用和发展势在必行。
VRML被称为第二代网络程序设计语言,是网络3D的核心技术。
本文将以VRML技术为基础,讨论并给出对某一假想战斗机驾驶舱实体进行三维仿真造型的方法。
2驾驶舱造型分析
一个常规的战斗机实体,主要由机身、机翼、机尾和驾驶舱等主要部分组成。
无论是机身,还是机翼、机尾,其三维结构相对规则,利用VRML中一种或者几种几何节点(如Box节点、Sphere节点、Cylinder节点、Cone节点)的组合即可构造。
但是,驾驶舱作为三维造型对象,具有较强的不规则性和材质特效(如透明),因此该部分的三维造型较为繁琐和重要。
以假想的某一型战斗机研究对象,按照造型和材质特征,其驾驶舱的空间结构可分解为舱座和舱盖两大组成部分,图1为驾驶舱侧面空间结构,图2为驾驶舱正面空间结构。
图1驾驶舱侧面空间结构
图2驾驶舱正面空间结构
根据舱盖部分玻璃材质的实际情况,造型的材质将具备“透明”效果,这一点与驾驶舱底座略有区别。
针对这一复杂的、不规则造型体,应将其外表面视为一个特殊的“平面”组合。
在VRML中创建空间平面并不是把多个点集合在一起,而是首先确定该平面的各个顶点,再由浏览器计算机构建该平面,这主要通过Coordinate坐标节点来实现。
VRML中构造空间平面集合的节点为IndexedFaceSet,面集合节点IndexedFaceSet是Shape节点中的geometry域的域值。
3Coordinate节点和IndexedFaceSet节点
3.1Coordinate节点
Coordinate节点创建一个坐标列表并被作为基于坐标的几何节点(如:
IndexedLineSet节点、IndexedFaceSet节点)的coord域值使用,其语法结构如下所示。
Coordinate{
point[]
#exposedField
MFVec3f
}
point可见域用于提供造型的三维坐标列表P(X,Y,Z),其中每一个数值由浮点数值组成并表示坐标点在X,Y和Z方向上与原点之间的空间距离。
三维造型的所有点坐标均按如下方式定义:
P(Index1|X,Y,Z),L(Index2|X,Y,Z),…,L(IndexN|X,Y,Z)
3.2IndexedFaceSet节点
VRML中,一系列空间点坐标按照一定的关系集合构建的平面和平面集合,其最终空间形状由各个顶点决定。
IndexedFaceSet节点共有14个域,共同决定构建面集合的形状、材质等属性特征。
IndexedFaceSet{
coordNULL
#exposedField
SFNode
coordIndex[]
#field
MFInt32
texCoordNULL
#exposedField
SFNode
texCoordIndex[]
#field
MFInt32
colorNULL
#exposedField
SFNode
colorIndex[]
#field
MFInt32
colorPerVertexTRUE
#field
SFBool
normalNULL
#exposedField
SFNode
normalInidex[]
#field
MFInt32
normalPerVertexTRUE
#field
SFBool
ccwTRUE
#field
SFBool
convexTRUE
#field
SFBool
solidTRUE
#field
SFBool
creaseAngle0.0
#field
SFFloat
set_coordIndex
#eventIn
MFInt32
set_texCoordIndex
#eventIn
MFInt32
set_colorIndex
#eventIn
MFInt32
set_normalIndex
#eventIn
MFInt32
}
coordIndex域是对应Coordinate节点point域的坐标列表L的一个索引列表C,按照给定的索引顺序连接坐标点形成空间多边形,即:
C(1,X,Y,Z),C(2,X,Y,Z),…,C(N,X,Y,Z)
creaseAngle域指定一个折痕角θ的阀值,以弧度表示,用于生成光滑的造型表面。
creaseAngle域影响浏览器对几何体相邻表面之间棱的处理。
creaseAngle指定一个大于0的角度,若相邻表面法线之间夹角的绝对值小于这一角度,浏览器对相邻表面做平滑处理,从而使它们之间的边界“模糊化”(如图3所示)。
图3creaseAngle域作用
4造型设计和效果验证
舱盖的空间造型包含128个坐标点,分别构成造型的各个空间平面。
creaseAngle域值为70,提供造型的平滑效果。
由于其材质体现“透明”的玻璃效果,则transparency域值设为0.5。
造型的材质颜色diffuseColor域值设为[0.7176470588235290.7176470588235291]。
舱座的空间造型较舱盖略显复杂,坐标点为184个,构成舱盖的各个组成平面。
creaseAngle域值和transparency域值与舱盖造型相同。
为使舱盖和舱座两个空间造型的边界区别分明,舱座造型的材质颜色diffuseColor域值设为[0.7843137254901960.7843137254901960.784313725490196]。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VRML 战斗机 驾驶舱 三维 造型 方法