背景技術:
本發(fā)明的實施例通常涉及計算機程序和系統的領域,并且更具體地涉及產品設計和仿真的領域。本發(fā)明的實施例可以用于視頻游戲、工程系統設計、協同決策做出、以及娛樂(例如,電影)中。
在市場上提供了許多現有的產品和仿真系統用于部件以及部件的組件的設計和仿真。這樣的系統通常采用計算機輔助設計(cad)和/或計算機輔助工程(cae)程序。這些系統允許用戶對對象或對象的組件的復雜的三維模型進行構造、操縱、以及仿真。這些cad和cae系統由此使用邊或線、在一些情況下是面提供了建模的對象的表示。線、邊、面、或者多邊形可以以各種方式(例如,非均勻有理b樣條曲線(nurbs))來進行表示。
這些cad系統管理建模對象的部件或部件的組件,其主要是幾何圖形的規(guī)格。特別地,cad文件包含根據其生成幾何圖形的規(guī)格。根據幾何圖形,生成表示。規(guī)格、幾何圖形以及表示可以存儲在單個cad文件或多個cad文件中。cad系統包括用于向設計者表示建模對象的圖形工具;這些工具用于顯示復雜對象。例如,組件可以包含上千個部件。cad系統可以用于管理可以被存儲在電子文件中的對象的模型。
cad和cae系統的出現允許針對對象的廣泛的表示可能性。一個這樣的表示是有限元分析(fea)模型。術語fea模型、有限元模型(fem)、有限元網格以及網格在本文中可互換地使用。fem通常表示cad模型,并且由此可以表示一個或多個部件或者整個組件。fem是被稱為節(jié)點的點的系統,所述節(jié)點可以互連來成為被稱為網格的柵格。fem可以以如下方式進行編程,fem具有基本對象或者其表示的對象的性質。當fem或者在本領域中公知的其他這樣的對象表示以這樣的方式進行編程時,其可以用于執(zhí)行它所表示的對象的仿真。例如,fem可以用于表示車輛的內部腔體、結構周圍的聲學流體,以及任何數量的真實世界對象。此外,cad和cae系統以及fem能夠用于對工程系統進行仿真。例如,可以采用cam系統來對車輛的噪聲和震動進行仿真。
這些現有的仿真/實驗技術不是不具有其缺點的。這些現有的方法的主要問題是它們執(zhí)行所占用的時間。這些時間可能阻礙了現有方法成為實際方法,例如,在虛擬現實中使用。
技術實現要素:
本發(fā)明的實施例克服了現有方法所帶來的問題,并且提供了提供虛擬現實體驗的方法和系統。本發(fā)明的實施例還改進了各個方面,包括仿真結構壓縮、協同仿真、系統工程的物理提取(模型)、以及視頻游戲,以及其他。
根據至少一個示例實施例,用于提供虛擬現實體驗的方法開始于在計算機存儲器中定義表示對象的模型,所述模型包括一個或多個實驗參數。在定義模型之后,通過耦合到存儲器的處理器,使用一個或多個實驗參數的一個或多個變量來執(zhí)行模型仿真。執(zhí)行仿真產生了針對一個或多個變量的每一個的相應的結果,其中相應的結果包括針對一個或多個變量的每一個的用于模型的感興趣的行為的相應的值。接下來,結果被壓縮為插值體(interpolant),其包括具有感興趣的行為的連續(xù)代理(surrogate)的分立的多面體箱(bin)。繼續(xù),響應于一個或多個實驗參數的用戶提供的值,給定用戶提供的值,使用插值體來預測感興趣的行為的值。繼而,通過向用戶顯示針對一個或多個實驗參數的用戶提供的值的對模型的影響來向用戶虛擬現實體驗,其中,所顯示的對模型的影響反映了感興趣的行為的預測的值。
根據本發(fā)明的實施例,模型是以下中的至少一項:計算機輔助工程(cae)模型、有限元模型、有限體模型、計算流體動力學模型、以及多體動力學模型。
另一實施例還包括將針對實驗參數的一個或多個變量的每一個的相應的結果連接到一個文件中,并且將該一個文件存儲在數據庫中。還在另一實施例中,存在多個感興趣的行為以及根據執(zhí)行仿真的相應的結果產生針對實驗參數的一個或多個變量的每一個的用于多個感興趣的行為的每一個行為的相應的值。這些方法實施例針對多個感興趣的行為中的每一個行為來并行地壓縮結果。在另一實施例中,感興趣的行為包括以下中的至少一個:模型的元素的空間位置、時間、以及模型的物理行為。
方法的實施例還包括對多面體箱的面進行優(yōu)化,得到對結果的改進的壓縮。在另一實施例中,代理可以是本領域中公知的任何代理,例如,多項式或徑向基函數。根據實施例,多面體箱包括類似的結果數據。此外,在方法的另一實施例中,多面體箱具有利用至少一個或多個實驗參數、感興趣的行為、一個或多個實驗參數的轉換、感興趣的行為的轉換、時間、或者空間坐標所定義的面。
本發(fā)明的可替換的實施例關于用于提供虛擬現實體驗的計算機系統。這樣的計算機系統包括處理器和具有存儲在其上的計算機代碼指令的存儲器,其中,處理器和具有計算機代碼指令的存儲器被配置為使系統實現本文所描述的各個實施例。在一個這樣的實施例中,處理器和具有計算機代碼指令的存儲器被配置為使系統在計算機系統存儲器中定義表示對象的模型,所述模型包括一個或多個實驗參數,并且使用一個或多個實驗參數的一個或多個變量來執(zhí)行模型仿真,其中執(zhí)行模型仿真產生包括針對一個或多個變量的每一個的用于模型的感興趣的行為的相應的值的結果。此外,在這樣的計算機系統實施例中,處理器和具有計算機代碼指令的存儲器還使系統將相應的結果壓縮為插值體,該插值體包括具有感興趣的行為的連續(xù)的代理的分立的多面體箱。此外,響應于一個或多個實驗參數的用戶提供的值,系統給定用戶提供的值使用插值體來預測感興趣的行為的值。使用預測的值,系統通過向用戶顯示針對一個或多個實驗參數的用戶提供的值的對模型的影響向用戶提供了虛擬現實體驗。
根據計算機系統的實施例,模型是以下中的至少一個:cae模型、有限元模型、有限體模型、計算流體動力學模型、以及多體動力學模型。在計算機系統的另一實施例中,處理器和具有計算機代碼指令的存儲器還被配置為使系統將針對實驗參數的一個或多個變量中的每一個的相應的結果連接成一個文件,并且將該一個文件存儲在數據庫中。
在另一計算機系統實施例中,存在多個感興趣的行為,并且來自執(zhí)行仿真的相應的結果產生針對實驗參數的一個或多個變量中的每一個的用于多個感興趣的行為中的每一個行為的相應的值。此外,在這樣的實施例中,處理器和具有計算機代碼指令的存儲器進一步被配置為使系統針對多個感興趣的行為中的每一個行為并行地壓縮結果。根據實施例,感興趣的行為包括以下中的至少一個:模型的元素的空間位置、時間以及模型的物理行為。
在進一步的計算機系統實施例中,根據本發(fā)明的原理,處理器和具有計算機代碼指令的存儲器進一步被配置為使系統對多面體箱的面進行優(yōu)化,來影響結果的改進的壓縮。根據計算機系統的實施例,代理是多項式以及徑向基函數中的至少一個。根據又一個實施例,多面體箱包括類似的結果數據。進一步,在另一計算機系統實施例中,多面體箱具有利用以下定義的面:至少一個或多個實驗參數、感興趣的行為、一個或多個實驗參數的變換、感興趣的行為的變換、時間、或者空間坐標。
本發(fā)明的另一實施例關于用于提供虛擬現實體驗的云計算實現。這樣的實施例關于由服務器執(zhí)行的計算機程序產品,用于通過網絡與一個或多個客戶端進行通信,其中計算機程序產品包括計算機可讀介質。在這樣的實施例中,計算機可讀介質包括程序指令,當由處理器執(zhí)行時,所述程序指令使得:在計算機系統存儲器中定義表示對象的模型,該模型包括一個或多個實驗參數,并且使用一個或多個實驗參數的一個或多個變量來執(zhí)行模型仿真,其中執(zhí)行仿真產生針對一個或多個變量的中的每一個的相應的結果,所述相應的結果包括針對一個或多個變量中的每一個的用于模型的感興趣的行為的相應的值。此外,在這樣的實施例中,當由處理器執(zhí)行程序指令時,所述程序指令還使得,響應于一個或多個實驗參數的用戶提供的值來將相應的結果壓縮為插值體,所述插值體包括具有感興趣的行為的連續(xù)的代理的分立的多面體箱,給定用戶提供的值來預測感興趣的行為的值,并且進一步,通過向用戶顯示針對一個或多個實驗參數的用戶提供的值的對模型的影響來向用戶提供虛擬現實體驗,所顯示的對模型的影響反映了感興趣的行為的預測的值。
附圖說明
通過本發(fā)明的示例性實施例的下面更詳細描述,前述的內容將變得顯而易見,正如附圖中所示出的,其中貫穿不同的視圖,相同的附圖標記指代相同的部件。這些附圖不必依比例進行繪制,而是將重點放在說明本發(fā)明的實施例。
圖1是根據至少一個實施例的用于提供虛擬現實體驗的計算機實現的方法的流程圖。
圖2描繪了根據示例實施例的虛擬現實創(chuàng)作方法。
圖3示出了根據實施例的具有設計變量的模型以及模型的虛擬現實體驗。
圖4描繪了可以在實施例中使用的模型。
圖5a-圖5f描繪了可以使用示例實施例的原理提供的在時間上的各個點的虛擬現實體驗。
圖6是可以使用本發(fā)明的實施例的原理確定的模型參數的圖。
圖7是使用實施例的原理確定的模型參數的圖。
圖8示出了根據本發(fā)明的方法的實施例計算的參數的圖。
圖9是根據實施例的用于提供現實體驗的計算機系統的簡化的框圖。
圖10是在其中可以實現本發(fā)明的實施例的計算機網絡環(huán)境的簡化的圖。
具體實施方式
下面是本發(fā)明的示例性實施例的描述。
本文所引用的所有專利、公開的發(fā)明以及引用的教導通過引用的方式將其全部條款并入本文。
本發(fā)明的實施例提供了虛擬現實體驗。在提供這樣的體驗中,實施例創(chuàng)建了真實或者虛擬環(huán)境,由此確定了針對各種感興趣的場景(即,實驗的設計)的感興趣的行為(例如,對象的節(jié)點的空間位置,例如,在vrml、cad對象或者網格中;時間;和/或物理行為,例如,溫度或者應力)。根據實施例,將數據以實例行與數據類型的列(例如,時間、對象節(jié)點坐標、或者行為值)的形式連接到一個數據文件中。描述僅僅一些秒的這樣的交互體驗軌跡的文件能夠容易地達到大約10-100千兆字節(jié)。
使用現有的方法,針對每個時間幀的成千上萬的空間節(jié)點來對該數據進行解壓縮和插值是非常慢的,尤其是利用例如“最近相鄰”之類的技術,其是利用具有最近的歐氏距離的值來完成插值的。這樣的插值可能花費許多秒,由此使得它對于針對實時或者近實時的虛擬現實體驗而言是不切實際的。
而存在用于數據壓縮以及用于提供虛擬現實體驗的方法,例如,vandervelden,美國專利申請no.14/574,843,andam等人,美國專利公開no.2008/0181303a1,以及vrml97說明書:國際標準iso/iec14722:虛擬現實建模語言,這些方法不能與本發(fā)明的實施例一樣提供實時或者近實時的虛擬現實體驗。例如,vandervelden美國專利申請no.14/574,843利用唯一的、時間的、空間的、以及輸入偶態(tài)的有限數據集合(~10000示例)操作最佳。此外,andam,美國專利公開no.2008/0181303描述了被限制為時間以及2d空間數據(例如,視頻)的壓縮技術。
andam例如在第[0025]段描述了一種方法,其中,類似的顏色值的像素被組合在一起成為由數學方程式定義的多邊形,以便成指數地減小視頻的大小。本發(fā)明的實施例通過定義合適的n維多邊形來將類似的數據裝箱(bin)從而擴展該方法,其中,多邊形邊坐標可以被定義為任何參數(例如,時間、節(jié)點、或者行為)或參數的變換。此外,本發(fā)明的實施例提供了用于創(chuàng)建針對以前述的方式裝箱的數據的感興趣的行為的近似(例如,多項式、徑向基函數)的功能。
本發(fā)明的實施例利用了規(guī)模為~n3的回歸技術。由此,在示例中,如果n=1000,樣本的每一個都具有1000回歸(regression),這樣的回歸實現與1000000個樣本的一個回歸相比更加具有效率百萬倍。此外,實施例可以通過優(yōu)化多面體的坐標并且針對每一個感興趣的行為來選擇代理模型的類型來改進壓縮的準確性。在實施例中,代理可以直接被制作為關于時間的變量,由此,預測可以被制作為時間戳的函數,或者作為非線性常微分方程的集合(例如,在vandervelden美國專利申請no.14/574,843),由此時間是數值積分的??梢允褂帽景l(fā)明的實施例達到的非常高的壓縮比率(即,1:100到1:10000)可以用于提供對域行為(例如,變型、溫度或運動)的交互式3d體驗的實時預測。
圖1是用于根據本發(fā)明的實施例提供虛擬現實體驗的方法100的流程圖。方法100開始于步驟101,其在計算機存儲器中定義表示對象的模型,其中,模型包括一個或多個實驗參數。根據方法100的實施例,模型響應于用戶交互而被定義。例如,用戶可以定義/構建模型,并且使用本領域中公知的技術來提供關于模型所表示的對象的各種數據。這可以包括以如下的方式來對模型進行編程:遵守真實世界對象的所有參數。例如,模型可以被編程為具有模型所表示的對象的任何屬性,例如,所表示的對象的維度、質量、以及硬度,以及其他示例。模型可以是本領域公知的任何模型,其可以根據在仿真中的使用來進行編程。換句話說,根據實施例,模型可以表示該對象的行為。示例模型包括計算機輔助工程(cae)模型、有限元模型、有限體模型、計算流體動力學模型以及多體動力學模型。此外,所定義的模型還可以是可以表示模型所表示的對象的各種特性的方程式或者系統方程式的形式。示例包括代數方程式、常微方程、以及偏微方程。
如本文所指出的,在步驟101處定義的模型包括實驗參數。根據實施例,實驗參數是任何如下的參數:人們研究的,想要使用由方法100提供的虛擬現實體驗來進行可視化的,和/或在執(zhí)行仿真中需要的,例如,定義實驗/仿真的條件的參數。示例實驗參數包括:模型的元素的時間、空間坐標,以及在步驟102執(zhí)行模型仿真中不同的模型的任何種類的特性。
繼續(xù),在步驟101處定義模型之后,在步驟102處執(zhí)行模型仿真。在步驟102處針對一個或多個實驗參數的一個或多個變量來執(zhí)行仿真。此外,執(zhí)行仿真產生針對一個或多個變量中的每一個的相應的結果,其中該結果包括針對一個或多個變量中的每一個的用于模型的感興趣的行為的相應的值。本發(fā)明的實施例可以確定任何數量的感興趣的行為的結果。在這樣的實施例中,在步驟102處執(zhí)行的仿真產生針對實驗參數的一個或多個變量中的每一個的用于多個感興趣的行為的每一個行為的相應的值。根據方法100的實施例,感興趣的行為包括模型的元素的空間位置、時間、以及模型的行為(例如,物理行為)中的至少一個。方法100的另一實施例還包括將根據在步驟102處執(zhí)行的仿真的結果連接為一個文件,并且進一步將該一個文件存儲在數據庫中。在實施例中,根據本領域中公知的原理來執(zhí)行仿真。
為了進一步示出步驟102,考慮簡化的示例,其中,模型是網球和網球拍,并且實驗參數包括球的位置、時間、以及球的厚度。在仿真中,時間和球位置的實驗參數變化,來對擊中球拍的球進行仿真,并且該仿真的結果例如可以包括球內部的壓力以及隨著時間的球的變形。在這樣的示例中,仿真的結果包括一個或多個感興趣的行為,例如,在不同時刻球內部的壓力和/或球的變形,以及球拍和球的位置。由此,在實施例中,結果將感興趣的行為的數據提供作為時間和空間的函數。
在步驟102處執(zhí)行仿真之后,然后在步驟103處壓縮仿真結果。在實施例中,仿真結果被壓縮為插值體,其包括具有感興趣的行為的連續(xù)的代理的分立的多面體箱。根據實施例,插值體是使用在步驟102處執(zhí)行的仿真的結果生成的感興趣的行為的函數。在實施例中,插值體即函數,包括通過不等式約束所定義的多面體箱,其中每個箱具有感興趣的行為的連續(xù)的代理。給定與每一個代理的多面體箱相對應的實驗參數,連續(xù)的代理提供了感興趣的行為的值。
根據實施例,每一個多面體箱包括類似的結果數據。例如,在網球示例中,一個箱可以包括在球和網球拍碰撞之前的結果數據,并且另一個箱可以包括來自當球和網球拍接觸時的結果。連續(xù)的代理可以是本領域中公知的任何回歸,例如,多項式或徑向基函數。此外,在替代的實施例中,代理類型可以根據每一個特定箱中的數據而不同,由此確保使用了最佳代理。根據實施例,交叉驗證或拋棄驗證技術用于確定針對每一個特定的箱使用的最佳代理。在另一個實施例中,在步驟103處壓縮結果,包括將感興趣的行為的數據壓縮為具有分立的多面體箱的插值體。
如上文所指出的,可以存在多個感興趣的行為。在這樣的實施例中,在步驟102處執(zhí)行的仿真產生針對實驗參數的一個或多個變量中的每一個的用于多個感興趣的行為的每一個行為的相應的值。進一步,在步驟103處,這樣的實施例可以針對多個感興趣的行為中的每一個來并行地壓縮結果。
根據方法100的實施例,多面體箱具有利用至少或多個實驗參數、感興趣的行為、一個或多個實驗參數的變換、感興趣的行為的變換、時間或空間坐標所定義的面。方法100的替換的實施例還包括通過優(yōu)化多面體箱的面來優(yōu)化在步驟103處執(zhí)行的壓縮。在另一實施例中,多面體箱是通過不等式約束來表示的,并且在步驟103處的壓縮是通過將多面體箱與可能由于實驗的物理或幾何形狀而導致的感興趣的行為的任何不連續(xù)進行對齊來進行改進的。在示例中,表示多面體箱的不等式被改善,使得在不連續(xù)事件之前的數據屬于一個箱,并且在該事件期間的數據去往另一個箱。為了示出使用網球和網球拍示例,表示多面體箱的不等式可以被定義,使得球在擊中網球拍之前在飛行時的數據在一個箱中,并且當球與網球拍接觸時的數據在另一個箱中。
在步驟104,響應于一個或多個實驗參數的用戶提供的值,使用插值體針對所提供的值來預測感興趣的行為的值。為了示出,返回到前述的網球示例,用戶可以提供網球的厚度的值以及球和網球拍的各個時間和位置(實驗參數),并且作為響應,網球內部的壓力的值以及具有給定厚度的球的變形(感興趣的行為)可以在步驟104處使用插值體來在時間和空間上確定。
繼續(xù),方法100在步驟105通過顯示針對一個或多個實驗參數的用戶提供的值的對模型的影響來向用戶提供虛擬現實體驗,其中所顯示的對模型的影響反映了在步驟104處確定的感興趣的行為的預測的值。如上文所指出的,因為感興趣的行為的值可以例如被確定為時間和空間的函數,所以提供的虛擬現實體驗可以類似地反映時間上和空間上的感興趣的行為。根據實施例,可以通過本領域中任何公知的手段來向用戶提供該虛擬現實體驗,例如,通過給定參數和根據本文描述的原理確定的行為的預測的值,顯示模型的動畫。例如,一旦返回到網球示例,在步驟105,提供虛擬現實體驗可以顯示各個時間的球和網球拍的位置,并且可以例如通過顏色著色來示出球內的不同壓力。在實施例中,可以使用包括箱和代理模型的文件來提供虛擬現實體驗,如本文所描述的。根據實施例,提供虛擬現實體驗可以使用本領域所公知的針對該數據的任何虛擬現實文件格式或者人們可以定義的任何虛擬現實格式而被實現。示例虛擬現實文件格式包括vrml、x3d、webgl、u3d、o3d。關于提供虛擬現實體驗的進一步的細節(jié)在以下關于圖5a-圖5f來描述。
本發(fā)明的實施例使用如下的實驗,其中,針對各種感興趣的場景(實驗設計)來跟蹤感興趣的行為,并且繼而,數據被連接成一個數據文件。根據實施例,感興趣的行為可以是對象的節(jié)點的空間位置(例如,vrml、cad或網格)、時間或物理行為(溫度、應力)。圖2示出了用于使用有限元多面體仿真來提供虛擬現實體驗的工作流220。工作流220開始于在步驟221定義模型參數和這些參數的變量。接下來,在步驟222針對模型變量的每一個來運行仿真,其中模型變量的每一個產生時間、節(jié)點的空間位置、以及感興趣的行為的輸出。根據工作流220的實施例,可以在步驟222處針對每一個實驗參數(p)來執(zhí)行仿真。根據工作流220的實施例,在步驟222處的仿真可以使用計算機群集針對感興趣的參數的每個樣本(p)來并行地執(zhí)行。在步驟223,包括來自在步驟222處執(zhí)行的仿真的參數(p)、時間(t)、位置(x)、以及感興趣的行為(b)的結果可以連接到文件中。繼而,壓縮方法將結果數據集減少為插值體,其包括具有感興趣的行為域(b)的連續(xù)代理的分立的多面體箱。在實施例中,在步驟224處的壓縮可以針對每個感興趣的域(b)而在計算機群集上并行地運行。在執(zhí)行步驟221-224之后,工作流220現在可以實時地響應于步驟225的參數的用戶提供值來將域數據(b)插值體為時間、空間的函數,并且用戶提供的值用于在步驟226預測感興趣的行為的值。用于實時地預測感興趣的行為的值的能力允許工作流220和/或其一個或多個步驟在提供虛擬現實體驗中使用。
圖3示出了本發(fā)明的實施例(例如,方法100和工作流220)如何應用于網球330和網球拍331的交互,網球330和網球拍331中的每一個具有特定的(x,y,z)幾何節(jié)點。利用本發(fā)明的原理可以提供虛擬現實體332,其示出了利用不同的實驗參數(p)球330擊中或否則碰撞球拍331,不同的實驗參數例如,速度333、球壓力334、球壁厚度335、弦張力336、以及弦截面337。取決于這些參數(333-337),球和球拍變形以及軌跡行為(b)顯著地不同。非線性交互是短暫的,例如,10ms,并且引起球330中的嚴重的變形,正如在虛擬現實體驗332中所示出的。
利用本文所描述的原理,百萬個時間、節(jié)點、以及行為的計算機觀測可以被壓縮為如下形式的上千個表達式:
if{多面體空間中的本地function(p,時間,節(jié)點)}thenb=function(p,時間,節(jié)點)}
在這樣的實施例中,多面體高維位置坐標可以被抽象地壓縮為“時間”、“時間*時間”、y坐標節(jié)點*球壓力。這些多面體坐標是抽象的,并且可以被選擇來使得感興趣的行為(b)的固定形式的回歸的錯誤最小化。考慮到具有時間和速度的兩個參數的示例,其中距離等于時間*速度。在這樣的網球和球拍示例的示例中,球從某位置擊中球拍的時間取決于球經過的距離。當在自由飛行中,數據在一個箱中,并且當球和球拍接觸時,數據去往另一個箱。這兩個箱可以通過不等式時間*速度<x接觸以及時間*速度>x接觸來進行約束。在這樣的示例中的回歸誤差是通過利用該組合來詳細描述箱從而被最小化的。
在實現的虛擬現實體驗中,可以使用任何數量的多面體箱。例如,在實現體驗332中,利用變形的全第二階回歸模型來使用100多面體空間箱來創(chuàng)建球330和網球拍331交互的0.1%的準確壓縮。這樣的方法使得交互式地研究關于球330的變形行為的參數333-337的變量成為可能。換句話說,用戶可以使用本發(fā)明的原理來使參數333-337的變化不同,并且實時地查看結果?,F有的方法不能提供這樣的功能,并且受到關于感興趣的行為的參數交互的復雜性的限制。
如本文所指出的,本發(fā)明的實施例定義了包括一個或多個參數的模型,并且執(zhí)行仿真,該仿真產生可以包括多個感興趣的行為的值的結果。以下,在網球和網球拍示例的上下文中描述了各種實驗參數、感興趣的行為以及仿真/實驗條件。正如所指出的,以下的示例是非限制性的,并且實施例可以提供各種種類的對象和條件的虛擬現實體驗。示例體驗332對網球330以6.706m/秒(264in/秒)到網球拍331的傾斜影響進行仿真。該示例示出了在變形表面和節(jié)點集合之間的接觸,具有限定的初始條件以及對利用可壓縮的氣體進行填充的流體腔的建模。圖4描繪了球330和球拍331的完整的模型440。在模型440中,使用桁架單元來對球拍線441進行建模,并且球拍線441被假定為線彈性的,楊氏模量為6.895gpa(1.0x106psi),泊松比為0.3,并且密度為1143kg/m3(1.07x10-4lbsec2in-4)。線411位于初始張力44.48n(10lb)。
網球拍331的幀442被假定為是剛性的,并且是使用有限元來進行建模的。邊界周圍的線的節(jié)點(桁架單元)是與針對r3d4元素使用的那些相同的節(jié)點。剛性幀的參考節(jié)點應用界限條件來在剛體上限制全六自由度,使得幀442不能移動。
使用有限殼元來將網球330建模為球形。假定是由橡膠制成的,被建模為具有常量c10=0.690mpa(100lb/in2)和c01=0.173mpa(25lb/in2)的超彈性模型材料。在由圖5a-圖5f以及圖6-圖8所示出的結果中,d1=0.0145mpa-1(10-4psi-1)。這給出了初始體積模量(k0=2/d1),其是初始剪切模量2(c10+c01)的80倍。這個比率比典型橡膠的比率更低,但是這個結果在這個情況下對于該值不是特別敏感的,因為橡膠是不被限制的。如果橡膠由更堅硬的部件或加強來進行限制,則材料的可壓縮性的更準確的表示將被需要。將d1減少某量級(由此將初始體積模量增加10的因子),對總體結果影響很小,但是由于體積模量的增加使得穩(wěn)定時間增量減少
網球330除了環(huán)境大氣壓力的100kpa(14.7psi)之外,處于初始內部壓力為41kpa(6psi)?;谠氐拿姹欢x在網球330的內部。該表面用于定義利用氣體填充的流體腔,并且網球330的內部的氣體的特性是使用氣體的分子重量和球330的容積來進行定義的。對于圖5a-圖5f以及圖6-圖8所示出的結果,分子重量以及氣體的摩爾熱容量被選擇為0.062kg(0.1367lb)和28.110j/kg°k(112.847lbin/lbm°k)。由于球330是不透氣的,所以當球330的體積減小時,氣體的壓力將增大,并且反之亦然。靜態(tài)平衡將球的殼體元素中的初始二軸晶礦物壓力的值給出為pr/2t=155kpa(22.5psi)來平衡內部壓力(此處p是內部氣體壓力334,r是球的半徑,并且t是網球的厚度335)。該球中的壓力的初始狀態(tài)時使用本領域中公知的原理來進行定義的。
此外,在模型440中,摩擦力因子0.1是在球330以及球線441之間指定的。球330以15°角,6.706m/sec(264in/sec)影響線441。還通過利用流體靜力學元素對網球330中的氣體進行建模來分析該問題。流體密度被選擇為在100kpa(14.7psi)的大氣壓力下橡膠的十分之一。完整的模型440被示出為在圖4中,并且模型440具有2241的自由度。
基于元素的表面在網球330上進行定義。此外,由于桁架單元是線性單元,所以它們不形成曲面表面?;诠?jié)點的表面被定義為包含線441的所有節(jié)點?;谇?30的基于元素的表面與在基于節(jié)點的表面中定義的節(jié)點中的任一個之間的接觸也被定義。還利用了使用本領域所公知的通用接觸方法的輸入文件。
圖5a-圖5f示出了在時間上的各個點處的相對于線441的球330。圖5a示出了在未變形的原始位置中相對于線441的球330。圖5b-圖5f示出了在分析的不同階段球330和線441,特別地,分別為,t=2.5ms、t=5ms、t=7.5ms、t=10ms、t=2.5ms、以及t=15ms。
使用本發(fā)明的原理,用戶可以模型440的任何數量的參數不同,例如,球厚度335,并且查看虛擬現實體驗中的改變,其中,在球330和線441之間的交互取決于厚度參數而不同。
除了虛擬現實體驗,例如,由圖5a-圖5f提供的體驗,實施例能夠實時地以圖的形式來提供對模型440中的改變的反饋。圖6示出了描繪模型的能量661的時間歷史的圖660。這些能量661包括總內部能量(allie)、運動能量(allke)、粘滯耗散(allvd)、摩擦耗能(allfd)、內部工作(allwk),以及模型的總能量平衡(etotal)??偰芰吭诜治銎陂g基本保持常量,如應該的。針對不同實驗參數的任何感興趣的行為以及對仿真中的這些行為的改變還可以以圖的形式提供。圖7示出了描繪隨著時間772球771內部的壓力的圖770。此外,圖8示出了呈現出隨著時間882的球的體積的圖880。
圖9是可以用于提供根據本發(fā)明的實施例的虛擬現實體驗的基于計算機的系統990的簡化的框圖。系統990包括總線995??偩€995用作系統990的各個部件之間的互連。連接到總線995的是用于將各種輸入和輸出設備(例如,鍵盤、鼠標、顯示器、揚聲器)連接到系統990的輸入/輸出設備接口998。中央處理單元(cpu)992倍連接到總線995,并且提供計算機指令的執(zhí)行。存儲器997提供了用于實施計算機指令的數據的非易失性存儲。存儲996提供了用于軟件指令(例如,操作系統(未示出))的非易失性存儲。系統990還包括用于連接到任何多個本領域中公知的網絡(例如,廣域網(wan)、以及局域網(lan))的網絡接口991。
應當理解的是,本文描述的示例實施例可以以許多不同的方式實現。在一些實例中,本文描述的各種方法以及機器中的每一個可以通過物理、虛擬或混合通用計算機(例如,計算機系統990)或者計算機網絡環(huán)境(例如,計算機環(huán)境1000,如下文關于圖10所描述的)來實現。計算機系統990可以被轉換為執(zhí)行本文所描述的方法(例如,100和220)的機器,例如,通過將軟件指令加載到存儲器997或非易失性存儲996,以用于由cpu992執(zhí)行。本領域中的普通技術人員將理解系統990以及其各個部件可以被配置為實施本文所描述的本發(fā)明的任何實施例。此外,系統990可以例如操作性地耦合到系統990的、在系統990的內部的、在系統990的外部的硬件、軟件、以及固件模塊中的任何組合來實現本文所描述的各個實施例。
圖10示出了在其中可以實現本發(fā)明的實施例的計算機網絡環(huán)境1000。在計算機網絡環(huán)境1000中,服務器1001通過通信網絡1002被連接到客戶端1003a-n。環(huán)境1000可以用于允許客戶端1003a-n單獨地或者與服務器1001組合地來執(zhí)行上文所描述的任何方法(例如,100)。
實施例或者其方面可以以硬件、固件、或者軟件的形式實現。如果實現在軟件中,則軟件可以被存儲在任何非暫時性計算機可讀介質上,其被配置為使得處理器能夠加載軟件或者其指令的集合。處理器然后執(zhí)行該指令,并且被配置為操作或者使得裝置以本文所描述的方式來進行操作。
此外,固件、軟件、例程或者指令可以在本文中被描述為執(zhí)行數據處理器的某些動作和/或功能。然而,應當意識到的是,本文所包含的這樣的描述僅僅是出于便利,并且這樣的動作實際上是由于執(zhí)行固件、軟件、例程、指令等的計算設備、處理器、控制器、或者其他設備而引起的。
應當理解的是,流程圖、框圖、以及網絡圖可以包括更多或者更少的元件,被不同地布置、或被不同地表示。但是應當理解的是,某些實現可以決定框圖和網絡圖,以及示出了以特定方式實現的實施例的執(zhí)行的框圖和網絡圖的數量。
相應地,其他實施例還可以以各種計算機架構、物理、虛擬、云計算機、和/或其一些組合實現,并且由此,本文所描述的數據處理器僅是出于示例的目的,并且不作為實施例的限制。
雖然本發(fā)明是參考其特定實施例特別地示出和描述的,但是本領域的技術人員應當理解的是,形式上和細節(jié)上的各種改變可以在本文中做出,而不偏離所附的權利要求所涵蓋的發(fā)明的范圍。