曲面重構(gòu)技術(shù)文檔_第1頁(yè)
曲面重構(gòu)技術(shù)文檔_第2頁(yè)
曲面重構(gòu)技術(shù)文檔_第3頁(yè)
曲面重構(gòu)技術(shù)文檔_第4頁(yè)
曲面重構(gòu)技術(shù)文檔_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余9頁(yè)可下載查看

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、由點(diǎn)云重構(gòu) CADCAD 模型的根本步驟包括:點(diǎn)云分塊、點(diǎn)云切片、曲面重構(gòu)、1.點(diǎn)云分塊由于工程實(shí)際中原型往往不是由一張簡(jiǎn)單曲面構(gòu)成,而是由大量初等解析曲面如平面、圓柱面、圓錐面、球面、圓環(huán)面等及局部自由曲面組成,故三維實(shí)體重構(gòu)的首要任務(wù)是將測(cè)量數(shù)據(jù)按實(shí)物原型的幾何特征進(jìn)行分割成不同的數(shù)據(jù)塊,使得位于同一數(shù)據(jù)塊內(nèi)的數(shù)據(jù)點(diǎn)可以一張?zhí)囟ǖ那鎭?lái)表示,然后針對(duì)不同數(shù)據(jù)塊采用不同的曲面建構(gòu)方案如初等解析曲面、B-splineB-spline 曲面、BezierBezier 曲面、NURBSNURBS 曲面等進(jìn)行曲面重建,最后將這些曲面塊拼接成實(shí)體,它包括點(diǎn)集分割與曲面重建兩局部.為了實(shí)現(xiàn)點(diǎn)云的分塊功能

2、,同時(shí)也為了后續(xù)曲線擬合中重要點(diǎn)的選取工作,我們建立了圖元的拾取模塊.它包括多邊形拾取、矩形拾取、點(diǎn)選三個(gè)小的局部,運(yùn)用此模塊我們可以利用鼠標(biāo)對(duì)空間點(diǎn)云進(jìn)行任意的分割和提取.多邊形拾取與矩形拾取類似,都是在視圖上確定一個(gè)選擇區(qū)域,然后根據(jù)視圖上的圖形是否完全落在這個(gè)選擇區(qū)域中來(lái)決定視圖上的圖形是否被選取.由于我們針對(duì)的對(duì)象是三維空間中的圖元,因此在視圖窗口中所確定的區(qū)域?qū)嶋H上是一個(gè)矩形體或者多面體,所拾取的圖元是位于這個(gè)體中的對(duì)象.問(wèn)題的關(guān)鍵在于如何確定圖元是否位于矩形體或多面體中.基于 OpenGLOpenGL 的拾取機(jī)制很好的解決了這個(gè)問(wèn)題.物體的實(shí)際坐標(biāo)經(jīng)模型視圖變換、投影變換、視口變換

3、后顯示為屏幕上的一點(diǎn),OpenGLOpenGL 的 gluUnProjectgluUnProject可以做該過(guò)程的逆變換,即根據(jù)屏幕上點(diǎn)的二維坐標(biāo)以及經(jīng)過(guò)的變換矩陣可求出該點(diǎn)變換前在三維空間的坐標(biāo)位置,但需要事先給定二維屏幕坐標(biāo)的深度坐標(biāo).考慮 OpenGLOpenGL 的投影原理,將 0.00.0 和1.01.0 作為前后裁剪面的深度坐標(biāo).因此兩次調(diào)用 gluUnProjectgluUnProject可得到視圖體前后裁剪面上的兩個(gè)點(diǎn),也就是屏幕上點(diǎn)的兩個(gè)三維坐標(biāo).對(duì)于矩形拾取而言,判斷點(diǎn)是否位于矩形體中比擬簡(jiǎn)單,可以選取每個(gè)空間點(diǎn),判斷點(diǎn)的坐標(biāo)是否位于矩形盒三個(gè)方向的極限范圍內(nèi),如果滿足條件

