国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種在三維虛擬現實場景中的物體空間擺位方法及裝置的制作方法

      文檔序號:6370326閱讀:269來源:國知局
      專利名稱:一種在三維虛擬現實場景中的物體空間擺位方法及裝置的制作方法
      技術領域
      本發(fā)明涉及虛擬現實應用領域,特別涉及一種在三維虛擬現實場景中的物體空間擺位方法及裝置。
      背景技術
      計算機圖像技術的快速發(fā)展,使得三維虛擬現實技術得到了長足的進步。二維和三維空間操作的區(qū)別,參見圖1,在二維空間中,我們有個兩個坐標軸(X,Y),我們稱其為一個平面。三維空間也就是我們所說的立體空間就是由X,Y,Z三個軸即橫坐標、縱坐標、垂直坐標組成的空間。如果我們要在這兩種空間中去確定一個物體的位置,我們只需要指定該物體的各個軸的坐標值。但是將這個過程用計算機圖形學的方式在電腦上實現,結果可能沒那么簡單,對于二維空間,因為我們用的顯示器本身也是二維的,我們只需要將我們的二維空間映射到電腦顯示器上即可,我們依然可以得到一個虛擬的二維空間,二維空間的移動和旋轉都在一個平面上。但是如果將三維空間在二維的顯示器中呈現,多出的一個軸的內容將需要通過透視投影的方式再計算平面投影,從而最終顯示在顯示器上。
      ·
      在這樣二維的顯示器中,我們需要對其顯示的三維物體進行位置的移動是比較復雜的,首先,鼠標只能在顯示器平面上移動,并不能深入到顯示器內部,在這種情況下,我們并不能將三維物體沿著顯示器的深度方向拉近和推遠。無法實現像我們在真實世界中一樣,擺放一個物體可以在三維空間中多軸向的操作。其次,三維空間中對一個物體的旋轉也會是多軸向。所以目前對于在二維的顯示器中操作三維的場景,都是采用多視圖切換的方式來操作,即從不同的軸向的方向來看一個三維場景,產生多個軸向觀察的視圖,這樣可以將觀察的那個軸向省略掉,將三維降成二維來處理,通過在每個二維視圖上分別進行位置調整,達到在三維虛擬現實場景中的物體空間準確擺位的目的。但是目前這種三維虛擬現實場景中的物體空間擺位方法需要在多個二維視圖上分別調整來實現物體空間擺位,對于設計者來說,操作非常不方便,浪費設計時間。

      發(fā)明內容
      有鑒于此,本發(fā)明提供了一種在三維虛擬現實場景中的物體空間擺位的方法,該方法通過獲取可獲得三個軸向驅動數據的外置設備操控三維虛擬現實場景中的物體產生的驅動數據,再將驅動數據轉換為運動偏移量,包括移動偏移量和旋轉偏移量,從而實現了只在三維視圖中就能完成對三維虛擬現實場景中的物體空間準確擺位。該方法具體步驟為I、獲取可獲得三個軸向驅動數據的外置設備操控三維虛擬現實場景中的物體產生的驅動數據;2、轉換上述驅動數據為三個軸向的運動偏移量;3、判斷運動偏移量是否為0,對運動偏移量不為0的物體進行三個軸向分量的運動以實現擺位。
      其中步驟I操控三維虛擬現實場景中的物體是在三維視圖中完成的,其他視圖只用于作為目視參考。其中所述三個軸向的驅動數據為屏幕所在平面橫向X軸和縱向Y軸,垂直屏幕所在平面Z軸三個軸向的驅動數據。本發(fā)明提供了一種在三維虛擬現實場景中的物體空間擺位裝置。該裝置具體包括讀取單元用于從設備驅動接口讀取可獲取三個軸向驅動數據的外置設備操縱三維虛擬現實場景中的物體的驅動數據,并將所述驅動數據發(fā)送至轉換單元;轉換單元用于將所述驅動數據轉換為三維虛擬現實場景的物體最終的三個軸向的運動偏移量,并將所述最終三個軸向的運動偏移量發(fā)送至擺位單元;擺位單元用于對運動偏移量不為0的物體進行三個軸向分量的運動以實現對物 體空間位置和角度的更新。本發(fā)明通過外置設備移動三維虛擬現實場景中的物體獲取驅動數據,轉換出物體的移動偏移量和旋轉偏移量,對偏移量不為0的物體進行三個軸向的移動和旋轉,使得本發(fā)明實現了只在三維視圖上操縱物體即可完成對三維虛擬現實場景中的物體空間的準確擺位,而其他視圖只作為目視參考物體擺位操作的位置是否到位即可;由此縮短了三維虛擬現實場景設計人員的設計時間,減少了工作量。


      圖I是二維和三維空間操作的區(qū)別的圖例;圖2是一種在三維虛擬現實場景中的物體空間擺位方法的步驟圖例;圖3是外置設備為操縱桿時,操縱桿操作方法圖例;圖4是外置設備為操縱桿時,轉換驅動數據為三個軸向的運動偏移量的步驟圖例;圖5是外置設備為三維鼠標的圖例;圖6是外置設備為三維鼠標時,轉換驅動數據為三個軸向的運動偏移量的步驟圖例;圖7是一種在三維虛擬現實場景中的物體空間擺位裝置的組成圖例。
      具體實施例方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和具體實施方式
      對本發(fā)明實施例作進一步詳細的說明。本發(fā)明提供了一種在三維虛擬現實場景中的物體空間擺位方法,該方法通過獲取可獲得三個軸向驅動數據的外置設備操控三維虛擬現實場景中的物體產生的驅動數據,再將驅動數據轉換為運動偏移量,包括物體的移動偏移量和旋轉偏移量,從而實現了只在三維視圖中就能完成對三維虛擬現實場景中的物體空間準確擺位。參見圖2,該方法具體步驟為21、獲取可獲得三個軸向驅動數據的外置設備操控三維虛擬現實場景中的物體產生的驅動數據;
      22、轉換上述驅動數據為三個軸向的運動偏移量;23、判斷運動偏移量是否為0,對運動偏移量不為0的物體進行三個軸向分量的運動以實現擺位。在步驟21中,使用了外置設備來操控三維虛擬現實場景中的物體,是為了解決三維虛擬現實場景中的物體在二維屏幕上實現三維縱深移動和旋轉的效果的技術問題,通過可獲得三個軸向驅動數據的外置設備獲得三個軸向的驅動數據,經過轉換驅動數據為三個軸向的運動偏移量,包括移動偏移量和旋轉偏移量,即可以獲得水平橫向,水平縱向,垂直方向的三個軸向的移動和旋轉量。所以設計人員使用該外置設備只在三維視圖中對三維虛擬現實場景中的物體進行操控,就能達到將物體擺位到深入顯示器內部的效果,而其他視圖只用來作為目視參考物體擺位操作位置是否到位即可。其中步驟21所述外置設備與電腦通過設備驅動接口通訊,外置設備操縱三維虛 擬現實場景中的物體移動時,驅動數據傳輸到該接口。其中步驟21所述驅動數據通過讀取外置設備與電腦通訊接口的數據獲取。在本發(fā)明一個實施例中,其中步驟21所述可獲得三個軸向驅動數據的外置設備可以使用例如游戲操縱桿這種外部設備,參見圖3,外部設備的工作操作方法和狀態(tài)首先定義屏幕空間屏幕所在平面為橫向X軸和縱向Y軸,垂直屏幕所在平面為Z軸;處在操控物體狀態(tài)的操縱桿在真實物理空間沿水平面方向移動的操作定義為三維虛擬現實場景中的物體在三維虛擬現實場景水平面移動,其中所述三維虛擬現實場景水平面為以上所定義的屏幕空間的X軸和Z軸所在平面;處在操控物體狀態(tài)的操縱桿在真實物理空間沿垂直水平面方向移動的操作定義為三維虛擬現實場景的物體在三維虛擬現實場景垂直水平面方向移動,其中所述三維虛擬現實場景垂直水平面方向為以上所定義的屏幕空間的Y軸;將點選中物體的同時旋轉操縱桿定義為選中物體且旋轉。在本發(fā)明的使用操縱桿這個實施例中,步驟22的具體實現方法,參見圖4 401 :其中步驟22所述驅動數據從步驟21獲取時是6元數組數組的前三位元素對應三維虛擬現實場景物體的移動偏移向量,數組的后三位元素對應三維虛擬現實場景物體的旋轉偏移向量,以上所述數組的每個元素都是整數值。其中步驟22所述轉換上述驅動數據為三個軸向的運動偏移量,包括移動偏移量和旋轉偏移量,是因為在三維場景中移動和旋轉量可以使用浮點數(即帶小數點的數據)來實現更加精確的位置操作,經過此轉換步驟,整數值的偏移量經過計算可以轉換為更加精確的帶浮點數的偏移量。以這個具體實施例來計算,具體為現假設外置設備操縱桿沿X軸方向的移動量為X,則正方向移動的數值為X,沿負方向上移動的數值為-X,將其表示為mx (則mx可為正數也可以為負數和0);同理假設外置設備沿Y軸方向的移動量表示為my (則my可為正數也可以為負數和0);同理假設外置設備沿Z軸方向的移動量表示為mz (則mz可為正數也可以為負數和0);假設外置設備沿X軸的旋轉量為X,則向右旋轉的數值為X,向左旋轉的數值為-X,將其表示為rx (則rx可為正數也可以為負數和0);同理假設外置設備沿Y軸的旋轉量表示為ry (則ry可為正數也可以為負數和0);同理假設外置設備沿Z軸的旋轉量表示為rz (則rz可為正數也可以為負數和0);402 :將數組的前三個元素用移動偏移向量M(mx, my, mz)表示;403:假設外置設備移動的最大量程是L,移動偏移向量/外置設備的最大量程,SP獲得移動偏移百分比M' =M/L;404 :假設場景尺寸是S,移動偏移百分比/場景尺寸,即獲得修正移動偏移向量M" =M' XS ;405 :將毫米單位轉換成米單位的修正值,因為在三維虛擬現實場景中單位一般為米,修正移動偏移向量X0. 001,即獲得最終的移動偏移向量M" ' =M" X0. 001 ;M"'即是最終需要的對應三維虛擬現實場景的移動偏移量。 406 :將數組的后三個元素用旋轉偏移向量R(rx, ry, rz)表示;407:假設外置設備旋轉的最大量程是T,旋轉偏移向量/外置設備的最大量程,SP獲得旋轉偏移百分比R' = R/T ;408 :R'即是最終需要的對應三維虛擬現實場景的旋轉偏移量。在本發(fā)明的另一個實施例中,其中步驟21所述可獲得三個軸向驅動數據的外置設備也可以使用三維鼠標這種外部設備,參見圖5,外部設備的工作操作方法和狀態(tài)首先我們定義屏幕空間屏幕所在平面為橫向X軸和縱向Y軸,垂直屏幕所在平面為Z軸;將不點選中物體的同時平滑移動鼠標的操作定義為移動光標且不移動物體;將按下鼠標左鍵選中物體的同時移動定義為選中三維虛擬現實場景中的物體且所述物體在三維虛擬現實場景水平面移動,其中所述三維虛擬現實場景水平面為以上所定義的屏幕空間的X軸和Z軸所在平面;將按下鼠標右鍵選中物體的同時移動定義為選中三維虛擬現實場景中的物體且所述物體在三維虛擬現實場景中旋轉;將滾動滑輪中鍵定義為將選中的三維虛擬現實場景中的物體在三維虛擬現實場景中垂直水平面方向移動,其中所述三維虛擬現實場景垂直水平面方向為以上所定義的屏幕空間的Y軸。在本發(fā)明的使用三維鼠標這個實施例中,步驟22的具體實現方法,參見圖6 601 :其中步驟22所述三個軸向驅動數據從步驟21獲取時是四個數據包,第一個數據包分別包含了鼠標左,中,右鍵狀態(tài),狀態(tài)值0表示釋放,I表示按下;第二個數據包表示X軸方向的移動像素量;第三個數據包標識Y軸方向的移動像素量;第四個數據包表示Z軸方向的移動像素量。其中步驟22所述轉換上述驅動數據為三個軸向的運動偏移量,包括移動偏移量和旋轉偏移量,是因為要從像素量轉換為基于三維視圖窗口尺寸和速度的偏移量。所述轉換步驟以這個具體實施例來計算,具體為602 :從像素量轉換為基于三維視圖窗口尺寸的三個軸向偏移量現假設外置設備鼠標沿X軸方向移動的像素量為x,Y軸方向移動的像素量為y,中鍵的滾動像素為z ;三維視圖窗口的尺寸為寬W,高h :則偏移量為off_x = x/w ;
      off_y = y/h ;off_z = z/w ;或者 off_z = z/h ;其中off_z可以是z/w,也可以是off_z = z/h的原因是實際應用中三維視圖窗口的寬和高的尺寸相差不大,再經過z移動像素量與其進行比值,其最終結果的差別對偏移量來說是微小的,可以忽略不計的。從基于三維視圖窗口尺寸的三個軸向偏移量轉換為基于移動速度和旋轉速度的偏移量603 :移動偏移量的計算為將基于三維視圖窗口尺寸的三個軸向偏移量用向量M(off_x,off_y, off_z)表示;假設移動速度為ms,對應三維虛擬現實場景的物體移動向量M, = MXms ;M,即是最終需要的對應三維虛擬現實場景的移動偏移量。604 :判斷是否按下右鍵;605 :如果不是則旋轉偏移量為0 ;606 :如果是,則表示此時物體具有旋轉狀態(tài),將上述基于三維視圖窗口尺寸的三個軸向偏移量同時視為基于三維視圖窗口尺寸的三個軸向的旋轉偏移量。則旋轉偏移量的計算為將基于三維視圖窗口尺寸的三個軸向偏移量用向量M(off_rx,off_ry, off_rz)表示;假設旋轉速度為rs,對應三維虛擬現實場景的物體旋轉偏移向量R = MXrs ;R即是最終需要的對應三維虛擬現實場景的旋轉偏移量。其中步驟23判斷從步驟22獲取的最終三維虛擬現實場景的運動偏移量,包括移動偏移量和旋轉偏移量,對最終偏移量不為0的物體進行X軸,y軸,z軸三個軸向分量的移動和旋轉以實現對物體空間位置和角度的更新;對于物體空間位置和角度的更新,可以使用在各種三維虛擬現實場景建模軟件中經常使用的方法,具體如移動translate()函數實現。旋轉三個函數x軸pitch(x) ;y 軸yaw(y) ;z 軸roll(z)。對于這些函數的實現細節(jié)屬于數學和計算機圖形學理論的現有技術,在此不再贅述。其中步驟23對運動偏移量不為0的物體進行三個軸向分量的運動具體在三維視圖和其他視圖中進行顯示,即除了三維視圖窗口,其他視圖窗口 以選中物體為中心的其他視圖,如頂視圖,左視圖,后視圖同時根據選中物體的運動偏移量進行位置調整,這樣在移動選中物體時候,子視圖中所 顯示的內容跟隨變化,操作者可以不斷確認物體擺位操作位置是否到位。本發(fā)明提供了一種在三維虛擬現實場景中的物體空間擺位裝置。參見圖7,該裝置具體包括讀取單元用于從設備驅動接口讀取可獲取三個軸向驅動數據的外置設備操縱三維虛擬現實場景中的物體的驅動數據,并將所述驅動數據發(fā)送至轉換單元;轉換單元用于將所述驅動數據轉換為三維虛擬現實場景的物體最終的三個軸向的運動偏移量,并將所述最終三個軸向的運動偏移量發(fā)送至擺位單元;擺位單元用于對運動偏移量不為0的物體進行三個軸向分量的運動以實現對物體空間位置和角度的更新。其中讀取單元所述外置設備可以是游戲操縱桿或者三維鼠標。其中轉換單元所述轉換步驟同以上方法發(fā)明實施例中的轉換步驟相同,在此不再贅述。需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備
      所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,并不排 除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內。
      權利要求
      1. 一種在三維虛擬現實場景中的物體空間擺位方法,其特征在于,包括 .1.1、獲取可獲得三個軸向驅動數據的外置設備操控三維虛擬現實場景中的物體產生的驅動數據; I. 2、轉換上述驅動數據為三個軸向的運動偏移量; .1.3、判斷運動偏移量是否為O,對運動偏移量不為O的物體進行三個軸向分量的運動以實現擺位。
      2.根據權利要求I所述的方法,其特征在于,所述驅動數據是通過外置設備在三維視圖中操作物體產生的。
      3.根據權利要求I所述的方法,其特征在于,步驟I.3對運動偏移量不為O的物體進行三個軸向分量的運動具體在三維視圖和其他視圖中進行顯示。
      4.根據權利要求I所述的方法,其特征在于,所述外置設備具體為操縱桿。
      5.根據權利要求4所述的方法,其特征在于,所述驅動數據的獲取是通過操縱桿具體以下操作獲取的 處在操控物體狀態(tài)的操縱桿在真實物理空間沿水平面方向移動的操作定義為三維虛擬現實場景中的物體在三維虛擬現實場景水平面移動; 處在操控物體狀態(tài)的操縱桿在真實物理空間沿垂直水平面方向移動的操作定義為三維虛擬現實場景的物體在三維虛擬現實場景垂直水平面方向移動; 將點選中物體的同時旋轉操縱桿定義為選中物體且旋轉。
      6.根據權利要求4所述的方法,其特征在于,步驟I.2轉換上述驅動數據為三個軸向的運動偏移量具體為 所述運動偏移量分為移動偏移量和旋轉偏移量; 所述移動偏移量通過以下算式獲得 所述移動偏移量=修正移動偏移向量XO. 001 ; 其中,移動偏移百分比=移動偏移向量/外置設備的最大量程; 修正移動偏移向量=移動偏移百分比/場景尺寸; 所述旋轉偏移量通過以下算式獲得 所述旋轉偏移量=旋轉偏移百分比; 其中,旋轉偏移百分比=旋轉偏移向量/外置設備的最大量程。
      7.根據權利要求I所述的方法,其特征在于,所述外置設備具體為三維鼠標。
      8.根據權利要求7所述的方法,其特征在于,所述驅動數據的獲取是通過三維鼠標具體以下操作獲取的 將不點選中物體的同時平滑移動鼠標的操作定義為移動光標且不移動物體; 將按下鼠標左鍵選中物體的同時移動定義為選中三維虛擬現實場景中的物體且所述物體在三維虛擬現實場景水平面移動; 將按下鼠標右鍵選中物體的同時移動定義為選中三維虛擬現實場景中的物體且所述物體在三維虛擬現實場景中旋轉; 將滾動滑輪中鍵定義為將選中的三維虛擬現實場景中的物體在三維虛擬現實場景中垂直水平面方向移動。
      9.根據權利要求7所述的方法,其特征在于,步驟I.2轉換上述驅動數據為三個軸向的運動偏移量具體為 所述運動偏移量分為移動偏移量和旋轉偏移量; 所述移動偏移量通過以下步驟獲得 從像素量轉換為基于三維視圖窗口尺寸的三個軸向移動偏移量 橫軸坐標=橫軸移動的像素量/三維視圖窗口寬; 縱軸坐標=縱軸移動的像素量/三維視圖窗口高; 垂直軸坐標=垂直軸移動的像素量/三維視圖窗口寬,或者垂直軸坐標=垂直軸移動的像素量/三維視圖窗口高; 從基于三維視圖窗口尺寸的三個軸向偏移量轉換為基于移動速度的移動偏移量 三個軸向偏移向量由橫軸坐標,縱軸坐標,垂直軸坐標組成; 所述移動偏移量=三個軸向偏移向量X移動速度; 判斷是否為旋轉狀態(tài),如果不是,最終的旋轉偏移量為O,如果是, 所述旋轉偏移量通過以下算式獲得 所述旋轉偏移量=所述三個軸向偏移向量X旋轉速度。
      10.一種在三維虛擬現實場景中的物體空間擺位裝置,其特征在于,該裝置具體包括 讀取單元用于從設備驅動接口讀取可獲取三個軸向驅動數據的外置設備操縱三維虛擬現實場景中的物體的驅動數據,并將所述驅動數據發(fā)送至轉換單元; 轉換單元用于將所述驅動數據轉換為三維虛擬現實場景的物體最終的三個軸向的運動偏移量,并將所述最終三個軸向的運動偏移量發(fā)送至擺位單元; 擺位單元用于對運動偏移量不為0的物體進行三個軸向分量的運動以實現對物體空間位置和角度的更新。
      11.根據權利要求10所述的裝置,其特征在于,所述外置設備可以是操縱桿或者三維鼠標。
      12.根據權利要求1-9任意一項所述的方法,其特征在于所述三個軸向為屏幕所在平面橫向X軸和縱向Y軸,垂直屏幕所在平面Z軸。
      全文摘要
      本發(fā)明公開了一種在三維虛擬現實場景中的物體空間擺位方法及裝置。該方法通過可獲得三個軸向驅動數據的外置設備移動三維虛擬現實場景中的物體獲取物體的運動偏移量,包括移動偏移量和旋轉偏移量,從而實現了只在三維視圖中就能完成對三維虛擬現實場景中的物體空間準確擺位,而其他視圖只作為目視參考物體擺位操作位置是否到位即可;由此縮短了三維虛擬現實場景設計人員的設計時間,減少了工作量。
      文檔編號G06T17/00GK102722908SQ20121016793
      公開日2012年10月10日 申請日期2012年5月25日 優(yōu)先權日2012年5月25日
      發(fā)明者任偉峰 申請人:任偉峰
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1