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