虛擬現實(shí)中立體顯示技術(shù)研究與實(shí)現
1 引言
本文引用地址:http://dyxdggzs.com/article/227870.htm虛擬現實(shí)(Virtual Reality)是一種新興的、極有應用前景的計算機綜合性技術(shù)。采用以計算機技術(shù)為核心的現代高科技生成逼真的視覺(jué)、聽(tīng)覺(jué)、觸覺(jué)一體化的特定范圍的虛擬環(huán)境。立體顯示是虛擬現實(shí)的關(guān)鍵技術(shù)之一,它使人在虛擬世界里具有更強的沉浸感,立體顯示的引入可以使各種模擬器的仿真更加逼真。研究立體成像技術(shù)并利用現有的微機平臺,結合相應的軟硬件系統在平面顯示器上顯示立體視景。
2 立體視覺(jué)概述
據研究,人的大腦能從以下4個(gè)方面獲得深度(距離)線(xiàn)索:靜態(tài)圖像中的深度線(xiàn)索、由運動(dòng)造成的深度線(xiàn)索、生理上的深度線(xiàn)索以及雙目視差線(xiàn)索,這里僅研究雙目視差線(xiàn)索。當用雙眼看同一景物時(shí),由于左、右眼在空間所處位置不同,兩只眼晴的視角會(huì )有所不同,看到的圖像也不一樣,會(huì )有視差,如圖1a所示。具有視差的雙眼圖像經(jīng)大腦融合,可產(chǎn)生含有立體深度信息的立體圖像。一般將雙目所見(jiàn)的一對具有視差的二維圖像稱(chēng)為立體圖像對。若模仿產(chǎn)生這一對平面圖像,并采取技術(shù)措施,使左眼只能看見(jiàn)右邊的圖像,而右眼只能看見(jiàn)左邊的圖像,則人類(lèi)的視覺(jué)系統就會(huì )融合該二維空間中一對稍有差別的圖像,從而生成具有立體感受的圖像。根據投影面、人眼以及觀(guān)察對象之間的相對位置,可有正視差(圖1b)、負視差(圖1c)和零視差(圖1d)之分。
3 雙中心投影算法
由以上研究可知,立體圖像對的產(chǎn)生是由于左、右眼觀(guān)察到的物體透視結果不同。因此在立體顯示的視景仿真中設置兩只虛擬的眼睛,一個(gè)獲取左眼的圖像,另一個(gè)獲取右眼的圖像,分別將左右眼的圖像傳送給相應的眼睛。因此。在立體顯示中,需要采用包含兩個(gè)視點(diǎn)的透視投影方法一雙中心投影算法。圖2為雙中心投影。
左視點(diǎn)Leye和右視點(diǎn)Reye均位于X軸上,兩視點(diǎn)間的距離為e,兩視點(diǎn)連線(xiàn)中心為坐標原點(diǎn),則左視點(diǎn)的坐標為(-e/2,0,0),右視點(diǎn)的坐標為(+e/2,0,0)。投影平面平行于XY平面,到左右視點(diǎn)的距離均為d。三維空間中一點(diǎn)P(xp,yp,zp)在左視點(diǎn)投影中的坐標為(xl,yl,zl),在右視點(diǎn)投影中的坐標為(xr,yr,zr),則zl=zr=d。點(diǎn)P(xp,yp,zp)和Reye投影線(xiàn)的參數方程為:
由此可見(jiàn),當zp>d時(shí),0 4 OpenGL實(shí)現立體顯示
開(kāi)放性圖形庫OpenGL(Open Graphic Library)是一個(gè)三維計算機圖形和模型庫。它獨立于操作系統和硬件環(huán)境,適用于從個(gè)人計算機到工作站的廣泛計算機環(huán)境。
OpenGL在三維真實(shí)感圖形制作中具有優(yōu)秀的性能,用該圖形庫不僅能方便地制作出高質(zhì)量的靜止彩色圖像,還能創(chuàng )造出高質(zhì)量的動(dòng)畫(huà)效果。借助Windows編程環(huán)境還可控制模型的人機交互。由于其開(kāi)放性和高度的可重用性,目前已成為業(yè)界標準。
4.1 立體圖像對的繪制
按上述投影算法計算出立體圖像對后,應用OpenGL繪制立體圖像對,分別用紅、綠兩種顏色繪制右眼和左眼的圖像。以一個(gè)變長(cháng)為10 cm,中心點(diǎn)在原點(diǎn)的正方體為例,設兩視點(diǎn)間距離e為5 cm,投影面距高觀(guān)察者d為40 cm,考察正方體的一個(gè)頂點(diǎn)(5,5,5),由上述投影算法可得:xr=32 cm,xl=48 cm,yl=yr=4040 cm,zr=zl=d=40 cm對8個(gè)頂點(diǎn)分別計算后,連接相應的立體透視投影點(diǎn),即可得該立方體的立體圖像對。用數組vertex[8][3]存儲頂點(diǎn),數組translatevertexr[8][3]存儲右眼投影計算后坐標,數組translatevertexl[8][3]存儲左眼投影計算后的坐標,對相應的點(diǎn)進(jìn)行投影計算:

評論