平滑操縱三維對象的制作方法
【專利摘要】本發(fā)明提供了在一個虛擬三維空間操縱一個虛擬三維(3D)對象的系統(tǒng)和方法。在顯示器上顯示3D對象的呈現(xiàn)。確定一個有表面的非半球形軌跡球。非半球形軌跡球與3D對象的呈現(xiàn)相關聯(lián)。檢測定位裝置的第一定位和第二定位。定位裝置的第一定位轉換到非半球形軌跡球表面的第一位置。定位裝置的第二定位轉換到非半球形軌跡球表面的第二位置。在顯示器上顯示3D對象的呈現(xiàn)的旋轉,旋轉基于非半球形軌跡球表面的第一位置和第二位置之間的行進路徑。
【專利說明】平滑操縱三維對象
【技術領域】
[0001]本發(fā)明涉及如何操縱虛擬三維(3D)對象,并且以一個特定實例解釋如何使用非半球形軌跡球操縱虛擬三維對象的方向。
【背景技術】
[0002]3D場景的開發(fā)和動畫需要放置和移動虛擬三維對象。這通常需要在虛擬場景或對象編輯環(huán)境中改變對象的方向、位置和大小。對象的方向、位置和大小是通過旋轉、平移和縮放技術來操作的。
[0003]用戶可通過一個方法來實現(xiàn)這些操縱,即直接輸入對應于所需操作的數(shù)值。例如,通過選擇對象,并指定三個旋轉屬性的值,其中每個值控制單個軸X、Y或Z的旋轉,用戶可以在一個計算機程序中改變該對象在三維空間的方向。盡管直接輸入旋轉數(shù)值為操縱三維對象的方向提供了一個精確方法,但也提出了許多挑戰(zhàn)。例如,對不是非常熟悉旋轉設置的用戶來說,界面也許不是很友好。
[0004]用戶也可使用一個指向裝置操縱虛擬三維對象。該指向裝置沿探測表面的位置變化可以用來改變三維空間中對象的方向。當用戶使用該指向裝置選擇檢測表面上的兩個位置,計算機程序可以使用這兩個位置的坐標旋轉三維對象。相對于直接輸入數(shù)值來說,使用指向裝置操縱三維對象對用戶更友好,但操作對象的精確度如果很高,對用戶是個挑戰(zhàn)。
[0005]現(xiàn)有的系統(tǒng)對提供高精確度的虛擬三維對象的操作沒有用戶友好性。因此,我們急需用戶友好的、直觀的和精確的技術,用來在三維空間中平穩(wěn)地操縱三維對象。
[0006]發(fā)明概述
[0007]描述了在虛擬三維空間中操縱虛擬三維(3D)對象的過程。一個示例方法可包括在顯示器上顯示三維對象的呈現(xiàn)。確定了具有表面的非半球形軌跡球。非半球形軌跡球與三維對象的呈現(xiàn)相關。在第一位置和在第二位置檢測到一種指向裝置。該指向裝置的所述第一位置被轉換到非半球形軌跡球表面上的第一位置。該指向裝置的第二個位置被轉換到非半球形軌跡球的表面上的第二位置。三維對象呈現(xiàn)的旋轉被顯示在顯示器上,該旋轉基于沿非半球形軌跡球表面所述第一位置和第二位置之間的行程路徑。
[0008]用于在虛擬三維空間中操縱虛擬三維對象的系統(tǒng)和計算機可讀存儲媒介也有所說明。
[0009]附圖簡述
[0010]通過參考下述附圖可以最好地理解本申請,附圖中相同的部分通過相同的數(shù)字引用。
[0011]圖1顯示一個常規(guī)半球形軌跡球。
[0012]圖2顯示一個常規(guī)半球形軌跡球和一個非半球形軌跡球之間的比較。
[0013]圖3顯示三維非半球形軌跡球的示例。
[0014]圖4顯示使用非半球形軌跡球旋轉對象的示例性程序。
[0015]圖5顯示使用非半球形軌跡球旋轉對象的另一個示例性程序。
[0016]圖6描繪了一個示例性計算系統(tǒng),該系統(tǒng)可根據(jù)各種實施例被用于在虛擬三維環(huán)境中操縱三維對象。
[0017]發(fā)明詳述
[0018]下面的描述解釋如何讓一個本領域的普通技術人員建立和使用各種不同實施例。具體設備、技術和應用的描述僅作為示例提供。對于一個本領域的普通技術人員來說,對本文所描述實施例的各種不同修改都顯而易見,并且本文定義的一般原理可以應用于其它實施例和應用,而不脫離本發(fā)明技術的精神和范圍。因此,本發(fā)明所公開的技術并不限于本文描述和展示的實施例,而是應與權利要求的范圍相一致。
[0019]下面描述了有關在虛擬三維空間中操縱虛擬三維(3D)對象過程的各種實施例。一個示例方法可包括在顯示器上顯示三維對象的呈現(xiàn)。確定了具有表面的非半球形軌跡球。非半球形軌跡球與三維對象的呈現(xiàn)相關。在第一位置和在第二位置檢測到一種指向裝置。指向裝置的所述第一位置被轉換到非半球形軌跡球表面上的第一位置。該指向裝置的第二個位置被轉換到非半球形軌跡球的表面上的第二位置。三維對象呈現(xiàn)的旋轉被顯示在顯示器上,該旋轉基于沿非半球形軌跡球表面所述第一位置和第二位置之間的行程路徑。
[0020]圖1展示一個常規(guī)半球形軌跡球104。常規(guī)半球形軌跡球104的說明通過參照計算機屏幕表面102描述。常規(guī)半球形軌跡球104提供一種在三維空間中旋轉對象的不精確方法。在一個較高水平,可通過圍繞一個虛擬3D對象創(chuàng)建虛擬球體,來實施半球形軌跡球。3D對象通常會顯示在屏幕上。在任一時刻,用戶都可以訪問球形即半球形軌跡球104的二分之一。由于軌跡球104的半球形狀,該軌跡球與屏幕表面102的虛擬交叉點的橫截面是一個圓,該半球形軌跡球104在屏幕表面102的虛擬交叉點附近的衰減幾乎是垂直的。
[0021]一個用戶使用鼠標指向光標在半球形軌跡球104上選擇一個點106。然后,該用戶把光標拖動到半球形軌跡球104的一個不同的位置上,如點110。用戶沿著球體表面在屏幕上拖拉該點時,該對象旋轉,以跟隨球體的等效轉動。此旋轉可使用分別對應于點106和110的矢量108和112進行計算。
[0022]盡管該技術提供了直觀和用戶友好的體驗,用戶旋轉對象獲得的精度只是一個較低水平。精確度的缺乏對于沿半球形軌跡球的邊緣附近進行的旋轉則更加明顯。當指向光標到達半球邊緣時,根據(jù)二維(2D)空間中光標位置的增量變化而產(chǎn)生的對象在三維空間的旋轉角度迅速增加。因此,在半球形軌跡球104的邊緣,光標沿屏幕表面102的運動的微小變化會極大地改變與半球形軌跡球104相關聯(lián)的對象的旋轉。這種現(xiàn)象在下文中得到更詳細描述。
[0023]圖2顯示一個常規(guī)半球形軌跡球和一個非半球形軌跡球之間的比較。常規(guī)半球形軌跡球104以2D顯示,以便于理解,如半球形軌跡球204 —樣。用戶可被定位成從位置208觀看屏幕表面206。當用戶沿屏幕表面206把光標從點210拖動到點212,與半球形軌跡球204相關聯(lián)的對象被旋轉。光標沿屏幕表面206的示例性運動開始于半球形軌跡球206的邊緣,并結束于該半球形軌跡球204內的10像素處。為清楚起見,10像素運動沿屏幕表面206測量。
[0024]當沿屏幕表面206的該10像素光標運動被投影到半球形軌跡球204上時,它導致從X軸到矢量214的旋轉218的角度為2D中的18度。這樣,10像素的光標從點210運動到點212時,與半球形軌跡球204相關聯(lián)的對象將被旋轉18度。請注意,沿屏幕表面206(不是在半球形軌跡球204的邊緣附近)的像素運動將產(chǎn)生顯著小于18度的旋轉角度。尤其是,與在半球形軌跡球204的中心附近拖動光標相比,沿半球形軌跡球204的邊緣附近拖動光標能更迅速地旋轉相關聯(lián)的對象。在半球形軌跡球204的邊緣附近的快速旋轉使對半球形軌跡球204相關聯(lián)的對象操縱難以平滑,也阻礙對相關聯(lián)對象的旋轉的精確控制。
[0025]與半球形軌跡球204相反的是,圖2顯示可提供額外精確度的非半球形軌跡球202。用戶沿相同的屏幕表面206把光標從點210拖動至點212時,與非半球形軌跡球202相關聯(lián)的對象的旋轉顯著小于與半球形軌跡球204相關聯(lián)的對象。特別是,對非半球形軌跡球202來說,10像素光標在屏幕表面206上從點210到點212的運動使旋轉220從x軸到矢量216的角度在二維中只有5度。
[0026]在本示例中,5度的旋轉是通過10像素光標在屏幕表面206的運動獲得的,該運動與半球形軌跡球204所描述的運動相同。請注意,沿屏幕表面206的10像素運動如果不是在非半球形軌跡球202的邊緣附近,其旋轉角度接近5度。因為與沿半球形軌跡球204邊緣和中心的旋轉角度相比,沿非半球形軌跡球202的邊緣和中心的旋轉角度更一致,所以非半球形軌跡球202提供更高的精確度和更好的用戶體驗。
[0027]圖3顯示三維中的非半球形軌跡球304的示例。圖2中相對于非半球形軌跡球描述的概念可以擴展到三維,讓對象在三維空間中旋轉,如在Χ、Y和Z軸上。軌跡球參照顯示屏幕302進行說明。與常規(guī)半球不同的是,用戶與軌跡球互動時,非半球形軌跡球使用能緩和對象所體驗的旋轉角度的衰減技術。
[0028]參考圖3,可以將具有不同衰減屬性范圍的各種形狀用于三維非半球形軌跡球,以實現(xiàn)期望的結果。一個非半球形軌跡球具有一個二維底部。此底部為圓形,并且有一個中心點。和半球不同的是,從底部中心點到非半球形軌跡球的表面所測得的該三維非半球形軌跡球的半徑在非半球形軌跡球的表面不是恒定不變的。
[0029]在一個示例性實施方式中,用戶使用觸摸屏顯示裝置來操縱一個虛擬三維空間內的虛擬三維對象。對象的表示顯示在屏幕上。用戶把裝置設置成“操縱模式”,方法是選擇切換,把指向裝置的運動解釋為對象的旋轉,而不是轉換、調整大小或其它操縱。啟動操縱模式導致系統(tǒng)確定一個非半球形軌跡球的形狀、尺寸和位置,并把軌跡球與所述對象的表示進行關聯(lián)。用戶把如手指之類的指向裝置放在屏幕上一個位置處的對象之上或附近,并在屏幕上把指向裝置拖動到另一位置。系統(tǒng)檢測到這兩個位置(或兩點之間的過渡),并把位置轉換成非半球形軌跡球表面上的兩個位置。軌跡球的表面上的這兩個位置然后用于確定應該施加到對象的旋轉角度。施加到與非半球形軌跡球相關聯(lián)的對象的旋轉可以是一維、二維或三維。顯示得到更新,以使用指向裝置根據(jù)輸入旋轉顯示旋轉后的對象。在視覺上,對象響應用戶輸入的旋轉可以很接近實時。
[0030]作為通過啟動操縱模式而確定非半球形軌跡球的形狀、大小以及位置的一種替代方法,所述非半球形軌跡球可以作為對用戶把指向裝置最初放置于顯示屏幕上的對象之上或附近的響應而確定。非半球形軌跡球的形狀、大小和/或位置特征基于相對于所述對象在觸摸屏上的初始觸碰位置而選擇。例如,軌跡球的尺寸和形狀的選擇要完全或部分包圍對象。
[0031] 在一個實施例中,與某個對象相關聯(lián)的非半球形軌跡球不完全包圍該對象。當用戶在對象上選擇一個位置以旋轉該對象時,所述非半球形軌跡球尺寸增大,使得所選擇的位置處于軌跡球范圍之內。這允許用戶操縱對象,即使當軌跡球未以可視方式顯示在顯示器上時也是如此。
[0032]圖2所示的非半球形軌跡球的例子說明,二維軌跡球用y=cos ((x~ 1.3) * ( π /2))(其中-1 < X < I)生成。該公式可擴展成三維,以在三維中生成一個非半球形軌跡球。
[0033]常規(guī)的半球形軌跡球可由下面的公式描述:
[0034]di stFromCircIeCenter=Sqrt (xXx+yXy)
[0035]z=sqrt(1.0-distFromCircIeCenter)
[0036]其中z可被概念化為從顯示屏幕正交擴展。注意,sqrt(l.0_x)是半徑為I的圓的函數(shù)。這導致可以繪制一個矢量vectorV(x, y, z)。需要注意的是半球形軌跡球為軌跡球邊緣附近、坡度大約90度的斜面。
[0037]下面的等式說明了非半球形軌跡球的一個實例:
[0038]di stFromCirc IeCenter=Sqrt (xXx+yXy)
[0039]Z=Cos (distFromCircleCenterL3X π /2) ? 這導致可以繪制一個矢量 vectorV(X,y, z)。本領域內的普通技術人員能夠理解,distFromCircleCenter變量可以提升到各種功率值。例如,功率值可以在1.2到1.4的范圍之間選擇。
[0040]本領域內的普通技術人員還能夠理解,這些僅是非半球形軌跡球的一組方程式,且其它方程和變型也可以被實現(xiàn)。在一些實例中,非半球形軌跡球方程在軌跡球邊緣導致小于90度的斜率(例如在x=l時)。而在另一些實例中,一個非半球形軌跡球在軌跡球邊緣具有在70度和85度之間的斜面。在另一個實例中,一個非半球形軌跡球在軌跡球邊緣具有45度和70度之間的斜面。而在又一實例中,所述非半球形軌跡球在軌跡球邊緣具有25度和45度之間的斜面。在該軌跡球的邊緣附近的斜面越陡,與軌跡球關聯(lián)的對象會因軌跡球邊緣附近的運動而更迅速地旋轉。
[0041]此外,軌跡球可以使用兩個或以上的段(例如樣條曲線)為不容易用單個方程式建模的非半球形軌跡球創(chuàng)建一個衰減曲線。這兩個或多個段可用來為使用非半球形軌跡球的旋轉創(chuàng)建更一致的外觀或感覺。
[0042]圖4顯示了使用非半球形軌跡球旋轉一對象的示例性過程。例如,該方法使用電子硬件或存儲在非臨時性計算機可讀存儲媒介(即可被計算機處理器讀取)內的指令來實現(xiàn)。該方法用于在虛擬三維空間中操縱虛擬三維對象。在模塊400中,一 3D對象的表示被顯示在顯示器上。該三維對象基于存儲在計算機存儲器中的多邊形網(wǎng)格。多邊形網(wǎng)格定義了對象的形狀。
[0043]非半球形軌跡球在模塊402處被確定。非半球形軌跡球具有一個表面,該表面可以是很光滑的。該非半球形軌跡球可以用可視方式顯示在顯示器上。在其它實施例中,軌跡球可以是部分透明或不可視方式顯示。在模塊404中,非半球形軌跡球與三維對象的表示相關聯(lián)。通過將非半球形軌跡球與三維對象的表示相關聯(lián),多個三維對象可以顯示在一臺計算機屏幕上,且每個三維對象有其自己的相關聯(lián)的軌跡球。
[0044]在模塊406中,在第一位置檢測到一個指向裝置。如果例子中使用了計算機鼠標,當用戶點擊鼠標上的按鈕時,該指向裝置的位置可被檢測并存儲在存儲器中。另一實例中使用了一個觸摸屏時,那么當用戶用手指或指針觸碰觸摸屏時,該指向裝置的位置可被檢測到并存儲在存儲器中。在模塊408中,指向裝置的第二位置被檢測并存儲在存儲器中。例如,當用戶用計算機鼠標再點擊一次,或當用戶把計算機鼠標拖動到一個不同的位置然后釋放時,第二個位置可以被檢測到并存儲。在另一個例子中,如果用戶觸摸該觸摸屏上的第二位置,或把手指或指針拖動到觸摸屏上的第二位置然后釋放,第二個位置可以被檢測到。
[0045]在模塊410中,所述第一位置被轉換到非半球形軌跡球表面上的第一位置。第一位置可以是具有X、Y和Z軸值的三維位置。在模塊412中,第二位置被轉換到非半球形軌跡球表面上的第二位置。所述第二位置也可以是具有X、Y和Z軸值的三維位置。普通技術人員能夠理解,三維空間的位置也可以使用其它技術存儲,。
[0046]在模塊414中,對象的旋轉顯示和記錄在計算機存儲器中。例如,該旋轉可以是流體型的動畫旋轉,也可以是從對象的原始方向跳轉到該對象旋轉后的方向。對象的旋轉基于第一位置和第二位置。更具體地說,所述旋轉可以基于沿非半球形軌跡球表面的、在所述第一位置和第二位置之間的行程路徑。因此,半球形軌跡球的形狀在對象旋轉運動中起到了重要作用。
[0047]圖5顯示使用非半球形軌跡球旋轉對象的另一示例性過程。該方法用于在虛擬三維空間中操縱虛擬三維對象。在模塊500中,一個三維對象的表示顯示在顯示器上。例如,三維對象可以基于存儲在計算機存儲器中的多邊形網(wǎng)格。該多邊形網(wǎng)格定義了對象的形狀。
[0048]模塊502中確定了非半球形軌跡球。該非半球形軌跡球具有一個可以很光滑的表面。該非半球形軌跡球可以用可視方式顯示在顯示器上,也可以用不可視方式顯示。非半球形軌跡球的底部有一個圓形的周邊和一個中心點,該中心點和底部圓形周邊上的所有點的距離相等。從底部的中心點到非半球形軌跡球表面所測得的非半球形軌跡球半徑各不相同。例如,非半球形軌跡球的半徑在所述非半球形軌跡球邊緣附近可能更長,而在靠近非半球形軌跡球表面的中心處要短一點。
[0049]在模塊504中,非半球形軌跡球與三維對象的表示相關聯(lián)。非半球形軌跡球可以被放置在三維空間內所確定的三維空間置放位置。該置放位置可以基于三維對象在三維空間中的表示的中心點。這樣,非半球形軌跡球可以定位成與三維對象的中心一致。
[0050]在模塊506中,指向裝置在第一位置檢測到。對于使用計算機鼠標的例子而言,用戶點擊鼠標上的一個按鈕時,該指向裝置的位置可被檢測并存儲在存儲器中。在使用觸摸屏的另一個實例中,當用戶用手指或指針觸碰觸摸屏時,該指向裝置的位置可被檢測到并存儲在存儲器中。在模塊508中,指向裝置在第二位置被檢測到并存儲在存儲器中。例如,當用戶用計算機鼠標再點擊一次,或當用戶把計算機鼠標拖動到一個不同的位置然后釋放時,第二個位置可以被檢測到并存儲。在另一個例子中,如果用戶觸摸該觸摸屏上的第二位置,或把手指或指針拖動到觸摸屏上的第二位置然后釋放,第二個位置可以被檢測到。如下所述,非半球形軌跡球的形狀和尺寸可以基于該第一位置。因此,可基于所述第一位置調整非半球形軌跡球大小或生成該非半球形軌跡球。
[0051]在模塊510中,非半球形軌跡球的尺寸被確定。非半球形軌跡球的尺寸可以基于指向裝置的所述第一位置。例如,非半球形軌跡球的尺寸可以確定為使其底部擴展到二維空間內三維對象的表示的投影范圍之外。所選擇的非半球形軌跡球的大小和/或形狀也可以完全包覆所述三維對象的表示。
[0052]在模塊512中,所述第一位置被轉換到非半球形軌跡球表面上的第一位置。第一位置可以是具有X、Y和Z軸值的三維位置。在模塊512中,第二個位置也被轉換到非半球形軌跡球表面上的第二位置。所述第二位置也可以是具有X、Y和Z軸值的三維位置。普通技術人員能夠理解,三維空間的一個位置可以使用其它技術存儲。
[0053]在模塊514中,第一矢量被確定。第一矢量從非半球形軌跡球底部的中心延伸到非半球形軌跡球表面上的第一位置。在模塊516中,第二矢量被確定。第二矢量從非半球形軌跡球底部的中心延伸到非半球形軌跡球表面上的第二位置。
[0054]在模塊518中,第一旋轉度數(shù)在第一維度中計算。第一旋轉度數(shù)通過確定第一矢量和第二矢量之間的第一角度來計算。在模塊520中,第二旋轉度數(shù)在第二維度中計算。第二旋轉度數(shù)通過確定第一矢量和第二矢量之間的第二角度來計算。在模塊522中,第三旋轉度數(shù)在第三維度中計算。第三旋轉度數(shù)通過確定第一矢量和第二矢量之間的第三角度來計算。例如,第一、第二、第三維度可以是三維空間中的χ、υ、ζ。
[0055]在模塊524中,對象的旋轉被記錄在計算機存儲器中。對象的旋轉也可顯示在屏幕上讓用戶觀看。旋轉三維對象的呈現(xiàn)是基于第一旋轉度數(shù)、第二旋轉度數(shù)和第三旋轉度數(shù)的其中一個或多個。對象的旋轉值可以存儲在相關聯(lián)的網(wǎng)格數(shù)據(jù)結構中,該結構與對象相關聯(lián)。
[0056]在一個示例中,旋轉可以是流動的、動畫片式旋轉,或者可以是從對象的初始方向跳轉到對象的旋轉方向。對象的旋轉基于第一位置和第二位置。更具體地來說,所述旋轉可以基于非半球形形軌跡球表面的第一位置和第二位置之間的行進路徑。因此,非半球形軌跡球的形狀在對象的旋轉運動中起著重要作用。
[0057]在另一個示例中,在輸入鼠標指針沿顯示屏的表面移動過程中,將輸入鼠標指針的一個按鈕按下移到不同位置時,系統(tǒng)不斷地從屏幕上檢測到的位置重新計算對象的旋轉。
[0058]在本示例中,與非半球形軌跡球相關聯(lián)的對象的當前3D旋轉被保存在存儲器中。系統(tǒng)檢測到指針的按鈕按下。在按下按鈕時指針的位置被轉換到非半球形軌跡球的表面。從軌跡球底部的中心到軌跡球表面轉換的位置計算出一個3D矢量。這個矢量作為初始3D矢量存在存儲器中。當系統(tǒng)檢測到指針的移動時,系統(tǒng)計算從軌跡球底部的中心到鼠標指針被轉換到的軌跡球表面位置的附加3D矢量。對于這些附加3D矢量的其中一個或多個,系統(tǒng)根據(jù)原始3D矢量和附加3D矢量計算出3D旋轉。對象基于該旋轉進行顯示,并且對象的新3D旋轉值存儲在存儲器中。這個過程的特性是讓旋轉非常穩(wěn)定。例如,如果用戶將指針移回到顯示屏上最初的起始位置,該對象將顯示為旋轉之前的對象。
[0059]下文提供了一份示例性的計算機源代碼,其中包括了許多所描述的技術。源代碼可以進一步修改,以包括其它特征或者改變基于上面所描述的技術。
[0060]
【權利要求】
1.一種計算機實現(xiàn)的在虛擬三維空間內操縱虛擬三維(3D)對象的方法,所述方法包括: 在顯示器上顯示3D對象的呈現(xiàn); 確定有表面的非半球形軌跡球; 將所述非半球形軌跡球與所述3D對象的呈現(xiàn)相關聯(lián); 檢測定位裝置的第一定位和第二定位; 將所述定位裝置的所述第一定位轉換到所述非半球形軌跡球所述表面的第一位置;將所述定位裝置的所述第二定位轉換到所述非半球形軌跡球所述表面的第二位置;及在所述顯示器上顯示3D對象呈現(xiàn)的旋轉,所述旋轉基于所述非半球形軌跡球表面的所述第一位置和所述第二位置之間的行進路徑。
2.如權利要求1所述的計算機執(zhí)行方法,其特征在于: 所述非半球形軌跡球有一帶圓形周邊的底部,所述底部有一中心;并且從所述底部中心到所述非半球形軌跡球所述表面測量到的所述非半球形軌跡球的半徑各不相同。
3.如權利要求2所述的計算機執(zhí)行方法,進一步包括: 確定第一矢量,所述第一矢量從所述底部中心延伸到所述非半球形軌跡球表面的所述第一位置; 確定第二矢量,所述第二矢量從所述底部中心延伸到所述非半球形軌跡球表面的所述第二位置; 計算第一維度中的第一旋轉度數(shù),所述第一旋轉度數(shù)通過確定第一矢量和第二矢量之間的第一角度來計算;并且 其中,在所述顯示器上顯示3D對象的呈現(xiàn)的旋轉,包括根據(jù)所述計算出的第一旋轉度數(shù),旋轉第一維度中3D對象的呈現(xiàn)。
4.如權利要求3所述的計算機執(zhí)行方法,進一步包括: 計算第二維度中的第二旋轉度數(shù),所述第二旋轉度數(shù)通過確定所述第一矢量和所述第二矢量之間的第二角度來計算; 其中,在所述顯示器上顯示3D對象的呈現(xiàn)的旋轉,包括根據(jù)所述計算出的第二旋轉度數(shù),旋轉第二維度中3D對象的呈現(xiàn); 計算第三維度中的第三旋轉度數(shù),所述第三旋轉度數(shù)通過確定所述第一矢量和所述第二矢量之間的第三角度來計算;及 其中,在所述顯示器上顯示3D對象的呈現(xiàn)的旋轉,包括根據(jù)所述計算出的第三旋轉度數(shù),旋轉第三維度中3D對象的呈現(xiàn)。
5.如權利要求2所述所述的計算機執(zhí)行方法,進一步包括: 確定三維空間中的放置位置,所述放置位置基于三維空間中3D對象的呈現(xiàn)的中心;及 根據(jù)所述放置位置將所述非半球形軌跡球置于所述3D空間中。
6.如權利要求2所述的計算機執(zhí)行方法,進一步包括: 確定非半球形軌跡球的尺寸,所述尺寸基于所述定位裝置的所述第一定位;及 其中,所述非半球形軌跡球的所述底部擴展超出二維空間中3D對象的呈現(xiàn)的投影。
7.如權利要求2所述的計算機執(zhí)行方法,進一步包括:確定所述非半球形軌跡球的尺寸,所述尺寸基于所述定位裝置的所述第一定位;及 其中,所述非半球形軌跡球完全包裹了所述3D對象的呈現(xiàn)。
8.如權利要求2所述的計算機執(zhí)行方法,進一步包括: 在計算機存儲器中存儲旋轉值,其中,所述旋轉值基于第一定位和第二定位 '及將所述旋轉值與網(wǎng)格數(shù)據(jù)結構相關聯(lián),其中,在顯示器上顯示3D對象的呈現(xiàn)的旋轉使用了所述網(wǎng)格數(shù)據(jù)結構和旋轉值。
9.如權利要求2所述的計算機執(zhí)行方法,其特征在于,檢測定位裝置包括檢測用戶與觸敏裝置的交互。
10.如權利要求2所述的計算機執(zhí)行方法,其特征在于,確定有表面的非半球形軌跡球包括根據(jù)第一定位選擇非半球形軌跡球的形狀。
11.如權利要求2所述的計算機執(zhí)行方法,其特征在于,確定有表面的非半球形軌跡球包括確定在非半球形軌跡球的邊緣有個小于90度的坡度的非半球形軌跡球。
12.如權利要求11所述的計算機執(zhí)行方法,其特征在于,確定有表面的非半球形軌跡球包括確定在非半球形軌跡球的邊緣有個70到85度的坡度的非半球形軌跡球。
13.如權利要求2所述的計算機執(zhí)行方法,其特征在于,確定有表面的非半球形軌跡球,包括使用基 于(a)半徑的乘方值和(b) pi除以2的乘積的余弦的一個方程式。
14.如權利要求13所述的計算機執(zhí)行方法,其特征在于,所述乘方值在1.2和1.4之間。
15.一個非臨時性計算機可讀存儲媒介,包括了在一個虛擬三維空間中操縱一個虛擬三維(3D)對象的計算機可執(zhí)行指令,計算機可執(zhí)行指令包括以下指令: 在顯示器上顯示3D對象的呈現(xiàn); 確定有表面的非半球形軌跡球; 將非半球形軌跡球與3D對象的呈現(xiàn)相關聯(lián); 檢測定位裝置的第一定位和第二定位; 將所述定位裝置的第一定位轉換到所述非半球形軌跡球表面的第一位置; 將所述定位裝置的第二定位轉換到所述非半球形軌跡球表面的第二位置;及在所述顯示器上顯示3D對象的呈現(xiàn)的旋轉,旋轉基于非半球形軌跡球表面第一位置和第二位置的行進路徑。
16.如權利要求15所述的非臨時性計算機可讀存儲媒介,其中: 所述非半球形軌跡球有一個帶圓形周邊的底部,底部有一個中心;及 從底部中心到非半球形軌跡球表面測量到的所述非半球形軌跡球的半徑各不相同。
17.如權利要求16所述的非臨時性計算機可讀存儲媒介,進一步包括: 確定第一矢量,所述第一矢量從底部中心延伸到所述非半球形軌跡球表面的所述第一位置; 確定第二矢量,所述第二矢量從底部中心延伸到所述非半球形軌跡球表面的所述第二位置; 計算第一維度中的第一旋轉度數(shù),所述第一旋轉度數(shù)通過確定所述第一矢量和所述第二矢量之間的第一角度來計算;及 其中,在顯示器上顯示3D對象的呈現(xiàn)的旋轉,包括根據(jù)計算出的第一旋轉度數(shù),旋轉第一維度中3D對象的呈現(xiàn)。
18.如權利要求17所述的非臨時性計算機可讀存儲媒介,進一步包括: 計算第二維度中的第二旋轉度數(shù),所述第二旋轉度數(shù)通過確定所述第一矢量和所述第二矢量之間的第二角度來計算; 其中,在所述顯示器上顯示3D對象的呈現(xiàn)的旋轉,包括根據(jù)所述計算出的第二旋轉度數(shù)旋轉第二維度中3D對象的呈現(xiàn); 計算第三維度中的第三旋轉度數(shù),所述第三旋轉度數(shù)通過確定所述第一矢量和所述第二矢量之間的第三角度來計算;及 其中,在所述顯示器上顯示3D對象的呈現(xiàn)的旋轉,包括根據(jù)所述計算出的第三旋轉度數(shù),旋轉第三維度中3D對象的呈現(xiàn)。
19.如權利要求16所述的非臨時性計算機可讀存儲媒介,進一步包括: 確定所述三維空間中的放置位置,所述放置位置基于所述三維空間中3D對象的呈現(xiàn)的中心;及 根據(jù)所述放置位置將所述非半球形軌跡球置于所述三維空間中。
20.如權利要求16所述的非臨時性計算機可讀存儲媒介,進一步包括: 確定非半球形軌跡球 的尺寸,所述尺寸基于所述定位裝置的第一定位;及 其中,所述非半球形軌跡球的底部擴展超出二維空間中所述3D對象的呈現(xiàn)的投影。
21.如權利要求16所述的非臨時性計算機可讀存儲媒介,進一步包括: 確定非半球形軌跡球的尺寸,所述尺寸基于所述定位裝置的第一定位;及 其中,所述非半球形軌跡球完全包裹了所述3D對象的呈現(xiàn)。
22.如權利要求16所述的非臨時性計算機可讀存儲媒介,進一步包括: 在計算機存儲器中存儲旋轉值,其中,所述旋轉值基于所述第一定位和所述第二定位;及 將所述旋轉值與網(wǎng)格數(shù)據(jù)結構相關聯(lián),其中,在所述顯示器上顯示3D對象的呈現(xiàn)的旋轉使用了所述網(wǎng)格數(shù)據(jù)結構和旋轉值。
23.如權利要求16所述的非臨時性計算機可讀存儲媒介,其中檢測所述定位裝置包括檢測用戶與觸敏裝置的交互。
24.如權利要求16所述的非臨時性計算機可讀存儲媒介,其中確定有表面的所述非半球形軌跡球包括根據(jù)所述第一定位選擇所述非半球形軌跡球的形狀。
25.如權利要求16所述的非臨時性計算機可讀存儲媒介,其中確定有表面的所述非半球形軌跡球包括確定在所述非半球形軌跡球的邊緣有個小于90度的坡度的非半球形軌跡球。
26.如權利要求25所述的非臨時性計算機可讀存儲媒介,其中確定有表面的所述非半球形軌跡球包括確定所述在非半球形軌跡球的邊緣有個70到85度的坡度的非半球形軌跡球。
27.如權利要求14所述的非臨時性計算機可讀存儲媒介,其中確定有表面的所述非半球形軌跡球,包括使用基于(a)半徑的乘方值和(b)pi除以2的乘積的余弦的一個方程式。
28.如權利要求27所述的非臨時性計算機可讀存儲媒介,其中所述乘方值在1.2和.1.4之間。
29.用于在虛擬三維空間中操縱虛擬三維(3D)對象的裝置,所述裝置包括: 經(jīng)配置可存儲3D對象的存儲器 '及 一個或多個經(jīng)配置可執(zhí)行下列操作的計算機處理器: 在顯示器上顯示3D對象的呈現(xiàn); 確定有表面的非半球形軌跡球; 將非半球形軌跡球與3D對象的呈現(xiàn)相關聯(lián); 檢測定位裝置的第一定位和第二定位; 將定位裝置的第一定位轉換到非半球形軌跡球表面的第一位置; 將定位裝置的第二定位轉換到非半球形軌跡球表面的第二位置;及在顯示器上顯示3D對象的呈現(xiàn)的旋轉,旋轉基于非半球形軌跡球表面第一位置和第二位置的行進路徑。
30.如權利要求29所述的裝置,其中: 所述非半球形軌跡球有一個帶圓形周邊的底部,底部有一個中心;及 從底部中心到非半球形軌跡球表面測量到的所述非半球形軌跡球的半徑各不相同。
31.如權利要求30所述的裝置,其中包括一個或多個經(jīng)進一步配置,可執(zhí)行下列操作的計算機處理器: 確定第一矢量,所述第一矢量從底部中心延伸到所述非半球形軌跡球表面的所述第一位置; 確定第二矢量,所述第二矢量從底部中心延伸到所述非半球形軌跡球表面的所述第二位置; 計算第一維度中的第一旋轉度數(shù),所述第一旋轉度數(shù)通過確定所述第一矢量和所述第二矢量之間的第一角度來計算;及 其中,在顯示器上顯示3D對象的呈現(xiàn)的旋轉,包括根據(jù)所述計算出的第一旋轉度數(shù),旋轉第一維度中3D對象的呈現(xiàn)。
32.如權利要求30所述的裝置,其中包括一個或多個經(jīng)進一步配置,可執(zhí)行下列操作的計算機處理器: 計算第二維度中的第二旋轉度數(shù),所述第二旋轉度數(shù)通過確定所述第一矢量和所述第二矢量之間的第二角度來計算; 其中,在顯示器上顯示3D對象的呈現(xiàn)的旋轉,包括基于所述計算出的第二旋轉度數(shù),旋轉第二維度中3D對象的呈現(xiàn); 計算第三維度中的第三旋轉度數(shù),所述第三旋轉度數(shù)通過確定第一矢量和第二矢量之間的第三角度來計算 '及 其中,在顯示器上顯示3D對象的呈現(xiàn)的旋轉,包括基于計算出的第三旋轉度數(shù),旋轉第三維度中3D對象的呈現(xiàn)。
33.如權利要求30所述的裝置,其中包括一個或多個經(jīng)進一步配置,可執(zhí)行下列操作的計算機處理器: 確定三維空間中的放置位置,所述放置位置基于三維空間中3D對象的呈現(xiàn)的中心;及 根據(jù)所述放置位置將所述非半球形軌跡球置于三維空間中。
34.如權利要求30所述的裝置,其中包括一個或多個經(jīng)進一步配置,可執(zhí)行下列操作的計算機處理器: 確定非半球形軌跡球的尺寸,所述尺寸基于所述定位裝置的第一定位;及 其中,所述非半球形軌跡球的底部擴展超出二維空間中3D對象的呈現(xiàn)的投影。
35.如權利要求30所述的裝置,其中所述一個或多個經(jīng)進一步配置,可執(zhí)行下列操作的計算機處理器: 確定所述非半球形軌跡球的尺寸,所述尺寸基于所述定位裝置的所述第一定位;及 其中,所述非半球形軌跡球完全包裹了 3D對象的呈現(xiàn)。
36.如權利要求30所述的裝置,其中包括一個或多個經(jīng)進一步配置,可執(zhí)行下列操作的計算機處理器: 在計算機存儲器中存儲旋轉值,其中,所述旋轉值基于所述第一定位和所述第二定位;及 將所述旋轉值與網(wǎng)格數(shù)據(jù)結構相關聯(lián),其中,在所述顯示器上顯示3D對象的呈現(xiàn)的旋轉使用了所述網(wǎng)格數(shù)據(jù)結構和旋轉值。
37.如權利要求30所述的裝置,其中檢測所述定位裝置包括檢測用戶與觸敏裝置的交互。
38.如權利要求30所述的裝置,其中確定有表面的所述非半球形軌跡球包括根據(jù)所述第一定位選擇所述非半球形軌跡球的形狀。
39.如權利要求30所述的裝置,其中確定有表面的所述非半球形軌跡球包括確定在所述非半球形軌跡球的邊緣有個小于90度的坡度的非半球形軌跡球。
40.如權利要求39提出裝置,其中確定有表面的非半球形軌跡球包括確定在所述非半球形軌跡球的邊緣有個70到85度的坡度的非半球形軌跡球。
41.如權利要求30所述的裝置,其中確定有表面的所述非半球形軌跡球,包括使用基于(a)半徑的乘方值和(b) pi除以2的乘積的余弦的一個方程式。
42.如權利要求41所述的裝置,其中所述乘方值在1.2和1.4之間。
【文檔編號】G06T19/20GK104050721SQ201410098601
【公開日】2014年9月17日 申請日期:2014年3月17日 優(yōu)先權日:2013年3月15日
【發(fā)明者】M·Q·麥卡蒂, A·P·鮑威爾 申請人:夢工廠動畫公司