4、,那么可認(rèn)為該點(diǎn)符合條件,被拾取到了,并高亮顯示.對(duì)于多邊形拾取而言,我們借助面的法矢進(jìn)行判斷,對(duì)于任意空間點(diǎn) p,p,首先計(jì)算出各個(gè)面的外法矢 n,n,然后在每個(gè)面任選一點(diǎn) v v 與 p p 構(gòu)成向量 pv,pv,如果對(duì)于多邊形的每個(gè)面恒有 n*pvn*pv0,0,那么可認(rèn)為該點(diǎn)位于多邊形的內(nèi)部,當(dāng)然也可利用射線法進(jìn)行判斷,從該點(diǎn)出發(fā),作任意方向的一根射線,考察此射線與三維物體各面的交點(diǎn)數(shù),如果總數(shù)=0=0 或其它偶數(shù),那么在三維物體之外,如果總數(shù)為奇,那么在三維物體之內(nèi).點(diǎn)選相比照擬簡(jiǎn)單,對(duì)鼠標(biāo)點(diǎn)擊點(diǎn)向各個(gè)方向各擴(kuò)展一定距離,構(gòu)成一個(gè)矩形,然后根據(jù)矩形拾取的原理進(jìn)行判斷.需要注意的是上述

5、三種方法不可預(yù)防的會(huì)出現(xiàn)透視方向的重疊點(diǎn),必須根據(jù)到前裁剪平面的距離進(jìn)行取舍.下面分別給出一些簡(jiǎn)單的例子.多變形拾取在多邊形拾取對(duì)話框中我們可以根據(jù)操作的類型選擇是對(duì)網(wǎng)格還是點(diǎn)云進(jìn)行拾取,同時(shí)所保存的區(qū)域多邊形內(nèi)、外、或者同時(shí)也可進(jìn)行選擇.根本操作步驟為:左鍵點(diǎn)擊多邊形按鈕開(kāi)始選擇,在點(diǎn)云中左鍵單擊作為多邊形頂點(diǎn),同時(shí)開(kāi)始繪制,點(diǎn)擊 ApplyApply 結(jié)束多邊形繪制,同時(shí)高亮顯示拾取點(diǎn)云.CADCAD 模型.1.11.1 矩形拾取矩形拾取的步驟和多邊形類似,效率相對(duì)高一些,但每次拾取的區(qū)域有限.1.21.2 點(diǎn)選操作點(diǎn)選操作的主要目地是選擇一些顯著的離散點(diǎn)進(jìn)行曲線的擬合,也可用于刪除一些噪

6、點(diǎn).2.點(diǎn)云切片由于通過(guò)測(cè)量所獲取的數(shù)據(jù)是一種散亂無(wú)序的狀態(tài),而且數(shù)據(jù)量很大,直接處理代價(jià)很大,因此如何將數(shù)據(jù)進(jìn)行重新組合,使其成為一種有序的結(jié)構(gòu),在曲面重構(gòu)中有著重要應(yīng)用.借助醫(yī)學(xué)切片技術(shù)在醫(yī)學(xué)圖像三維重構(gòu)方面的突出作用,將它引入到計(jì)算機(jī)輔助幾何設(shè)計(jì)領(lǐng)域,提出了三維散亂數(shù)據(jù)點(diǎn)的切片表示技術(shù),這種技術(shù)將原始的無(wú)序數(shù)據(jù)點(diǎn)集轉(zhuǎn)化為具有層列結(jié)構(gòu)的有序組織形式,同時(shí)減少了點(diǎn)云的數(shù)據(jù)量,為后續(xù)的曲面重構(gòu)奠定了根底.2.12.1 定義截平面每個(gè)截平面包括兩個(gè)屬性,一個(gè)截平面的中央點(diǎn) centerPos,centerPos,另一個(gè)為截平面的法矢 n,n,不同拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)點(diǎn)云,截平面的定義方式不同.對(duì)于一般

