本發(fā)明屬于3D仿真技術(shù)領(lǐng)域,尤其是涉及一種帶阻尼的軟體受力變形的模擬仿真方法。
背景技術(shù):
隨著虛擬現(xiàn)實(shí)技術(shù)的發(fā)展,在疾病的治療方面,比如通過虛擬現(xiàn)實(shí)進(jìn)行手術(shù)的技術(shù)已經(jīng)廣泛的發(fā)開中。皮膚或肌肉屬于彈性體,但是有附加適當(dāng)?shù)淖枘幔凑鎸?shí)的皮膚或器官的屬于帶阻尼彈性材質(zhì),不是絕對的彈性材料,類似于橡膠等。所以,如何真實(shí)模擬皮膚或肌肉的力學(xué)特性,是將虛擬現(xiàn)實(shí)應(yīng)用到手術(shù)仿真的關(guān)鍵技術(shù)。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明旨在提出一種軟體受力變形的模擬仿真方法,以真實(shí)模擬皮膚或肌肉的力學(xué)特性。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
帶阻尼的軟體受力變形的模擬仿真方法,包括如下內(nèi)容:
獲取構(gòu)建軟體表層的點(diǎn)的原始位置數(shù)據(jù),通過點(diǎn)的位移或偏移實(shí)現(xiàn)軟體的表層變形仿真,通過控制每個點(diǎn)的變形速度實(shí)現(xiàn)動態(tài)變形仿真。
進(jìn)一步的,點(diǎn)的位移量是以施力點(diǎn)為中心,根據(jù)該點(diǎn)距施力點(diǎn)相對距離進(jìn)行衰減計(jì)算得到的。
進(jìn)一步的,點(diǎn)的變形速度是根據(jù)點(diǎn)的位移量和軟體本身的彈力和阻尼系數(shù)決定的。
相對于現(xiàn)有技術(shù),本發(fā)明具有以下優(yōu)勢:
本發(fā)明方法能真實(shí)模擬帶阻尼彈性材質(zhì)的皮膚或肌肉的力學(xué)特性,且實(shí)現(xiàn)方法簡單,易于推廣。
附圖說明
構(gòu)成本發(fā)明的一部分的附圖用來提供對本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1為軟體受力變形圖例。
具體實(shí)施方式
需要說明的是,在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互組合。
下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。
本發(fā)明帶阻尼的軟體受力變形的模擬仿真方法,包括如下內(nèi)容:
獲取構(gòu)建軟體表層的點(diǎn)的原始位置數(shù)據(jù),通過點(diǎn)的位移或偏移實(shí)現(xiàn)軟體的表層變形仿真,通過控制每個點(diǎn)的變形速度實(shí)現(xiàn)動態(tài)變形仿真。
點(diǎn)的位移量是以施力點(diǎn)為中心,根據(jù)該點(diǎn)距施力點(diǎn)相對距離進(jìn)行衰減計(jì)算得到的。
點(diǎn)的變形速度是根據(jù)點(diǎn)的位移量和軟體本身的彈力和阻尼系數(shù)決定的。
建模時通過曲面Mesh實(shí)現(xiàn)器官表層,即若干個三角面,每個三角面以不共線的3個點(diǎn)Vectex組成,也就是說,每個Mesh就是一組有序的點(diǎn)組成的,如圖1所示,軟體變形就是通過點(diǎn)的位移或偏移實(shí)現(xiàn)。
具體的實(shí)現(xiàn)方法:
因?yàn)槠つw或器官屬于帶阻尼的彈性材質(zhì),那么從施加力,到產(chǎn)生變形必然是一個徐變的一個變形的過程,不是一蹴而就。
所有主流的3D游戲引擎,當(dāng)然包括U3D,都是有幀刷新或者幀速率的一個概念,并提供UpdateFrame()的類似回調(diào)函數(shù)。
其實(shí)所謂點(diǎn)的位移量,也就是點(diǎn)的偏移,也就是在Update()更新函數(shù)當(dāng)中,每一幀中計(jì)算得的點(diǎn)的變形速度,在每一幀即時間上的累積就是“點(diǎn)的變形量”,只是表現(xiàn)上,點(diǎn)的位移量是以施力點(diǎn)為中心,以點(diǎn)到施力點(diǎn)的距離而逐漸衰減的,事實(shí)上,是每一個點(diǎn)的變形速度隨點(diǎn)到施力點(diǎn)距離而逐步衰減,導(dǎo)致越近的,變形越快,變形量也越大,故核心就是點(diǎn)的變形速度如何變化的,而此算法核心就是處在原文檔Update()代碼段中。
本實(shí)施例實(shí)現(xiàn)徐變的阻尼彈性變形過程,就是在Update()中實(shí)現(xiàn),以一定的幀速率進(jìn)行并直到變形完成。
具體的程序?qū)崿F(xiàn)如下:
以變形速度參數(shù)Vn為核心,統(tǒng)籌了材質(zhì)回彈力和阻尼的點(diǎn)變形算法架構(gòu)搭建完成。
本發(fā)明方法實(shí)現(xiàn)了以變形速度參數(shù)Vn為核心,施加外力時,可以以施力點(diǎn)為中心,以點(diǎn)距施力點(diǎn)相對距離進(jìn)行衰減計(jì)算,計(jì)算只要體現(xiàn)到Vn參數(shù),即可控制點(diǎn)變形。
反之,當(dāng)施加的外力撤除后,Vn在Update()函數(shù)中以回彈力為唯一作用影響,會自動變成反向變形趨勢,恢復(fù)到原始的變形位置,消除了外力變形影響,如此實(shí)現(xiàn)了力進(jìn)來,正向變形,力消除,自動恢復(fù)原狀;算法統(tǒng)一,并符合物理學(xué)特征。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。