3.2 立体显示技术
立体显示对于实现虚拟现实的沉浸感是十分重要的,对立体显示的图像可以通过头盔、液晶光阀眼镜等观察获得沉浸感.立体视觉模型要求对2个视点分别进行计算,生成左眼和右眼视图.这时需要2个投影 中心.根据投影面、人眼以及观察对象之间的相对位置,可有负视差、正视差之分.下面以负视差为例,根据透视原理进行如下推导计算:设2眼距离为2 half—eye,若将之间的线段的中点定义为坐标系的原点,该线段位于中轴上,轴与投影平面垂直,使用右手系建立一个三维坐标系.2眼的坐标分别为(half-eye,0,0)、(一half-eye,0,0),设物体点坐标为,物体离视点的距离是 0distance,投影平面距视点的距离为.从 2眼分别看该物体投影点,在投影平面上该物体投影点的坐标分别为:其中 为了方便计算投影点的坐标,选用右眼的位置作坐标原点,经计算可得到
同理可得到 ,Y .当计算左画面时,r 为正值;计算右画面时,rhalf-eye为负值.产生出立体图像对以后,使用头盔或立体眼镜观察时让每只眼睛只能看到立体图像对中的一幅图像,这样就能给人以立体的感受.
3.3 纹理映射技术
纹理映射技术是近几年来发展最快的技术之一,广泛应用 于三维真实感 图形 的生成与显 示中…J.运用纹理映射可以方便地制作真实感图形而不用花更多的时间去考虑物体的表面细节 ,纹理映射的本质是对三维物体进行二维参数化,即先求得三维物体表面上任一点的二维参数值,进而得到该点的纹理值,最终生成三维图形表面上的纹理图案.在光滑曲面上添加纹理图案的核心问题是映射,因此纹理问题可以简化为从一个坐标系到另一个坐标系的变换.其中至少涉及 2个映射,一个是从纹理空间到景物空间,有时也称为曲面参数化;第 2个映射是从景物空间到图像(屏幕)空间,即取景变换.通常,这2个变换被合成为一个变换.下面讲述如何在绘制三维场景时使用纹理映射技术.
1)大环境——天空盒.
虚拟校园中,首先要构建大环境——天空,在一些三维建摸软件如 3D MAX或者 Maya中,通常使用天空盒来表现天空景象,如晴朗的白天、灯光绚烂的夜晚等,天空盒的模型可以使用一个半球体,通过对半球体的内表面进行纹理贴图来表现天空环境.但这种模型在进行贴图时容易出现球体两扳处的走样.为了避免这种情况,使用立方体(去捧底面)模型来模拟天空.
2)真实感地形的绘制.
真实感地形的绘制分为地形模型映射以及真实感地形生成 2部分,地形模型映射就是把数字形式的地形数据转换成 multigen公司的 vega系统的基本格式,并计算相关的参数(顶点和法向量等)的过程.首先把数字地形模型转成 vega原语 ,以生成 vega可识别的原语序列 ,vega不仅提供了点、线、多边形等建模原语 ,而且通过这些原语还可把地形模型数据表示成典型原语序列、线型原语序列及多边形原语序列.由于 vega要求多边形必须是凸多边形因此在软件实现中采用了三角面原语序列表达地形模型.由于 vega不直接计算每个顶点的法向量,因此若需获得较佳的视觉效果或模拟特殊的地景,在转换成 Vega的三角面串序列时,就需为每一个顶点计算出它的法向量;且所有顶点的法向量应保持一致 ,否则有的三角面将不可见.取每个顶点的法矢量为围绕该顶点所有三角面的法向量的平均值,这样可以实现地形的平滑效果.真实感地形是指通过对地形进行透视投影、消隐等操作后生成像照片那样的黑白图像或彩色图像,产生出虚拟效果.通过 vega的纹理映射技术将地貌图片与数字地形进行融合,从而提高地形的表现力.
4 结 论
目前国外基于桌面的实时漫游系统报道较少,许多成熟的产品基本上都是采用的全景图和简单的场景.本系统是使用桌面系统实现了虚拟校园的实时漫游并且造价低廉 ,所采用的优化算法具有以下优点:
1)对纹理影射进行了优化,使实时绘制过程中的计算量少,效果几乎没有损失.
2)优化后 的虚拟现实引擎占用很少内存,为实现微机上的虚拟校园漫游系统提供了基础.通过实例测试证明算法能有效地对桌面虚拟现实漫游引擎实施了改造,使之运行在普通桌面系统上,绘制后的效果不仅保留了原来模型的特征,还能满足实时漫游的需求.