7、結(jié)構(gòu)的數(shù)據(jù)點(diǎn)云,初始截平面的定義可以按以下過(guò)程定義:首先計(jì)算點(diǎn)云的最小包圍盒,獲取包圍盒的中央點(diǎn)作為第一個(gè)截平面的中央點(diǎn),初始方向定位 x,y,x,y,z z 任一方向,截平面的個(gè)數(shù)設(shè)定為一個(gè),平行平面之間的初始距離 d=1d=1; ;實(shí)際應(yīng)用時(shí),可以根據(jù)數(shù)據(jù)點(diǎn)云的具體情況進(jìn)行手動(dòng)調(diào)整第一個(gè)截平面的中央坐標(biāo)、截平面的法矢方向、截平面的間距、截平面的個(gè)數(shù).同時(shí)為了便于觀察切片切割到的點(diǎn)云,建議將切片做成半透明的,切片的大小可以參考點(diǎn)云三個(gè)方向的變化范圍進(jìn)行確定.下列圖為根據(jù)點(diǎn)云的實(shí)際位置和方向調(diào)整后的截平面族,截平面的個(gè)數(shù) numnum=3,=3,間距disdis= =5.0;5.0;法矢為 x

8、 x 軸正向.有些時(shí)候沿坐標(biāo)軸方向或者反方向很難獲得比擬滿意的切片,我們希望可以根據(jù)點(diǎn)云的走向任意確定截面法矢.因此在做切片時(shí)需要增加法向的選擇功能,由于空間兩個(gè)不重合點(diǎn)即可確定一向量,因此在實(shí)際操作時(shí)我們可以任意在空間選擇兩個(gè)點(diǎn)確定切片的法向.離散點(diǎn)的選取可以參照?qǐng)D元拾取中的點(diǎn)選操作.2.22.2 定義截平面數(shù)據(jù)點(diǎn)用截平面截取點(diǎn)云時(shí),數(shù)據(jù)點(diǎn)剛好落在截平面上的可能性很小,有時(shí)甚至是不可能的,所以僅僅截取落在截平面上的點(diǎn)往往不可能擬合出截面線,即使可以擬合出截面線也往往不能反映實(shí)體的實(shí)際外形.所以這里采用點(diǎn)云中與平面距離小于一定閾值的點(diǎn)作為研究對(duì)象.只要與截平面距離小于閾值的點(diǎn)就是截取點(diǎn).這里閾

9、值確實(shí)定十分重要,太大,截取的點(diǎn)太多,計(jì)算量大,太小,截取點(diǎn)擬合曲線又不能反映實(shí)體的實(shí)際外形.因此點(diǎn)云的厚度 8(28(2e)e)很難給出具體的值.一些實(shí)例說(shuō)明,8 8 與點(diǎn)云的密度 p p 存在一定的關(guān)系,大局部情況下 8 8 取1 14 4 倍的 p p 即可滿足條件./中 ifiifi用工3喟定裁取點(diǎn)?E為潮飾】2.32.3 獲取截面數(shù)據(jù)點(diǎn)目前有兩種計(jì)算切片的方法:投影法和求交法.下面分別給出這兩種方法的原理和后續(xù)點(diǎn)云的處理方法.2.3.12.3.1 投影法投影法是對(duì)每一平面閾值內(nèi)的點(diǎn)云沿平面的法矢方向進(jìn)行投影,得到點(diǎn)云束.選取回轉(zhuǎn)面進(jìn)行測(cè)試,8 8 取 2 2 倍的點(diǎn)云密度,截平面?zhèn)€數(shù)

