相关文章

虚拟现实中立体显示技术研究与实现

  (Virtual Reality)是一种新兴的、极有应用前景的计算机综合性技术。采用以计算机技术为核心的现代高科技生成逼真的视觉、听觉、触觉一体化的特定范围的虚拟环境。是的关键技术之一,它使人在虚拟世界里具有更强的沉浸感,的引入可以使各种模拟器的仿真更加逼真。研究立体成像技术并利用现有的微机平台,结合相应的软硬件系统在平面显示器上显示立体视景。

  2 立体视觉概述

  据研究,人的大脑能从以下4个方面获得深度(距离)线索:静态图像中的深度线索、由运动造成的深度线索、生理上的深度线索以及双目视差线索,这里仅研究双目视差线索。当用双眼看同一景物时,由于左、右眼在空间所处位置不同,两只眼晴的视角会有所不同,看到的图像也不一样,会有视差,如图1a所示。具有视差的双眼图像经大脑融合,可产生含有立体深度信息的立体图像。一般将双目所见的一对具有视差的二维图像称为立体图像对。若模仿产生这一对平面图像,并采取技术措施,使左眼只能看见右边的图像,而右眼只能看见左边的图像,则人类的视觉系统就会融合该二维空间中一对稍有差别的图像,从而生成具有立体感受的图像。根据投影面、人眼以及观察对象之间的相对位置,可有正视差(图1b)、负视差(图1c)和零视差(图1d)之分。

  

  3

  由以上研究可知,立体图像对的产生是由于左、右眼观察到的物体透视结果不同。因此在的视景仿真中设置两只虚拟的眼睛,一个获取左眼的图像,另一个获取右眼的图像,分别将左右眼的图像传送给相应的眼睛。因此。在立体显示中,需要采用包含两个视点的透视投影方法一。图2为双中心投影。

  

  左视点Leye和右视点Reye均位于X轴上,两视点间的距离为e,两视点连线中心为坐标原点,则左视点的坐标为(-e/2,0,0),右视点的坐标为(+e/2,0,0)。投影平面平行于XY平面,到左右视点的距离均为d。三维空间中一点P(xp,yp,zp)在左视点投影中的坐标为(xl,yl,zl),在右视点投影中的坐标为(xr,yr,zr),则zl=zr=d。点P(xp,yp,zp)和Reye投影线的参数方程为:

  

  由此可见,当zp>d时,0  4 OpenGL实现立体显示

  开放性图形库OpenGL(Open Graphic Library)是一个三维计算机图形和模型库。它独立于操作系统和硬件环境,适用于从个人计算机到工作站的广泛计算机环境。

  OpenGL在三维真实感图形制作中具有优秀的性能,用该图形库不仅能方便地制作出高质量的静止彩色图像,还能创造出高质量的动画效果。借助Windows编程环境还可控制模型的人机交互。由于其开放性和高度的可重用性,目前已成为业界标准。

  4.1 立体图像对的绘制

  按上述投影算法计算出立体图像对后,应用OpenGL绘制立体图像对,分别用红、绿两种颜色绘制右眼和左眼的图像。以一个变长为10 cm,中心点在原点的正方体为例,设两视点间距离e为5 cm,投影面距高观察者d为40 cm,考察正方体的一个顶点(5,5,5),由上述投影算法可得:xr=32 cm,xl=48 cm,yl=yr=4040 cm,zr=zl=d=40 cm对8个顶点分别计算后,连接相应的立体透视投影点,即可得该立方体的立体图像对。用数组vertex[8][3]存储顶点,数组translatevertexr[8][3]存储右眼投影计算后坐标,数组translatevertexl[8][3]存储左眼投影计算后的坐标,对相应的点进行投影计算: