一種生成物體空間掃掠體的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于一種虛擬仿真、計(jì)算機(jī)輔助制造(CAM)與產(chǎn)品周期管理(PLM)領(lǐng)域,特 別設(shè)及一種虛擬模型運(yùn)動(dòng)掃掠體生成方法。
【背景技術(shù)】
[0002] 空間掃掠體,又稱(chēng)為空間包絡(luò)體、包絡(luò)空間、掃掠空間、掃掠軌跡空間,英文名詞是 Sw巧tVolume,它是指任意一個(gè)物體沿著任意一個(gè)軌跡線(甚至是一個(gè)面),W某種方式(平 移、旋轉(zhuǎn)、縮放、變形)進(jìn)行運(yùn)動(dòng)變換,最終在Ξ維空間中產(chǎn)生一個(gè)包括該物體在運(yùn)動(dòng)過(guò)程 中經(jīng)過(guò)的全部空間總和。掃掠體問(wèn)題包含了包絡(luò)建模與計(jì)算、包絡(luò)線、面劃定及Ξ維顯示等 一系列子問(wèn)題。然而,其中最有挑戰(zhàn)性的問(wèn)題就是掃掠體的生成和可視化??臻g掃掠體技術(shù) 在幾何造型復(fù)雜模型設(shè)計(jì)、裝備組裝可行性分析、大規(guī)模設(shè)計(jì)、W及機(jī)器人運(yùn)動(dòng)路徑規(guī)劃等 方面有著非常重要的作用,在航空航天、船舶、汽車(chē)W及其它制造業(yè)有著非凡價(jià)值和意義。
[0003] 對(duì)空間掃掠體的研究最早開(kāi)始于上世紀(jì)5、60年代,盡管已經(jīng)經(jīng)過(guò)了半個(gè)多世紀(jì) 的發(fā)展,也出現(xiàn)了一系列關(guān)于生成掃掠體的方法,但由于實(shí)現(xiàn)算法復(fù)雜、數(shù)據(jù)計(jì)算量太大, 在具體實(shí)際生產(chǎn)實(shí)踐中的應(yīng)用始終存在著巨大障礙,因此該技術(shù)一直W來(lái)被認(rèn)為是計(jì)算機(jī) 圖形學(xué)、可視化、虛擬現(xiàn)實(shí)領(lǐng)域中公認(rèn)的難題之一。
[0004] 在早期的掃掠體研究階段,實(shí)現(xiàn)方法主要是基于解析幾何的方法,如基于運(yùn)動(dòng)形 態(tài)和基于幾何形態(tài)的算法?;谶\(yùn)動(dòng)形態(tài)的方法是W曲線族包絡(luò)面方程為基礎(chǔ)的,利用包 絡(luò)理論,通過(guò)微分方程進(jìn)行求解。例如,Kim和Moon提出了一個(gè)專(zhuān)口針對(duì)代數(shù)曲線和曲面, 生成純旋轉(zhuǎn)掃掠體的代數(shù)算法。該方法得到的掃掠體邊界與回旋由平面物體的邊界有關(guān)。 Parida和Mu化r進(jìn)一步針對(duì)更加通用的掃掠體方法,加入了一系列掃掠規(guī)則。此后,一些研 究人員進(jìn)一步將該方法加W擴(kuò)展,提出掃描包絡(luò)的方法,實(shí)現(xiàn)了多邊形物體的Ξ維掃掠體 生成。由于上述掃掠體生成設(shè)及到大量的方程求解,計(jì)算效率較低,其算法復(fù)雜度與多邊形 模型的頂點(diǎn)數(shù)量相關(guān)。運(yùn)一時(shí)期的掃掠體計(jì)算的核屯、根基是隱函數(shù)理論:多樣分層和掃描 包絡(luò)偏微分方程。大多數(shù)的工作是通過(guò)給掃掠路徑一定假設(shè)條件,然后表征掃掠體的邊界。 在運(yùn)方面有大量關(guān)于如何進(jìn)行幾何實(shí)體造型表面相交計(jì)算的研究報(bào)道。盡管基于幾何計(jì)算 的方法在一定程度上實(shí)現(xiàn)了掃掠體的生成,但是它們普遍的缺陷是僅適用于簡(jiǎn)單的多邊形 或者簡(jiǎn)單的掃掠軌跡,通用性較差,更重要的是其計(jì)算過(guò)程設(shè)及大量偏微分方程求解,要想 得到精確的掃掠體,底層計(jì)算的代數(shù)復(fù)雜度非常高。此外,所有運(yùn)些用于表面相交計(jì)算的算 法實(shí)現(xiàn)都存在處理精度和魯棒性等諸多問(wèn)題。因此,運(yùn)些基于幾何計(jì)算的方法無(wú)法精確計(jì) 算出任意多邊形沿著一個(gè)給定光滑路徑的掃掠體。
[0005] 近年來(lái),隨著計(jì)算機(jī)硬件水平和計(jì)算能力的不斷提升,掃掠體技術(shù)被重新提出,一 種新穎的圖形表示及操作算法-體素(Voxel)法的出現(xiàn)使得任意復(fù)雜圖形延任意復(fù)雜運(yùn) 動(dòng)軌跡的掃掠體計(jì)算成為了可能。目前針對(duì)任意復(fù)雜物體的空間掃掠體生成技術(shù),世界 上僅有美國(guó)波音(Boeing)、法國(guó)達(dá)索(Dassault)、德國(guó)西口子(Siemens)Ξ家企業(yè)推出了 實(shí)際產(chǎn)品,它們分別為波音的Voxmap化intShellTM(VP巧,達(dá)索的CATIA,西口子的Kineo Wrapping。波音的Voxmap化intShellTM(VPS)本身是一個(gè)使用體素(Voxel)來(lái)解決空間 幾何問(wèn)題的函數(shù)庫(kù)。在VPS中,掃掠體(Sw巧tVolume)生成模塊可W通過(guò)用戶定義的物體 對(duì)象運(yùn)動(dòng)軌跡來(lái)生成物體掃過(guò)的空間實(shí)體,并完成掃描體表面補(bǔ)償功能。另外,VPS的網(wǎng)格 化功能利用局部體素空間拓?fù)浣Y(jié)構(gòu)快速生成多邊形模型。達(dá)索的CATIA是PLM協(xié)同解決方 案的一個(gè)重要組成部分,其空間掃掠體模塊實(shí)現(xiàn)方法與波音的Voxmap化intShell? (VPS) 不同,其采用了基于幾何拓?fù)浣Y(jié)構(gòu)演算和水平集(Level-set)方法,在保證計(jì)算精度的同時(shí) 也具有較低的計(jì)算復(fù)雜度。西口子PLM軟件Kineo?Wrapping解決方案是一個(gè)通用的計(jì)算 掃掠體和包圍的軟件庫(kù)。KineoWrapping可W通過(guò)使用外部定義的運(yùn)動(dòng)空間預(yù)留,在模擬 過(guò)程中創(chuàng)建一個(gè)移動(dòng)部件的空間掃掠體。此外,該軟件還支持人體模型、機(jī)器人或較接系統(tǒng) 的運(yùn)動(dòng)掃掠體生成。KineoWrapping通過(guò)一系列算法優(yōu)化,使得用戶能夠直接從掃掠體得 到簡(jiǎn)化的網(wǎng)格模型和包絡(luò)面,而無(wú)須存儲(chǔ)其它中間轉(zhuǎn)換。
[0006] 盡管W上掃掠體生成技術(shù)也是基于Voxel的方法且各有特點(diǎn),但是通過(guò)分析它們 的工作流程可W發(fā)現(xiàn),它們均存W下不足: 1、 用于生成掃掠體的物體模型只能進(jìn)行剛體運(yùn)動(dòng),即平移和旋轉(zhuǎn),而對(duì)如物體本身彎 曲、縮放、擠壓W及自由表面任意變形等非剛性變換所產(chǎn)生的掃掠體則無(wú)能為力; 2、 只能生成一個(gè)最終的靜態(tài)空間掃掠體,而不能將物體運(yùn)動(dòng)過(guò)程中每一時(shí)刻的空間掃 掠體實(shí)時(shí)動(dòng)態(tài)地計(jì)算并顯示出來(lái); 3、 現(xiàn)有空間掃掠體計(jì)算算法復(fù)雜度高、計(jì)算效率低,并且都是采用離線計(jì)算的方式, 而不是實(shí)時(shí)動(dòng)態(tài)計(jì)算。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明目的是針對(duì)現(xiàn)有空間掃掠體計(jì)算中存在的不足,提出一種新穎的基于Ξ維 空間體素的物體空間掃掠體快速計(jì)算方法。該方法通過(guò)加速的多邊形面片體素化算法,將 在Ξ維空間中運(yùn)動(dòng)變換的物體模型實(shí)時(shí)地轉(zhuǎn)化為體素模型,再通過(guò)快速體素運(yùn)算算法將不 同時(shí)刻的體素模型進(jìn)行合并,從而生成每一時(shí)刻的空間掃掠體體素模型,并進(jìn)行實(shí)時(shí)Ξ維 顯示。
[0008] 本發(fā)明方法通過(guò)W下具體步驟實(shí)現(xiàn): 第1、將要進(jìn)行掃掠的虛擬物體模型多邊形面片和頂點(diǎn)的形式表示,并記錄各頂點(diǎn) 的坐標(biāo)信息及頂點(diǎn)構(gòu)成多邊形面片所需連接信息巧 第2、為虛擬物體模型膊ΕΞ維空間中賦予一個(gè)時(shí)間長(zhǎng)度為7的連續(xù)運(yùn)動(dòng)變換巧 第3、將虛擬物體模型姻維空間中的連續(xù)運(yùn)動(dòng)變換巧4時(shí)間軸上進(jìn)行離散化采樣, 每一采樣點(diǎn)代表某一時(shí)刻請(qǐng)勺運(yùn)動(dòng)變換分扣入其中t€ |々,巧; 第4、在運(yùn)動(dòng)變換采樣況寸刻,將多邊形面片和頂點(diǎn)表示的虛擬物體模型膊E其自身 所處的局部坐標(biāo)系空間巧。。^中轉(zhuǎn)換成^維體素模型^^^。,并將該體素模型^^^。復(fù)制到物體 運(yùn)動(dòng)變換空間所在世界坐標(biāo)系中,作為物體運(yùn)動(dòng)變換初始況寸刻的掃掠體體素模型 第5、在運(yùn)動(dòng)變換采樣冊(cè)]刻,其中Λ根據(jù)虛擬物體模型if當(dāng)前的運(yùn)動(dòng)變換 分扣入重新計(jì)算虛擬物體模型鋪勺多邊形面片頂點(diǎn)坐標(biāo)信息化頂點(diǎn)構(gòu)成多邊形面片所需連 接信息巧 第6、將第5步經(jīng)過(guò)運(yùn)動(dòng)變換分扣;的虛擬物體模型其自身所處的局部坐標(biāo)系空間 巧。。^中重新轉(zhuǎn)換成立維體素模型^^;,并將該體素模型^^;復(fù)制到物體運(yùn)動(dòng)變換空間所在的世 界坐標(biāo)系中; 第7、將第6步巧寸刻采樣點(diǎn)的^維體素模型^^;與之前所有履1] ^-7時(shí)刻采樣點(diǎn)的^ 維體素模型的和151轉(zhuǎn)擬集合并運(yùn)算狼的方式進(jìn)行合并,生成到擁刻為止的掃掠體體 素模型5T似二,其中Λ而之前所有履U?-新刻采樣點(diǎn)的S維體素 模型的和?Ι3?|事實(shí)上代表的是新刻的掃掠體體素模型,即,所W 擁刻的掃掠體^維體素模型5'於;又可^表示為 第8、將第7步生成的冊(cè)]刻掃掠體體素模型進(jìn)行Ξ維顯示并加W保存; 第9、將第7步生成的冊(cè)]刻掃掠體體素模型5T似進(jìn)行表面體素提取,生成冊(cè)]刻掃 掠體體素表面點(diǎn)子集5'5Yy,進(jìn)行Ξ維顯示并加W保存; 第10、將第7步生成的冊(cè)]刻掃掠體體素模型51^。進(jìn)行表面Ξ維重建,生成冊(cè)]刻掃 掠體表面的多邊形面片模型57Yy,進(jìn)行Ξ維顯示并加W保存; 第11、對(duì)所有運(yùn)動(dòng)變換采樣時(shí)刻?,tεU,.ill·重復(fù)第5到第10步,生成物體模型膊E每一采樣時(shí)刻?的掃掠體體素模型5T扣人掃掠體體素表面點(diǎn)子集、掃掠體表面的多 邊形面片模型57Yy,并進(jìn)行實(shí)時(shí)Ξ維動(dòng)態(tài)顯示。