10、為 5,5,間距為 6.0,6.0,結(jié)果如下:仔細(xì)觀察上述點(diǎn)云發(fā)現(xiàn)投影法獲取的切片數(shù)據(jù)為具有一定寬度的點(diǎn)云帶,存在大量冗余數(shù)據(jù),且切片數(shù)據(jù)之間沒(méi)有明顯的拓?fù)溧徑P(guān)系,因此在保存截面特征數(shù)據(jù)點(diǎn)的同時(shí)必須對(duì)其進(jìn)行精簡(jiǎn)與排序,實(shí)現(xiàn)切片數(shù)據(jù)的優(yōu)化,以適用于參數(shù)曲線與曲面重構(gòu).為實(shí)現(xiàn)切片數(shù)據(jù)精簡(jiǎn),可將切片數(shù)據(jù)點(diǎn)轉(zhuǎn)換至極坐標(biāo)系下并將其劃分為多個(gè)區(qū)域,對(duì)每個(gè)較小區(qū)域分別進(jìn)行輪廓?jiǎng)e離及特征數(shù)據(jù)提取,在保證數(shù)據(jù)信息完整性的同時(shí)實(shí)現(xiàn)切片數(shù)據(jù)的精簡(jiǎn),然后依次連接各區(qū)域相同輪廓特征數(shù)據(jù),得到精確有序的切片數(shù)據(jù)點(diǎn)序列.該算法的主要步驟為:1 1 . .將每個(gè)切片截取白的數(shù)據(jù)點(diǎn)集 T T 進(jìn)行旋轉(zhuǎn)平移操作,轉(zhuǎn)移到 xyx

11、y 平面上,其中集合 T T的中央點(diǎn) O Oo轉(zhuǎn)移到坐標(biāo)原點(diǎn).2 2 . .以O(shè) O0 0為極坐標(biāo)原點(diǎn), ,以O(shè) O0 0為起點(diǎn)作一條平行于 X X軸的射線,作為極軸, ,建立切片數(shù)據(jù)極坐標(biāo)系, ,獲取切片數(shù)據(jù)點(diǎn)極徑 r r 及極角 0 03 3 . .計(jì)算極角的勺變化范圍 min,%ax,根據(jù)極角部長(zhǎng)揩切片數(shù)據(jù)劃分為多個(gè)扇形區(qū)域,如下列圖所示.4 4 . .計(jì)算各區(qū)域切片數(shù)據(jù)形心,將其作為切片數(shù)據(jù)特征點(diǎn),依次連接特征點(diǎn),所得序列即為優(yōu)化后的用;切一址山把打4 4司邕域K K低投然段FH.FH.4 4pHfeRiiihripHfeRiiihriill*mrill*mriliiLiiliiLi切

12、片數(shù)據(jù)點(diǎn)序列.F*閨7切J;馥掂區(qū)域劃分我們選取 P P=10=10.作為極角步長(zhǎng),對(duì)回轉(zhuǎn)面截取的點(diǎn)云進(jìn)行優(yōu)化,效果如下列圖所示:結(jié)果說(shuō)明采用極坐標(biāo)法對(duì)于常見(jiàn)的凸數(shù)據(jù)有很好的適用性,但是如果在極軸方向存在數(shù)據(jù)重疊或者數(shù)據(jù)過(guò)于復(fù)雜,可能就不成立,這樣有時(shí)會(huì)把曲面的一些特征給光順掉.針對(duì)這種情況,我們可參考最近點(diǎn)對(duì)的方法或者采用移動(dòng)最小二乘法對(duì)數(shù)據(jù)進(jìn)行處理.5 5 .32.32 求交法當(dāng)截平面的寬度8確定后,截面線的輪廓僅與其上下鄰域有關(guān),距離截面越近的點(diǎn),對(duì)輪廓重構(gòu)的奉獻(xiàn)越大.因此,把參與該層截面重構(gòu)的點(diǎn)稱之為關(guān)聯(lián)點(diǎn),否那么為非關(guān)聯(lián)點(diǎn).依據(jù)這個(gè)原那么,提出基于最小距離關(guān)聯(lián)點(diǎn)對(duì)的線面截交方法.該算

