用于為計算機輔助設計系統(tǒng)的三維場景中的對象的集合的動態(tài)模擬定義初始條件的計算 ...的制作方法
【專利摘要】一種計算機實現的方法,用于為計算機輔助設計系統(tǒng)的三維場景中的對象的集合的動態(tài)模擬定義初始條件,該方法包括以下步驟:-向對象的集合提供(S1)關于連接該集合的對象的運動關節(jié)的信息;-提供(S2)嵌入場景中的操縱工具(M),包括具有三個軸的參考系,對于每個軸允許平移自由度和旋轉自由度;-將所述操縱工具(M)附到(S3)該集合的一個對象;-選擇(S4)附到該集合的對象的操縱工具(M)的自由度;-根據已選擇的自由度,輸入(S5)至少一個初始條件(IC),初始條件包括初始位置和/或初始速度和/或初始加速度;以及-實時計算(S6)并顯示考慮了先前定義的初始條件(IC)的動態(tài)模擬。
【專利說明】用于為計算機輔助設計系統(tǒng)的三維場景中的對象的集合的動態(tài)模擬定義初始條件的計算機實現方法
【技術領域】
[0001]本發(fā)明涉及計算機程序和系統(tǒng)領域,更具體地,涉及對計算機輔助設計應用中的對象的集合進行設計的領域。
【背景技術】
[0002]己知的計算機輔助技術包括計算機輔助設計(CAD),其涉及用于創(chuàng)造產品設計的軟件解決方案。同樣地,CAE是計算機輔助工程的首字母縮寫,例如,其涉及用于模擬未來產品的物理行為的軟件解決方案。CAM代表計算機輔助制造,并典型地包括用于定義制造過程和操作的軟件解決方案。
[0003]在市場上提供多種系統(tǒng)和程序用于設計對象(或部件)或對象的集合,形成產品,例如由達索系統(tǒng)提供的商標為CATIA的產品。這些CAD系統(tǒng)允許用戶構造并操縱對象或對象的集合的復雜的三維或3D模型。因此,在一些具有表面的情況下,CAD系統(tǒng)使用邊或線提供了已建模對象的表示??梢允褂枚喾N方式表示線和邊,例如,非均勻有理B樣條(NURBS)。這些CAD系統(tǒng)管理部件或部件的集合作為建模對象,其通常是幾何形狀的規(guī)范。特別地,CAD文件包括從中生成幾何形狀的規(guī)范,其反過來考慮要生成的表示。幾何形狀和表示可以存儲于單個CAD文件或多個CAD文件中。CAD系統(tǒng)包括用于向設計者表示建模對象的圖形工具;這些工具專用于顯示復雜對象;在CAD系統(tǒng)中表示對象的文件的典型尺寸是每個部件一兆字節(jié)的大小,并且集合可以包括上千個部件。CAD系統(tǒng)管理對象的模型,該模型存儲于電子文件中。
[0004]在計算機輔助技術中,圖形用戶界面CTI扮演了考慮該技術的效率的重要角色。操縱和/或導航建模對象所需的大部分操作可以由用戶(例如,設計者)在GUI上執(zhí)行。特別地,用戶可以創(chuàng)建、修改和刪除形成產品的建模對象,還可以探究產品以便充分了解建模對象是如何相互聯系的,例如通過產品結構。傳統(tǒng)上,這些操作通過位于GUI的側邊上的專用菜單和圖標執(zhí)行。近來,CAD系統(tǒng)(例如CATIA)允許調用產品表示附近的這些操作。設計者不再需要向菜單和圖標移動鼠標。因此,操作在鼠標的范圍內是可用的。此外,操作是語義運轉的:對于由設計者選擇的給定操作,CAD系統(tǒng)可以根據設計者可能選擇的之前所選擇的操作而向設計者建議依然在鼠標附近的一組新操作。
[0005]近年來,例如在汽車和航天工業(yè)中所使用的一些計算機軟件是基于幾何形狀的,對于機械工程師而言,能夠在空間中或在三維顯示中看到他們的工作。
[0006]在這個領域中,計算機軟件(例如CATIA)允許在三維空間中設計幾何形狀。這種菜單和工具條包括一組用戶可選的圖標,每個圖標與一個或多個操作或功能相關聯。這些圖標中的一些與軟件工具相關聯,適于在3D幾何建模產品或產品的部件(例如在圖形用戶界面⑶I上顯示的)上編輯和/或工作。在下面的描述中,為了簡明起見,術語“產品”、“部件”、“集合”等可以指“部件”?!安考钡母拍钜材軌虮粴w納為“對象”的概念。對象包括最終數字模型的任意構成,例如,考慮集合,這種集合的對象可以是子集合、部件、運動關節(jié)、材料、在電子控制單元(ECU)上執(zhí)行的嵌入式軟件,或描述集合的整個環(huán)境所需的任意對象,例如在你想要研究飛機飛行能力的情況下對大氣層的建模。
[0007]眾所周知,在動態(tài)模擬中,用戶界面能夠利用面板設置初始條件,其中必須以數字輸入值,例如如圖1所示在如dymola的計算機軟件中。
[0008]通過數字輸入進行初始條件設置是痛苦的,因為,在這種情況下,例如對于旋轉的初始速度,必須輸入向量中的三個自變量(argument)。這樣的任務冗長乏味。很容易犯錯,需要注意力來進行糾正。
[0009]當用戶輸入與旋轉相關的初始條件時,例如,位置(角度)、旋轉速度或加速度,必須定義定向系統(tǒng)中的數字輸入。為了描述這種旋轉,通常使用的系統(tǒng)是基于偏航角、俯仰角和滾轉角、歐拉角或不同順序中的歐拉角。這種數學技巧是非常復雜的。
【發(fā)明內容】
[0010]本發(fā)明的目標是提供一種計算機實現的方法和系統(tǒng),其以簡單的方式,考慮一個或幾個初始條件,為計算機輔助設計系統(tǒng)的三維場景中的對象的集合進行動態(tài)模擬。
[0011]根據本發(fā)明的一個方案,提出了一種計算機實現的方法,用于為計算機輔助設計系統(tǒng)的三維場景中的對象的集合的動態(tài)模擬定義初始條件,該方法包括以下步驟:
[0012]-為對象的集合提供關于連接該集合的對象的運動關節(jié)的信息;
[0013]-提供嵌入場景中的操縱工具,包括具有三個軸的參考系,對每個坐標軸允許平移自由度和旋轉自由度;
[0014]-將所述操縱工具附到集合的一個對象;
[0015]-選擇附到集合的對象的操縱工具的自由度;
[0016]-根據所述選擇的自由度輸入至少一個初始條件,初始條件包括初始位置和/或初始速度和/或初始加速度;以及
[0017]-實時計算并顯示考慮了先前定義的初始條件的動態(tài)模擬。
[0018]換句話說,初始條件包括要應用的位置,和/或初始應用的速度和/或加速度。
[0019]因此,這種計算機實現的方法允許用戶容易地輸入初始條件。
[0020]根據實施例,輸入下少一個初始條件的步驟包括:
[0021]-第一子步驟,用于選擇初始條件的值的量級或范圍;以及
[0022]-第二子步驟,用于在所述量級中確定初始條件的值。
[0023]因此,對于用戶而言,很容易直接確定對象的集合的初始條件的值。
[0024]根據實施例,輸入至少一個初始條件的步驟是通過執(zhí)行操縱工具的移動來執(zhí)行的,該移動轉化為初始條件。
[0025]因此,用戶能夠利用鼠標輸入初始條件,例如就如同他在視頻游戲中使用操縱桿一樣。
[0026]執(zhí)行操縱工具的移動是使用鼠標按下按鈕或用手指接觸顯示屏幕來實現的。
[0027]因此,對于用戶而言,非常容易輸入一個或幾個初始條件。
[0028]可選地,輸入至少一個初始條件的步驟是通過直接鍵入初始條件的值來執(zhí)行的。
[0029]根據本發(fā)明的另一方案,提出了一種具有計算機可執(zhí)行指令的計算機可讀介質,該計算機可執(zhí)行指令使得計算機系統(tǒng)執(zhí)行如上所述的方法,該方法用于為計算機輔助設計系統(tǒng)的三維場景中的對象的集合的動態(tài)模擬定義初始條件。
[0030]根據本發(fā)明的又一方案,提出了一種計算機程序產品,其存儲于計算機可讀介質,用于為計算機輔助設計系統(tǒng)的三維場景中的對象的集合進行動態(tài)模擬定義初始條件,包括使系統(tǒng)執(zhí)行上述步驟的代碼模塊。
[0031]根據本發(fā)明的另一方案,提出了一種用于定義初始條件的裝置,其用于為計算機輔助設計系統(tǒng)的三維場景中的對象的集合的動態(tài)操縱定義初始條件(IC),包括用于實施上述方法的步驟的部件。
【專利附圖】
【附圖說明】
[0032]通過研究以非限定實例的方式描述且由附圖示出的一些實施例,可以更好的理解本發(fā)明,其中:
[0033]圖1示出了根據【背景技術】在基本使用的情況下輸入計算機輔助設計系統(tǒng)的初始條件的實例:
[0034]圖2示出了能夠在模擬中輸入初始條件的必要性;
[0035]圖3到圖9示出了根據本發(fā)明的一方案,為計算機輔助設計系統(tǒng)的三維場景中的對象的集合的動態(tài)模擬定義初始條件的實例;
[0036]圖10到圖21根據本發(fā)明的一方案示出了顯示用戶如何輸入若干初始條件的分步場景;
[0037]圖22示出了作為速度、加速度或二者的初始條件IC ;以及
[0038]圖23示出了根據本發(fā)明一個方案的方法。
【具體實施方式】
[0039]本方法的步驟能夠由執(zhí)行計算機程序的一個或多個可編程處理器執(zhí)行,以通過在輸入數據上進行操作并生成輸出來執(zhí)行本發(fā)明的功能。
[0040]可以以任何形式的編程語言來編寫計算機程序,包括匯編語言或解釋語言;計算機程序可以以任何形式進行配置,包括作為單獨的程序或作為子程序,元件或適于在計算環(huán)境中使用的其它單元。計算機程序可以被配置為在一個地點或分布于多個地點并由通信網絡互聯的一個或多個計算機上執(zhí)行。
[0041 ] 下面的附圖更加詳細的解釋了本發(fā)明的功能。
[0042]圖2示出了能夠在模擬中輸入初始條件IC的必要性。
[0043]在圖2的頂部表示了汽車的模擬,使用了已知的計算機實現的方法。在模擬剎車(breaking)階段之前,第一階段汽車加速直到達到所需速度P。
[0044]在圖2的底部表示了類似的模擬,由根據本發(fā)明一方案的計算機實現的方法實現,其中模擬直接從汽車具有輸入作為初始條件IC的速度P開始。
[0045]在模擬中,初始條件IC允許直接關注運動的一個階段(在這個例子中是剎車階段),而跳過導致該階段的非興趣階段,在這個例子中是加速階段。
[0046]當輸入多個初始條件時,如果一些初始條件不相容,則解決者考慮最可能的物理法則。
[0047]本發(fā)明允許幫助在對象的集合的三維部件上直接定義初始條件,而無需手工輸入矢量自變量的數值。
[0048]圖3到圖9示出了根據本發(fā)明的一方案,為計算機輔助設計系統(tǒng)的三維場景中的對象的集合的動態(tài)模擬定義初始條件的實例。
[0049]在圖3中,方法開始于停止的或不運動的3D或三維模型或對象的集合。在這個例子中,對象的集合或3D模型是離心的“飛球”調節(jié)器CG,其桅桿(mast)的旋轉會分離開集合的兩個球體直到達到由牛頓動態(tài)基本定律所確定的平衡。
[0050]一開始,動態(tài)模擬準備從如圖3所示的顯示的按鈕BSTART開始。在步驟I期間,像在已知系統(tǒng)中一樣,交互的通常方法是3D操縱器M,其能夠改變集合的部件的3D位置。
[0051]操縱器是由鼠標(參見US7823085)或觸摸屏上的手指控制的圖形人工制品。其被置于部件上并提出了不同的操縱方法。操縱器M由具有三個正交軸和提供不同操縱方向的三個圓弧的軸系統(tǒng)組成:沿著三個軸方向中的每一個的三種平移,以及沿著三個弧的三種旋轉,或者,換句話說,圍繞三個軸的旋轉。簡而言之,操縱器M包括并提供了六種自由度。
[0052]軸上的交互會平移其上置有操縱器的部件,弧上的交互會轉動其上置有操縱器的部件。該操縱器能夠轉動并平移其所在的集合的部件:它是位置操縱器。
[0053]用戶為了表達他設置初始條件IC的意圖,在按下開始按鈕BSTART以開始動態(tài)模擬之前,用戶會拖放他想設置初始條件IC的3D集合的部件上的操縱器M。系統(tǒng)會理解用戶的意圖并在掛起狀態(tài)(在time = O秒時)開始模擬,在該狀態(tài)中,在再次按下開始按鈕BSTART并且考慮IC進行最終的模擬之前,用戶會輸入初始條件1C。
[0054]因此,在步驟I中,如圖4所示,用戶能夠對他想要應用初始條件IC的集合的部件上的操縱器M進行拖放。
[0055]隨后,在步驟2中,用戶按下開始按鈕BSTART,并且結果顯示在圖5中,其中操縱器M顯示期待進行操縱,例如操縱器M可閃爍。模擬仍然沒有開始,模型CG不會移動。系統(tǒng)期望用戶利用操縱器M設置部件上的初始條件。系統(tǒng)仍然處于掛起狀態(tài)。
[0056]例如,在右側顯示初始面板IP。初始面板IP包括初始條件IC的量級的選擇器SEL,例如,其有三個圖標,每一個都表示了速度或加速度的量級。在當前例子中,顯示了三個圖標:第一個圖標是蝸牛,表不0.1到lm/s的平移速度,0.1到lm/s2的平移加速度,0.1到lrad/s的旋轉速度,在0.1到lrad/s2的旋轉加速度;第二個圖標是兔子,表示I到IOm/s的平移速度,I到10m/s2的平移加速度,I到10rad/s的旋轉速度,I到10rad/s2的旋轉加速度;第三個圖標是飛機,表示10到lOOm/s的平移速度,10到lOOm/s2的平移加速度,10到100rad/s的旋轉速度在,10到100rad/s2的旋轉加速度。
[0057]初始面板IP包括指示了用戶必須選擇操縱軸的行L,和監(jiān)控初始條件IC的值的計量器GAU。此外,初始面板IP包括選擇速度、加速度或二者作為初始條件1C。在步驟3中,用戶利用鼠標或觸摸屏情況下的手指來選擇操縱器M的弧。
[0058]如圖6所表示的那樣,用戶選擇對應于第一量級值的SEL的第一個圖標(蝸牛),并選擇自由度,如行L所示,z軸旋轉。在這種情況下,z軸對應于垂直軸。如選擇CH上所示,用戶選擇將初始條件IC應用為速度。
[0059]顯示的結果在圖7上表示,其中,計量器GAU實時指示了初始條件IC的即刻測量值。在步驟5中,用戶停止使用速度。
[0060]在圖8,結果,因為不再有操縱,所以計量器GAU的箭頭指示0,且在計量器GAU的底部顯示的值是在操縱序列期間計算出的平均值。在這種情況下,指示符--包括單詞“保持”的箭頭KP出現在初始面板IP的后面,以指示用戶能夠保持他已經定義的初始條件,隨后,通過選擇操縱操縱器M的另一個軸來定義另外一個初始條件,且可選地,將操縱器置于另一部件之上。在這種情況下,在步驟6中,將值0.85重寫為0.8,值0.8是在操縱序列期間計算出的平均值。
[0061]隨后,用戶按下開始按鈕BSTART以最終開始考慮到輸入初始條件IC的模擬。
[0062]結果,如圖9所示,模擬開始并運行。通過按下暫停按鈕PAU,可以暫停該模擬。模型CG在運動中,并且模擬開始時的旋轉速度是0.8rad/s,值在初始條件IC中是固定的。在這種情況下,動態(tài)操縱器DM出現,其能夠用于在模擬期間與模型CG交互。
[0063]圖10至圖21示出了顯示用戶如何輸入若干初始條件的分步場景。
[0064]在圖10中,方法從停止的或不運動的3D或三維模型或對象的集合開始。在這個例子中,對象的集合或3D模型是桌子TAB上的球BALL。
[0065]在步驟1中,用戶能夠對部件上的操縱器M進行拖放,在這個例子中,用戶想要在集合的球BALL上應用初始條件1C。該操作的結果在圖11顯示。
[0066]隨后,在步驟2中,用戶會按下按鈕BSTART.結果如圖12所示。系統(tǒng)捕獲到用戶意圖定義球BALL上的初始條件1C,并將模擬保持在time = O秒時的掛起模式。在這個模式下,用戶輸入初始條件1C。
[0067]在圖12,作為步驟2的結果,初始面板IP出現并完成了,特別地,選擇操縱軸。在步驟3中,用戶選擇Y軸作為平移軸,并選擇對應于第一量級值的SEL的第一個圖標(蝸牛)。如選擇CH所示,用戶選擇將第一初始條件ICl應用為速度或平移速度。
[0068]隨后,在步驟4中,如圖13所示,用戶利用鼠標或觸摸屏情況下的手指來應用平移速度。
[0069]在圖14上表示顯示的結果,其中計量器GAU實時指示了第一初始條件ICl的即刻測量值,在這個例子中是0.85m/s。
[0070]在步驟5中,用戶停止應用平移速度。
[0071]在圖15,結果,因為不再有操縱,所以計量器GAU的箭頭指向0,且計量器GAU后面顯示的值是在操縱序列期間計算出的平均值,在這個例子中是0.56m/s。在這個例子中,指示符一包括單詞“保持”的箭頭KP出現于初始面板IP的后面,以指示用戶他能夠保持他已經定義的第一初始條件ICl。
[0072]在步驟6中,用戶按下箭頭KP。
[0073]結果,在圖16中,保留著后面的行LR以提示第一初始條件ICl:在Y軸,初始平移速度是0.56m/s。
[0074]在步驟7中,用戶選擇操縱器M的弧以定義圍繞X軸旋轉的第二初始條件IC2。系統(tǒng)理解用戶的意圖,并如圖17所示在計量器下方顯示從0.1到lrad/s的可能值的量級。
[0075]因此,在步驟8中,用戶利用鼠標或在觸摸屏情況下的手指來應用速度或旋轉。
[0076]在圖18表示顯示的結果,其中計量器GAU實時指示了第二初始條件IC2的即刻測量值,在這個例子中是0.56rad/s。
[0077]在步驟9中,用戶停止應用旋轉速度。
[0078]在圖19,結果,因為不再有操作,所以計量器GAU的箭頭指向0.且在計量器GAU后面顯示的值是在操縱序列期間計算出的平均值,在這個例子中是0.42rad/So
[0079]因此,用戶能夠定義并保持若干初始條件1C。
[0080]在這個例子中,在步驟10中,用戶按下保持按鈕KP,結果,如圖20所示,顯示了第二行以提醒用戶剛剛添加第二初始條件1C。按下用于最后一次輸入的初始條件IC的按鈕KP是可選的。
[0081]隨后,在步驟11中,用戶最終按下BSTART按鈕,結果,如圖21所示,球BALL在桌子TAB上彈回并升高,這是由于初始條件的以下兩種效果:
[0082]-平移速度將球BALL發(fā)射到右側方向
[0083]-由于球BALL上的旋轉初始條件IC引起的旋轉效果
[0084]如圖22所示,初始條件IC可以是速度、加速度或二者。
[0085]此外,利用鼠標或觸摸屏情況下的手指定義初始條件IC的值,取決于選擇器SEL所選的量級值或范圍。
[0086]可選地,可以直接輸入初始條件IC的值。
[0087]為了總結以上,根據本發(fā)明的一方案的方法包括圖23所示的步驟。
[0088]在第一步驟SI中,該方法向對象的集合提供關于連接集合的對象的運動關節(jié)的信息。
[0089]隨后,在第二步驟S2中,該方法提供嵌入于場景中的操縱工具M,包括具有三個軸的參考系,對于每個軸而言,都具有平移自由度和旋轉自由度,在第三步驟S3中,該方法將操縱工具M附到集合的一個對象。
[0090]因此,在第四步驟S4中,該方法選擇附到集合的對象上的操縱工具M的自由度,在第五步驟S5中,該方法根據所述選擇的自由度而輸入至少一個初始條件1C,初始條件IC包括初始位置以及初始速度和/或初始加速度。
[0091]隨后,在步驟S5之后,用戶能夠輸入另一初始條件1C,該方法返回到第三步驟S3,或者用戶能夠開始模擬,該方法在第六步驟S6中實時計算并實時顯示動態(tài)模擬的結果。
[0092]因此,本發(fā)明提供了一種計算機實現的方法和系統(tǒng),其用于考慮到初始條件而對計算機輔助設計系統(tǒng)的三維場景中的對象的集合進行動態(tài)模擬。
【權利要求】
1.一種計算機實現的方法,用于為計算機輔助設計系統(tǒng)的三維場景中的對象的集合的動態(tài)模擬定義初始條件,所述方法包括以下步驟: -向對象的集合提供(Si)關于連接所述集合的對象的運動關節(jié)的信息; -提供(S2)嵌入場景中的操縱工具(M),包括具有三個軸的參考系,對于每個軸允許平移自由度和旋轉自由度; -將所述操縱工具(M)附到(S3)所述集合的一個對象上; -選擇(S4)附到所述集合的對象的所述操縱工具(M)的自由度; -根據所選擇的自由度,輸入(S5)至少一個初始條件(1C),初始條件包括初始位置和/或初始速度和/或初始加速度; -實時計算并顯示(S6)考慮了先前定義的所述初始條件(IC)的動態(tài)模擬。
2.根據權利要求1所述的方法,其中,輸入(S5)至少一個初始條件(IC)的步驟包括: -第一子步驟(S5a),用于選擇初始條件(IC)的值的量級;以及 -第二子步驟(S5b),用于在所述量級中確定初始條件(IC)的值。
3.根據權利要求1或2所述的計算機實現的方法,其中,輸入(S5)至少一個初始條件(IC)的步驟是通過執(zhí)行所述操縱工具(M)的移動來執(zhí)行的,所述移動被轉化為初始條件。
4.根據權利要求3所述的計算機實現的方法,其中,執(zhí)行所述操縱工具(M)的移動是通過鼠標按下按鈕或用手指接觸顯示屏來完成的。
5.根據權利要求1到4中任意一項所述的方法,其中,輸入(S5)至少一個初始條件(IC)的步驟是通過直接提供所述初始條件(IC)的值來執(zhí)行的。
6.具有計算機可執(zhí)行指令的計算機可讀介質,所述計算機可執(zhí)行指令使得計算機系統(tǒng)執(zhí)行根據權利要求1到5中任一項所述的方法,所述方法用于為計算機輔助設計系統(tǒng)的三維場景中的對象的集合的動態(tài)模擬定義初始條件(IC)。
7.一種計算機程序產品,其存儲于計算機可讀介質中,用于為計算機輔助設計系統(tǒng)的三維場景中的對象的集合的動態(tài)模擬定義初始條件(IC),包括使得所述系統(tǒng)執(zhí)行權利要求1到5中任意一項的步驟的代碼模塊。
8.一種用于為計算機輔助設計系統(tǒng)的三維場景中的對象的集合的動態(tài)模擬定義初始條件(IC)的裝置,包括用于實現權利要求1到5中任一項方法的步驟的部件。
【文檔編號】G06F17/50GK103488810SQ201310288871
【公開日】2014年1月1日 申請日期:2013年6月6日 優(yōu)先權日:2012年6月7日
【發(fā)明者】L·桑提科, B·富爾 申請人:達索系統(tǒng)公司