元1080反轉(zhuǎn)斷面法線方向3020,并且改變其以使得斷面法線方向3030朝向視點(diǎn)3025,如300b下的斷面法線方向3030 —樣。斷面法線方向調(diào)整單元1080然后更新虛擬信息管理單元 1060。
[0043]斷面操作方向確定單元1100根據(jù)通過(guò)視點(diǎn)位置姿勢(shì)計(jì)算單元1050所計(jì)算出的視點(diǎn)的位置姿勢(shì)、以及通過(guò)斷面位置方向獲取單元1070所獲取的斷面平面2040和法線2100,確定斷面操作方向。當(dāng)通過(guò)操作方向獲取單元1090所獲取的輸入方向與通過(guò)斷面操作方向確定單元1100所確定的斷面操作方向一致時(shí),斷面位置改變單元1110移動(dòng)斷面平面2040,并且更新虛擬信息管理單元1060。
[0044]虛擬圖像生成單元1120生成從具有通過(guò)視點(diǎn)位置姿勢(shì)計(jì)算單元1050所獲得的位置姿勢(shì)的視點(diǎn)所觀察的虛擬空間的圖像。圖像輸出單元1140將從虛擬圖像生成單元1120所接收到的虛擬空間的圖像,輸出給HMD 1010的顯示單元1030。因此,將與觀察者的視點(diǎn)的位置姿勢(shì)相對(duì)應(yīng)的虛擬空間的圖像呈現(xiàn)在頭上佩戴HMD 1010的觀察者的眼前。
[0045]圖9是示出另一形式的操作裝置的圖。圖9示出下面形式的操作裝置:觀察者把持具有顯示單元1030的操作單元1160,并且在觀察顯示在顯示單元上的虛擬物體2090和斷面平面2040時(shí)操作方向輸入單元1150。
[0046]設(shè)各操作
[0047]圖8是示出通過(guò)根據(jù)第一實(shí)施例的信息處理設(shè)備1040所要進(jìn)行的處理的流程圖。
[0048]在步驟S8010,虛擬信息管理單元1060從信息存儲(chǔ)單元1065讀出虛擬物體2090和斷面平面2040的多個(gè)信息。
[0049]在步驟S8030,視點(diǎn)位置姿勢(shì)計(jì)算單元1050計(jì)算傳感器坐標(biāo)系2060中的視點(diǎn)的位置姿勢(shì)(位置和視線方向)。注意,根據(jù)HMD 1010的形狀預(yù)先獲知、并且可以容易地計(jì)算出頭位置姿勢(shì)測(cè)量單元1020和用作為視點(diǎn)的觀察者的眼的相對(duì)位置姿勢(shì)。
[0050]圖4是用于說(shuō)明步驟S8030的操作的圖。由于預(yù)先已知虛擬空間坐標(biāo)系2080和傳感器坐標(biāo)系2060的相對(duì)位置姿勢(shì),因而將傳感器坐標(biāo)系2060中的視點(diǎn)的位置姿勢(shì)轉(zhuǎn)換成虛擬空間坐標(biāo)系中的坐標(biāo)值。然后,如圖4所示,獲得視點(diǎn)位置4010、以及在該點(diǎn)處相互垂直的三個(gè)軸,即,在水平方向上與視軸垂直的Cx軸4020、在垂直方向上與視軸垂直的Cy軸4030和沿視軸的Cz軸4040。
[0051]如果在步驟S8040判斷為操作方向獲取單元1090接收到了來(lái)自方向輸入單元1150的輸入,則處理進(jìn)入步驟S8050。如果判斷為操作方向獲取單元1090沒(méi)有接收到輸入,則處理進(jìn)入步驟S8100。
[0052]在步驟S8050,斷面位置方向獲取單元1070從虛擬信息管理單元1060獲取當(dāng)前所設(shè)置的斷面平面的位置姿勢(shì),并且計(jì)算斷面平面的法線矢量??梢酝ㄟ^(guò)根據(jù)斷面平面的任意三個(gè)連續(xù)頂點(diǎn)計(jì)算兩個(gè)矢量、并且導(dǎo)出這兩個(gè)矢量的外積,來(lái)獲得法線矢量。可以將斷面平面的法線矢量預(yù)先保存在信息存儲(chǔ)單元1065中。
[0053]在步驟S8060,如圖3中的300a所示,斷面法線方向調(diào)整單元1080根據(jù)以斷面上的任意一個(gè)點(diǎn)3015作為起點(diǎn)、并且以通過(guò)視點(diǎn)位置姿勢(shì)計(jì)算單元1050所計(jì)算出的視點(diǎn)3025作為終點(diǎn)的矢量,獲得視點(diǎn)方向單位矢量3010。此外,斷面法線方向調(diào)整單元1080獲得通過(guò)斷面位置方向獲取單元1070所計(jì)算出的斷面平面的法線方向單位矢量3020。然后,斷面法線方向調(diào)整單元1080計(jì)算視點(diǎn)方向單位矢量3010和斷面平面的法線方向單位矢量3020的數(shù)量積。
[0054]負(fù)的數(shù)量積表示用作為虛擬物體的斷面的切割方向的斷面法線方向3020未朝向視線方向。因此反轉(zhuǎn)斷面法線方向3020,從而使得觀察者可以從視點(diǎn)位置觀察斷面。更具體地,改變虛擬物體的斷面的切割方向,從而使其朝向視點(diǎn)3025,如300b中的斷面法線方向3030。當(dāng)數(shù)量積是O或者正的時(shí),斷面朝向視線方向,并且不做任何事情。
[0055]當(dāng)虛擬物體的斷面的切割方向未朝向視線方向時(shí),如300c —樣,即使反轉(zhuǎn)斷面法線方向3020、并且使其朝向視點(diǎn)3025,視線方向也未朝向斷面的切割方向。為此,在HMD1010上既不會(huì)顯示虛擬物體,也不會(huì)顯示虛擬物體的斷面。然而,HMD 1010被裝配在頭上,并且可以始終改變視點(diǎn)的位置姿勢(shì)。由于觀察者很可能采取使得視線方向3040朝向虛擬物體和斷面的姿勢(shì),因而即使在如300c所示的情況下,也優(yōu)選預(yù)先反轉(zhuǎn)斷面的切割方向。
[0056]在步驟S8080,斷面操作方向確定單元1100計(jì)算由與觀察者的視線垂直的方向和斷面的法線方向所形成的角度α,其中,當(dāng)觀察者以正常方式站立時(shí),與觀察者的視線垂直的方向是相對(duì)觀察者的“向上”方向。此時(shí),獲得根據(jù)視點(diǎn)位置姿勢(shì)計(jì)算單元1050所計(jì)算出的視點(diǎn)的位置姿勢(shì)所獲得的相對(duì)視線向上方向單位矢量4030與斷面位置方向獲取單元1070所計(jì)算出的斷面法線單位矢量2100的數(shù)量積,如圖4所示。這兩個(gè)單位矢量的數(shù)量積是由這兩個(gè)矢量所形成的角度的余弦值,因而可以根據(jù)該余弦值獲得所形成的角度α。
[0057]圖5是用于說(shuō)明在步驟S8080對(duì)朝向向上方向的斷面的操作的圖。當(dāng)斷面平面朝向相對(duì)于視線的向上方向4030時(shí),如500a和500b所示,將斷面的法線單位矢量2100的方向與對(duì)方向輸入單元1150的“向上”輸入相關(guān)聯(lián)。另外,將與斷面的法線單位矢量2100相反的方向,與對(duì)方向輸入單元1150的“向下”(也就是說(shuō),與“向上”相反的方向)輸入相關(guān)聯(lián)。當(dāng)角度α落在預(yù)定角度范圍內(nèi)(例如,0° < α <45° )時(shí),判斷為斷面平面朝向視線的向上方向。
[0058]圖6是用于說(shuō)明在步驟S8080對(duì)朝向向下方向的斷面的操作的圖。當(dāng)斷面平面朝向視線的向下方向時(shí),如600a和600b所示,將斷面的法線單位矢量2100的方向與對(duì)方向輸入單元1150的“向下”輸入相關(guān)聯(lián)。因此,將與斷面的法線單位矢量2100相反的方向與對(duì)方向輸入單元1150的“向上”輸入相關(guān)聯(lián)。當(dāng)角度α落在預(yù)定角度范圍內(nèi)(例如,135° ( α <180° )時(shí),判斷為斷面平面朝向相對(duì)于視點(diǎn)的向下方向。
[0059]圖7是用于說(shuō)明在步驟S8080對(duì)朝向橫方向(相對(duì)于觀察者的凝視方向的側(cè)向)的斷面的操作的圖。當(dāng)斷面平面朝向相對(duì)于視線的橫方向時(shí),如700a?700d所示,根據(jù)視線方向單位矢量7010和斷面的法線單位矢量2100的數(shù)量積(或者內(nèi)積),獲得所形成的角度β。當(dāng)角度β落在預(yù)定角度范圍內(nèi)(例如,45° <β〈135° )時(shí),判斷為斷面平面朝向相對(duì)于視線的橫方向。視線方向7010是與根據(jù)通過(guò)視點(diǎn)位置姿勢(shì)計(jì)算單元1050所計(jì)算出的視點(diǎn)的位置姿勢(shì)所獲得的、圖4中的視點(diǎn)的視軸方向矢量4040(Cz)相反的方向(一 Cz)。
[0060]當(dāng)斷面法線方向和視線方向朝向相同方向時(shí),如700a所示,將斷面的法線單位矢量2100的方向與對(duì)方向輸入單元1150的“向前”輸入相關(guān)聯(lián)。然后,將與斷面法線單位矢量2100相反的方向,與對(duì)方向輸入單元1150的“向后”輸入相關(guān)聯(lián)。當(dāng)角度β落在預(yù)定角度范圍內(nèi)(例如,0° ( β〈45° )時(shí),判斷為斷面平面和視線方向處于相同方向。
[0061]當(dāng)斷面法線方向和視線方向朝向相反方向時(shí)(S卩,當(dāng)它們相互相對(duì)時(shí)),如700b所示,將斷面的法線單位矢量2100的方向與對(duì)方向輸入單元1150的“向后”輸入相關(guān)聯(lián)。另外,將與斷面法線單位矢量2100相反的方向與對(duì)方向輸入單元1150的“向前”輸入相關(guān)聯(lián)。當(dāng)角度β落在預(yù)定角度范圍內(nèi)(例如,135° <β ( 180° )時(shí),判斷為斷面平面和視線方向處于相反方向上。
[0062]當(dāng)斷面平面朝向相對(duì)于在從觀察者觀察時(shí)的視線方向的左方向或者右方向時(shí),如700c或者700d所示,計(jì)算視線方向單位矢量7010的x和y成分與斷面法線單位矢量2100的X和y成分的外積。在這種情況下,當(dāng)角度β落在預(yù)定角度范圍內(nèi)(例如,45° ( β <135° )時(shí),判斷為斷面平面朝向相對(duì)于在從觀察者觀看時(shí)的視線方向的“左”或者“右”方向。如果外積(或者張量積)的符號(hào)是負(fù)的,則可以判斷為斷面朝向相對(duì)于視線方向的“右”。如果符號(hào)是正的,則可以判斷為斷面朝向相對(duì)于視線方向的“左”。
[0063]當(dāng)斷面朝向相對(duì)于視線方向的右方向時(shí),將斷面的法線單位矢量2100的方向與對(duì)方向輸入單元1150的“向右”輸入相關(guān)聯(lián)。另外,將與斷面的法線單位矢量2100相反的方向與對(duì)方向輸入單元1150的“向左”輸入相關(guān)聯(lián)。相反,當(dāng)斷面朝向相對(duì)于視線方向的左方向時(shí),將斷面法線單位矢量2100的方向與對(duì)方向輸入單元1150的“向左”輸入相關(guān)聯(lián)。另外,將與斷面法線單位矢量2100相反的方向與對(duì)方向輸入單元1150的“向右”輸入相關(guān)聯(lián)。
[0064]在步驟S8090,如果通過(guò)操作方向獲取單元1090所獲取的輸入方向與通過(guò)斷面操作方向確定單元1100所確定的斷面操作方向一致,則斷面位置改變單元1110移動(dòng)斷面平面2040,并且更新在虛擬信息管理單元1060中所管理的信息。
[0065]在步驟S8100,虛擬圖像生成單元1120生成從通過(guò)視點(diǎn)位置姿勢(shì)計(jì)算單元1050所獲得的視點(diǎn)的位置姿勢(shì)所觀看的虛擬空間的圖像。在步驟S8110,圖像輸出單元1140將從虛擬圖像生成單元1120所接收到的虛擬空間的圖像輸出給HMD 1010的顯示單元1030。
[0066]如果在步驟S8120判斷為從觀察者接收到了結(jié)束請(qǐng)求,則結(jié)束該處理。如果判斷為沒(méi)有接收到結(jié)束請(qǐng)求,則處理返回至步驟S80