13、法步驟如下:1 1首先根據(jù)截平面的法矢和閾值e將截面兩側(cè)點(diǎn)云分為上下兩局部,記為 A1,A2A1,A2.2 2在上鄰域 A1A1 中任選一點(diǎn) P,P,在下鄰域 A2A2 中找出距離點(diǎn) P P 最近的點(diǎn) Q,Q,設(shè) PQPQ 之間的距離為 L1,L1,同樣在 A1A1 中找出距離點(diǎn) Q Q 最近的點(diǎn) R,R,設(shè) QRQR 之間的距離為 L2,L2,如果點(diǎn) R R 和 P P 重合,那么點(diǎn) P P、Q Q構(gòu)成最小距離關(guān)聯(lián)點(diǎn)對(duì),并記下; 否那么,記錄點(diǎn) Q Q、 R R 構(gòu)成最小距離關(guān)聯(lián)點(diǎn)對(duì),另一點(diǎn) P P 為非關(guān)聯(lián)點(diǎn)3 3重復(fù)上述操作,遍歷整個(gè)上鄰域點(diǎn)集,最終形成一個(gè)最小關(guān)聯(lián)點(diǎn)對(duì)的集合.如下列圖所

14、示:4 4計(jì)算每一個(gè)最小關(guān)聯(lián)點(diǎn)對(duì)與截平面的交點(diǎn).設(shè)一點(diǎn)對(duì)為 P P1?P?P2,令 K=K=P P1-P-P2,V V、n n 分別為截平面的中央點(diǎn)和法矢,那么點(diǎn)對(duì)連線與該截面的交點(diǎn)E為:E E= =P+n*P+n*(V-(V-P2)P2)K/(n*(n*對(duì)每塊點(diǎn)云束構(gòu)造上下區(qū)域,計(jì)算最小關(guān)聯(lián)點(diǎn)對(duì).下面給出以盤(pán)旋面為例,使用求交法所獲得的截面點(diǎn)云.首先選擇適宜的方向,構(gòu)造個(gè)半透明的截平面與點(diǎn)云相交為了獲取足夠的點(diǎn)云擬合截面線,對(duì)每個(gè)截平面沿法向向兩側(cè)分別拓展一定寬度到一塊點(diǎn)云束.E,E,得最小關(guān)聯(lián)點(diǎn)對(duì)與截平面相交,獲取截面線數(shù)據(jù)點(diǎn)2.42.4 輪廓數(shù)據(jù)點(diǎn)排序利用截平面法所獲得的特征點(diǎn)為無(wú)序的點(diǎn)

15、云,必須對(duì)其進(jìn)行排序才能用于后續(xù)的曲線參數(shù)化.散亂數(shù)據(jù)排序的方法有很多,如二分排序法、方向投影法.這些方法對(duì)于外形輪廓形狀比擬簡(jiǎn)單的數(shù)據(jù)點(diǎn)進(jìn)行排序是可以的,但針對(duì)外形比擬復(fù)雜的場(chǎng)合,上面的排序法就會(huì)受到限制.考慮到平面截取的數(shù)據(jù)點(diǎn)比擬密,實(shí)體外表形狀各異,這里采用距離排序法,同時(shí)為了預(yù)防在排序過(guò)程中出現(xiàn)折回的現(xiàn)象,使用夾角法進(jìn)行處理.根本思路為:1 1在平面截取數(shù)據(jù)點(diǎn)中選取任意一點(diǎn) P1P1 作為初始點(diǎn),為了方便,選取截取數(shù)據(jù)點(diǎn)序列中的第一個(gè)點(diǎn).2 2以選取的首點(diǎn)為研究對(duì)象,在截取數(shù)據(jù)點(diǎn)除首點(diǎn)以外的點(diǎn)集內(nèi)找出與該點(diǎn)距離最近的點(diǎn) p2p2 作為第二個(gè)點(diǎn),并標(biāo)記為已查找點(diǎn).3 3以第二個(gè)點(diǎn)為研究對(duì)

16、象,在除 plpl、p2p2 外的點(diǎn)集中找出與該點(diǎn)距離最近的點(diǎn) p3,p3,計(jì)算plpl、p2p2 構(gòu)成的向量與 p2p2、p3p3 構(gòu)成的向量的夾角,如果夾角小于 90,90,那么可認(rèn)為沒(méi)有折回,將 p3p3 作為第三個(gè)點(diǎn),并標(biāo)記為已查找點(diǎn),轉(zhuǎn) 5 5.假設(shè)夾角大于 90,90,說(shuō)明出現(xiàn)折回現(xiàn)象,p3p3 不符合條件,轉(zhuǎn)到 4.4.4 4假設(shè)出現(xiàn)折回現(xiàn)象,大局部情況下說(shuō)明沿某個(gè)大致方向已搜索到點(diǎn)云的某一端點(diǎn),需要反向搜索.仍然把 plpl 作為初始點(diǎn),在未標(biāo)記點(diǎn)中搜索距離點(diǎn) plpl 最近的點(diǎn) p3p3 作為反向的第一個(gè)點(diǎn),并進(jìn)行標(biāo)記5 5依次類推,在尋找第 n+1n+1 點(diǎn)時(shí),在出去前 n

17、 n 個(gè)標(biāo)記點(diǎn)之外的數(shù)據(jù)點(diǎn)集中找出與第 n n 點(diǎn)距離最近的點(diǎn)作為 n+1n+1 點(diǎn).6 6這樣可以一直進(jìn)行下去直到找到截取數(shù)據(jù)點(diǎn)集中的最后一個(gè)數(shù)據(jù)點(diǎn).下面給出使用求交法所獲取的截面線數(shù)據(jù)未排序和排序后的情況.為了方便觀察,我們對(duì)截取的點(diǎn)云數(shù)據(jù)使用折線首尾相連,以鞍面為例.3.曲面重構(gòu)3.1樣條曲線擬合在散亂數(shù)據(jù)點(diǎn)的曲面重構(gòu)方法上,目前研究最多的是基于四邊域的 B B 樣條及 NURBSNURBS 法,B B 樣條法可通過(guò)限制點(diǎn)和權(quán)值方便靈活地限制曲面形狀,因此我們采用 B B 樣條方法對(duì)曲面進(jìn)行重構(gòu).重構(gòu)過(guò)程分為兩步:首先將截面點(diǎn)云擬合成樣條曲線,然后利用蒙皮法插值生成樣條曲面.為了便于后續(xù)的曲面擬合,首先對(duì)上述排序點(diǎn)云進(jìn)行判斷,調(diào)整位置,使截面線的方向一致化.然后編寫(xiě) B B 樣條函數(shù)進(jìn)行擬合,我們選取鞍面為例,擬合結(jié)果如圖:未排序點(diǎn)云排序后點(diǎn)云截面線點(diǎn)云3.2蒙皮法生成曲面用蒙皮法生成 B B 羊條曲面,需要對(duì)截面線做如下處理:1 1統(tǒng)一次數(shù),使較低次數(shù)的截面曲線都升階到其中最高次數(shù);2 2參數(shù)域變換,使所有截面曲線都具有統(tǒng)一的定義域;3 3插入節(jié)點(diǎn),每一截面曲線的節(jié)點(diǎn)矢量插入其他截面曲線節(jié)點(diǎn)矢量中相異的節(jié)點(diǎn)值;4 4從光順性考慮,應(yīng)使所有截面線的端點(diǎn)與分段連接點(diǎn)沿曲線弧長(zhǎng)分布情況比擬接近,否那么將不利于曲面光順性.基于該要求,需要進(jìn)一步

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論