專利名稱:一種用計(jì)算機(jī)創(chuàng)建三維運(yùn)動(dòng)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用計(jì)算機(jī)仿真方法,更具體地說(shuō),是涉及一種計(jì)算機(jī)創(chuàng)建三維運(yùn)動(dòng)的方法。
背景技術(shù):
運(yùn)動(dòng)的計(jì)算機(jī)仿真與分析是計(jì)算機(jī)仿真領(lǐng)域的一個(gè)熱點(diǎn)問(wèn)題,其中研究最為廣泛的是人體運(yùn)動(dòng)的計(jì)算機(jī)仿真和分析。人體運(yùn)動(dòng)的計(jì)算機(jī)仿真和分析在體育運(yùn)動(dòng)分析領(lǐng)域有著重要的應(yīng)用價(jià)值。人體運(yùn)動(dòng)的計(jì)算機(jī)仿真結(jié)果一般可以用計(jì)算機(jī)三維人體動(dòng)畫方式顯示出來(lái),用戶可以從不同的位置與方向去觀看顯示結(jié)果。
在用計(jì)算機(jī)進(jìn)行三維運(yùn)動(dòng)的仿真時(shí),現(xiàn)有技術(shù)中通常是對(duì)已有的運(yùn)動(dòng)動(dòng)作進(jìn)行計(jì)算機(jī)仿真,但是這有時(shí)不能滿足實(shí)際的需要。例如,教練員在進(jìn)行運(yùn)動(dòng)員訓(xùn)練時(shí),不僅需要訓(xùn)練一些成熟的已有運(yùn)動(dòng)動(dòng)作,還需要設(shè)計(jì)一些創(chuàng)新的三維運(yùn)動(dòng)動(dòng)作,尤其在體操運(yùn)動(dòng)中,這些創(chuàng)新的動(dòng)作往往是比賽中得分的重點(diǎn)。這些創(chuàng)新的三維運(yùn)動(dòng)動(dòng)作往往是反應(yīng)教練員一些新的想法,是現(xiàn)有的運(yùn)動(dòng)中不曾出現(xiàn)或者不成熟的運(yùn)動(dòng)動(dòng)作。現(xiàn)有技術(shù)中沒(méi)有提供一種方法能夠用計(jì)算機(jī)去仿真教練員所設(shè)計(jì)的創(chuàng)新動(dòng)作,教練員通常只能通過(guò)語(yǔ)言描述,將他們的想法和創(chuàng)意講授給運(yùn)動(dòng)員,再由運(yùn)動(dòng)員實(shí)施出來(lái)。但教練在進(jìn)行動(dòng)作創(chuàng)新時(shí),往往有一個(gè)深思熟慮、反復(fù)推敲的過(guò)程,而這個(gè)過(guò)程一般不容易讓運(yùn)動(dòng)員去表現(xiàn)出來(lái),因?yàn)檫@些創(chuàng)新不一定適合運(yùn)動(dòng)員的動(dòng)作,或者運(yùn)動(dòng)員不一定能理解到教練的想法。
因此,就需要有一種方法能夠使用計(jì)算機(jī)創(chuàng)建教練員所設(shè)計(jì)的創(chuàng)新運(yùn)動(dòng)動(dòng)作,這樣就能將教練員的創(chuàng)新思想在計(jì)算機(jī)上利用三維虛擬運(yùn)動(dòng)員可視化的表現(xiàn)出來(lái),以便對(duì)這些動(dòng)作進(jìn)行具體地分析。當(dāng)創(chuàng)新的動(dòng)作達(dá)到一定的成熟程度時(shí),再讓運(yùn)動(dòng)員比照這些運(yùn)動(dòng)進(jìn)行訓(xùn)練,就能夠使訓(xùn)練到達(dá)事半功倍的效果。
事實(shí)上,對(duì)于其它的一些領(lǐng)域,也需要有一種方法能夠用計(jì)算機(jī)去創(chuàng)建那些未曾實(shí)現(xiàn)的新的三維運(yùn)動(dòng)動(dòng)作。
發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)無(wú)法對(duì)未實(shí)現(xiàn)動(dòng)作進(jìn)行三維仿真的缺點(diǎn),從而提供一種三維運(yùn)動(dòng)的創(chuàng)建方法,利用現(xiàn)有的運(yùn)動(dòng)對(duì)象的三維運(yùn)動(dòng)數(shù)據(jù),實(shí)現(xiàn)對(duì)運(yùn)動(dòng)對(duì)象的未完成動(dòng)作的三維仿真。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種三維運(yùn)動(dòng)的創(chuàng)建方法,其具體操作步驟如下1)將已有運(yùn)動(dòng)動(dòng)作分割為運(yùn)動(dòng)片段并建立運(yùn)動(dòng)片段庫(kù);2)根據(jù)所需要?jiǎng)?chuàng)建的新的三維運(yùn)動(dòng)動(dòng)作選取運(yùn)動(dòng)片段;3)對(duì)所選取的運(yùn)動(dòng)片段進(jìn)行拼接,得到所述新的三維運(yùn)動(dòng)動(dòng)作。
上述技術(shù)方案中,在步驟1)中,采用手工法和/或加速度判別法將已有運(yùn)動(dòng)動(dòng)作分割為運(yùn)動(dòng)片段。
上述技術(shù)方案中,步驟2)中,所述的運(yùn)動(dòng)片段的選取采用自動(dòng)獲取或手工獲取的方法。
上述技術(shù)方案中,在步驟2)和步驟3)之間還包括一預(yù)處理步驟,用于對(duì)所選取的運(yùn)動(dòng)片段進(jìn)行預(yù)處理。
所述的預(yù)處理步驟包括對(duì)所選取的運(yùn)動(dòng)片段進(jìn)行仿射變換和鏡像變換。
上述技術(shù)方案中,步驟3)中的拼接包括對(duì)所選取的運(yùn)動(dòng)片段進(jìn)行時(shí)間的拼接和運(yùn)動(dòng)重心的拼接。
上述技術(shù)方案中最好還包括將所述新的三維運(yùn)動(dòng)動(dòng)作在計(jì)算機(jī)屏幕上顯示的步驟。
上述技術(shù)方案中,最好還包括對(duì)屏幕上顯示的新的三維運(yùn)動(dòng)動(dòng)作進(jìn)行可視化的修改和編輯的步驟。
本發(fā)明的優(yōu)點(diǎn)在于1、本發(fā)明的方法有良好的通用性,對(duì)不同類型的運(yùn)動(dòng)對(duì)象的三維運(yùn)動(dòng)都可以采用本發(fā)明方法來(lái)創(chuàng)建。
2、采用可視化的方法,使得對(duì)運(yùn)動(dòng)對(duì)象的運(yùn)動(dòng)的創(chuàng)建更為直觀、更簡(jiǎn)單。
3、本發(fā)明可以快速實(shí)現(xiàn)新的運(yùn)動(dòng)動(dòng)作的創(chuàng)新。
4、三維的運(yùn)動(dòng)數(shù)據(jù)可視化地反映出來(lái),符合人們的視角習(xí)慣。
5、可以利用交互設(shè)備對(duì)三維的運(yùn)動(dòng)數(shù)據(jù)的某個(gè)部分進(jìn)行操作,例如鼠標(biāo)等。
圖1是本發(fā)明的一個(gè)優(yōu)選實(shí)施方式的流程圖;圖2是蹦床項(xiàng)目中運(yùn)動(dòng)片段示意圖。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
圖1示出了本發(fā)明的用計(jì)算機(jī)創(chuàng)建三維運(yùn)動(dòng)的方法的一個(gè)優(yōu)選實(shí)施方式,包括如下步驟步驟10利用現(xiàn)有的三維運(yùn)動(dòng)捕獲設(shè)備,例如Vicon 612等,得到運(yùn)動(dòng)對(duì)象的三維運(yùn)動(dòng)數(shù)據(jù)。這里獲取的三維運(yùn)動(dòng)是指那些已有的三維運(yùn)動(dòng),是運(yùn)動(dòng)對(duì)象(例如運(yùn)動(dòng)員)已經(jīng)可以實(shí)現(xiàn)或者說(shuō)已經(jīng)可以完成的三維運(yùn)動(dòng)動(dòng)作。而且,這里的三維運(yùn)動(dòng)數(shù)據(jù)的獲取一般是在同一個(gè)運(yùn)動(dòng)領(lǐng)域內(nèi)進(jìn)行的,也就是說(shuō)這里的三維運(yùn)動(dòng)數(shù)據(jù)通常是與將要仿真的創(chuàng)新運(yùn)動(dòng)動(dòng)作屬于相同的運(yùn)動(dòng)領(lǐng)域,例如,同屬于蹦床運(yùn)動(dòng)或者同屬于體操運(yùn)動(dòng)。進(jìn)一步的,在該步驟中,還要盡可能多地獲取該運(yùn)動(dòng)領(lǐng)域中各種不同的運(yùn)動(dòng)動(dòng)作,以便為步驟20作準(zhǔn)備。最后將這些三維運(yùn)動(dòng)數(shù)據(jù)存儲(chǔ)在計(jì)算機(jī)中。
步驟20獲取運(yùn)動(dòng)片段,建立運(yùn)動(dòng)片段庫(kù)。將步驟10獲取的三維運(yùn)動(dòng)數(shù)據(jù)分解成多個(gè)運(yùn)動(dòng)片段,每一個(gè)運(yùn)動(dòng)片段由一個(gè)或者多個(gè)基本運(yùn)動(dòng)單元組成。基本運(yùn)動(dòng)單元是指在體育運(yùn)動(dòng)或其它的運(yùn)動(dòng)過(guò)程中具有最基本運(yùn)動(dòng)意義的一個(gè)動(dòng)作,比如跳,翻轉(zhuǎn)等。在很多體育運(yùn)動(dòng)中,如蹦床運(yùn)動(dòng),一套完整的運(yùn)動(dòng)動(dòng)作都是由這些運(yùn)動(dòng)單元組成。在將三維運(yùn)動(dòng)分解為運(yùn)動(dòng)片段時(shí),可以采用手工的方法和加速度判別法結(jié)合進(jìn)行。加速度判別法是指當(dāng)運(yùn)動(dòng)對(duì)象的運(yùn)動(dòng)內(nèi)容發(fā)生改變的時(shí)候,運(yùn)動(dòng)對(duì)象的某部分的加速度會(huì)產(chǎn)生轉(zhuǎn)折性的變化,所以可以根據(jù)加速度的變化來(lái)判斷運(yùn)動(dòng)片段的開(kāi)始和結(jié)束,從而切分出運(yùn)動(dòng)片段。最后,將所分解出來(lái)的運(yùn)動(dòng)片段組成一個(gè)運(yùn)動(dòng)片段庫(kù),存儲(chǔ)在計(jì)算機(jī)中。圖2示出了在一個(gè)實(shí)施例中對(duì)蹦床運(yùn)動(dòng)進(jìn)行運(yùn)動(dòng)切分以后得到的運(yùn)動(dòng)片段,所有這些運(yùn)動(dòng)片段組成了一個(gè)運(yùn)動(dòng)片段庫(kù)。
步驟30根據(jù)要?jiǎng)?chuàng)新的動(dòng)作選取運(yùn)動(dòng)片段。使用者根據(jù)自己對(duì)一個(gè)創(chuàng)新動(dòng)作的構(gòu)想,從運(yùn)動(dòng)片段庫(kù)中選取所需要的運(yùn)動(dòng)片段。運(yùn)動(dòng)片段的選取可以采用自動(dòng)選取或手工選取的方法。其中,自動(dòng)選取是根據(jù)運(yùn)動(dòng)片段的相似性,由計(jì)算機(jī)程序自動(dòng)選取滿足一定條件的某些運(yùn)動(dòng)片段進(jìn)行排列組合,該選取條件可以由用戶自行設(shè)定。例如,設(shè)定某一翻轉(zhuǎn)的動(dòng)作,則計(jì)算機(jī)程序會(huì)在運(yùn)動(dòng)片段庫(kù)中自動(dòng)查找與該翻轉(zhuǎn)動(dòng)作相類似或者可銜接的動(dòng)作。而手工選取則完全根據(jù)作者的需要,從運(yùn)動(dòng)片段庫(kù)中查找他所需要的運(yùn)動(dòng)片段。
步驟40對(duì)選取的運(yùn)動(dòng)片段進(jìn)行拼接的預(yù)處理。由于所選取的多個(gè)運(yùn)動(dòng)片段可能是從不同時(shí)間、不同捕獲系統(tǒng)獲得的三維運(yùn)動(dòng)中分割出來(lái)的,這些運(yùn)動(dòng)片段或者說(shuō)運(yùn)動(dòng)對(duì)象在大小、角度和/或視角上會(huì)存在一定的差異,因此需要對(duì)這些運(yùn)動(dòng)片段分別進(jìn)行預(yù)處理,使得這些運(yùn)動(dòng)片段保持一致。此外,所選取的運(yùn)動(dòng)片段與要?jiǎng)?chuàng)新的運(yùn)動(dòng)動(dòng)作所實(shí)際需要的運(yùn)動(dòng)片段也可能存在差異,因此也需要對(duì)所選取的運(yùn)動(dòng)片段進(jìn)行預(yù)處理。通常可采用仿射變換和鏡像變換對(duì)所選取的運(yùn)動(dòng)片段進(jìn)行預(yù)處理,可實(shí)現(xiàn)運(yùn)動(dòng)片段的平移、縮放和旋轉(zhuǎn),以得到符合需要的運(yùn)動(dòng)片段。
步驟50將預(yù)處理后的運(yùn)動(dòng)片段進(jìn)行拼接成一個(gè)完整的新的三維運(yùn)動(dòng)動(dòng)作。在拼接過(guò)程中主要需要實(shí)現(xiàn)各運(yùn)動(dòng)片段時(shí)間的拼接和運(yùn)動(dòng)重心的拼接。時(shí)間的拼接需要使得相鄰的兩個(gè)運(yùn)動(dòng)片段在時(shí)間上連續(xù),也就是說(shuō)下一個(gè)運(yùn)動(dòng)片段的開(kāi)始幀的時(shí)間要在前一運(yùn)動(dòng)片段的末尾幀的時(shí)間的基數(shù)上開(kāi)始。運(yùn)動(dòng)重心的拼接就是要將下一個(gè)運(yùn)動(dòng)片段的開(kāi)始幀的重心位置平移到前一運(yùn)動(dòng)片段的末尾幀的重心位置上去。在這里,各運(yùn)動(dòng)片段時(shí)間的拼接和運(yùn)動(dòng)重心的拼接可采用仿射變換完成。
將各個(gè)運(yùn)動(dòng)片段拼接起來(lái)以后,各個(gè)運(yùn)動(dòng)片段中的運(yùn)動(dòng)之間不可避免地存在運(yùn)動(dòng)不連續(xù)的問(wèn)題,因此優(yōu)選還要對(duì)運(yùn)動(dòng)片段間的過(guò)渡進(jìn)行插值。在一個(gè)實(shí)施例中所采用的插值方法為四元數(shù)插值法,四元數(shù)插值法是一種現(xiàn)有的成熟技術(shù)。
步驟60將拼接好的可視化的方法對(duì)拼接后的運(yùn)動(dòng)動(dòng)作進(jìn)行修改和編輯。在步驟50的拼接完成之后,最好還利用本步驟60對(duì)拼接好的運(yùn)動(dòng)動(dòng)作的三維運(yùn)動(dòng)數(shù)據(jù)的局部或者全局進(jìn)行調(diào)整,使整體運(yùn)動(dòng)變得更協(xié)調(diào),或者實(shí)現(xiàn)創(chuàng)新性的動(dòng)作。在步驟60中,首先用拼接好的運(yùn)動(dòng)動(dòng)作的三維運(yùn)動(dòng)數(shù)據(jù)驅(qū)動(dòng)一個(gè)虛擬的三維運(yùn)動(dòng)對(duì)象模型,將該運(yùn)動(dòng)動(dòng)作直觀地反映到計(jì)算機(jī)屏幕上,然后使用者可以選定運(yùn)動(dòng)對(duì)象上所需要編輯的部位或關(guān)節(jié),直觀地托動(dòng)鼠標(biāo)或者輸入相應(yīng)的命令,改變?cè)摬课换蜿P(guān)節(jié)的位置或旋轉(zhuǎn)方向,同時(shí),計(jì)算機(jī)中所存儲(chǔ)的與該運(yùn)動(dòng)動(dòng)作相關(guān)聯(lián)的三維運(yùn)動(dòng)數(shù)據(jù)也產(chǎn)生相應(yīng)的改變,也就實(shí)現(xiàn)了對(duì)運(yùn)動(dòng)動(dòng)作的修改與編輯。
在步驟60中,虛擬三維運(yùn)動(dòng)對(duì)象模型為根據(jù)運(yùn)動(dòng)對(duì)象的特點(diǎn)建立起來(lái)的三維模型,以人為例,虛擬三維運(yùn)動(dòng)員模型是根據(jù)運(yùn)動(dòng)員身材的特點(diǎn)所建立的三維模型,它的格式可以是3DS或VRML,這些虛擬三維運(yùn)動(dòng)員模型能夠根據(jù)用戶輸入的三維運(yùn)動(dòng)數(shù)據(jù)產(chǎn)生各種運(yùn)動(dòng)。上述模型都是成熟的現(xiàn)有技術(shù)。
在步驟60中,主要是對(duì)拼接好的運(yùn)動(dòng)動(dòng)作中的關(guān)鍵幀進(jìn)行編輯和修改,但修改結(jié)果可以平滑影響到附近的多幀;也可以對(duì)關(guān)鍵幀附近的多幀進(jìn)行整體修改,比如將N幀運(yùn)動(dòng)都位移同一個(gè)距離。
權(quán)利要求
1.一種用計(jì)算機(jī)創(chuàng)建三維運(yùn)動(dòng)的方法,用于利用已有運(yùn)動(dòng)動(dòng)作的三維運(yùn)動(dòng)數(shù)據(jù)創(chuàng)建新的三維運(yùn)動(dòng)動(dòng)作;該方法包括1)將已有運(yùn)動(dòng)動(dòng)作分割為運(yùn)動(dòng)片段并建立運(yùn)動(dòng)片段庫(kù);2)根據(jù)所需要?jiǎng)?chuàng)建的新的三維運(yùn)動(dòng)動(dòng)作選取運(yùn)動(dòng)片段;3)對(duì)所選取的運(yùn)動(dòng)片段進(jìn)行拼接,得到所述新的三維運(yùn)動(dòng)動(dòng)作。
2.根據(jù)權(quán)利要求1所述的用計(jì)算機(jī)創(chuàng)建三維運(yùn)動(dòng)的方法,其特征在于,步驟1)中,采用手工法和/或加速度判別法將已有運(yùn)動(dòng)動(dòng)作分割為運(yùn)動(dòng)片段。
3.根據(jù)權(quán)利要求1所述的用計(jì)算機(jī)創(chuàng)建三維運(yùn)動(dòng)的方法,其特征在于,步驟2)中,所述的運(yùn)動(dòng)片段的選取采用自動(dòng)獲取或手工獲取的方法。
4.根據(jù)權(quán)利要求1所述的用計(jì)算機(jī)創(chuàng)建三維運(yùn)動(dòng)的方法,其特征在于,在步驟2)和步驟3)之間還包括一預(yù)處理步驟,用于對(duì)所選取的運(yùn)動(dòng)片段進(jìn)行預(yù)處理。
5.根據(jù)權(quán)利要求4所述的用計(jì)算機(jī)創(chuàng)建三維運(yùn)動(dòng)的方法,其特征在于,所述預(yù)處理步驟包括對(duì)所選取的運(yùn)動(dòng)片段進(jìn)行仿射變換和鏡像變換。
6.根據(jù)權(quán)利要求1所述的用計(jì)算機(jī)創(chuàng)建三維運(yùn)動(dòng)的方法,其特征在于,步驟3)中的拼接包括對(duì)所選取的運(yùn)動(dòng)片段進(jìn)行時(shí)間的拼接和運(yùn)動(dòng)重心的拼接。
7.根據(jù)權(quán)利要求1所述的用計(jì)算機(jī)創(chuàng)建三維運(yùn)動(dòng)的方法,其特征在于,還包括將所述新的三維運(yùn)動(dòng)動(dòng)作在計(jì)算機(jī)屏幕上顯示的步驟。
8.根據(jù)權(quán)利要求7所述的用計(jì)算機(jī)創(chuàng)建三維運(yùn)動(dòng)的方法,其特征在于,還包括對(duì)屏幕上顯示的新的三維運(yùn)動(dòng)動(dòng)作進(jìn)行可視化的修改和編輯的步驟。
全文摘要
本發(fā)明公開(kāi)了一種用計(jì)算機(jī)創(chuàng)建三維運(yùn)動(dòng)的方法,用于利用已有運(yùn)動(dòng)動(dòng)作的三維運(yùn)動(dòng)數(shù)據(jù)創(chuàng)建新的三維運(yùn)動(dòng)動(dòng)作;本方法包括將已有運(yùn)動(dòng)動(dòng)作分割為運(yùn)動(dòng)片段并建立運(yùn)動(dòng)片段庫(kù);根據(jù)所需要?jiǎng)?chuàng)建的新的三維運(yùn)動(dòng)動(dòng)作選取運(yùn)動(dòng)片段;對(duì)所選取的運(yùn)動(dòng)片段進(jìn)行拼接,得到所述新的三維運(yùn)動(dòng)動(dòng)作。本發(fā)明方法的優(yōu)點(diǎn)在于有良好的通用性,對(duì)不同類型的運(yùn)動(dòng)對(duì)象的三維運(yùn)動(dòng)都可以采用本方法創(chuàng)建;采用可視化的方法,使得對(duì)運(yùn)動(dòng)對(duì)象的運(yùn)動(dòng)的創(chuàng)建更直觀、簡(jiǎn)單;可快速實(shí)現(xiàn)新的運(yùn)動(dòng)動(dòng)作的創(chuàng)新;三維的運(yùn)動(dòng)數(shù)據(jù)可視化地反映出來(lái),符合人們的視角習(xí)慣;可以利用交互設(shè)備對(duì)三維的運(yùn)動(dòng)數(shù)據(jù)的某個(gè)部分進(jìn)行操作。
文檔編號(hào)G06T15/70GK1766934SQ200410086558
公開(kāi)日2006年5月3日 申請(qǐng)日期2004年10月26日 優(yōu)先權(quán)日2004年10月26日
發(fā)明者王兆其, 黃河, 夏時(shí)洪, 孫永超 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所