• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      三維重建中的剖視圖處理

      2010-09-25 02:57:38丁運亮
      圖學(xué)學(xué)報 2010年6期
      關(guān)鍵詞:剖視圖虛線基元

      王 翔, 丁運亮, 李 靜

      (1. 南京航空航天大學(xué)航空宇航學(xué)院,江蘇 南京210016;2. 南京航空航天大學(xué)自動化學(xué)院,江蘇 南京210016)

      三維重建中的剖視圖處理

      王 翔1, 丁運亮1, 李 靜2

      (1. 南京航空航天大學(xué)航空宇航學(xué)院,江蘇 南京210016;2. 南京航空航天大學(xué)自動化學(xué)院,江蘇 南京210016)

      剖視圖處理能夠有助于更好地理解視圖,提高三維重建的效率?;趯ζ室晥D自身特點的分析,提出了三維重建中對剖視圖的處理算法,即通過剖視圖信息的智能提取生成基元體,將基元體同由視圖輪廓生成的參照體進(jìn)行布爾運算,從而得到最終的目標(biāo)體。算法能夠處理包括全剖視圖、半剖視圖以及平行剖視圖在內(nèi)的剖視圖,最后給出了應(yīng)用算例以驗證算法的可行性。

      工程圖學(xué);計算機(jī)輔助設(shè)計;三維重建;剖視圖

      在工程視圖中存在著大量的剖視圖,剖視圖的引入消除了視圖表達(dá)的歧義性,便利了視圖的理解,但卻增加了三維重建的難度,這是緣于剖視圖信息同一般投影視圖信息有著本質(zhì)上的差異,剖視圖在工程視圖理解中提供的是示意信息,它的理解依賴于局部的三維形狀,具有局部整體性,其表達(dá)的信息較為隱含,其約束也具有一定的模糊性。如何將剖視圖中隱含的投影信息正確地提取出來,并將其轉(zhuǎn)化為三維重建能夠理解的正交視圖是三維重建中剖視圖處理的核心環(huán)節(jié)。

      三維重建工程中對于剖視圖的研究為數(shù)甚少,Markowsky和Wesley[1]在他們的線框算法中最早研究了剖視圖存在的情況,他們提出當(dāng)正交視圖中存在剖視圖時,所生成的三維候選頂點需滿足位于剖切平面和投影方向所確定的半空間中這一條件,由于剖視圖會產(chǎn)生大量的多余候選點,從而增加了錯解發(fā)生的幾率。Geng[2]在重建算法中引入了人工智能的思想,模仿工程師的識圖方法,采用了分層重建的策略,將實體在不同的位置進(jìn)行截切,當(dāng)出現(xiàn)形狀同投影不一致的情況時,便使用剖視圖代替該截面,在這里剖視圖只是作為三維重建的輔助手段,并未作為主要研究對象。Aldefeld[3]和 Bin[4]的算法也將剖視圖考慮在內(nèi),但是大量的人工介入使得程序的效率大打折扣。Dimri[5]采用 CSG重建的策略對剖視圖進(jìn)行了深入的研究,算法首先識別出剖視圖同投影視圖中不同的邊以及閉環(huán),通過投影匹配生成子實體,最終由布爾運算生成目標(biāo)實體。能夠處理全剖、半剖的情況,但是僅限于投影視圖中存在單一剖視圖的情況,多幅剖視圖并存的情況則無法解決。

      本文在深入分析剖視圖自身特點的基礎(chǔ)上,找出了剖視圖同一般投影視圖的不同之處,從這些差異點著手,提出了三維重建中針對剖視圖的處理方法。

      1 剖視圖簡介

      當(dāng)用普通投影視圖無法完全表達(dá)實體的內(nèi)部結(jié)構(gòu)時,往往采用剖視圖作為輔助表達(dá)手段。它是假想用一剖切面剖開實體,將處在觀察者和剖切面之間的部分移去,而將其余部分向投影面上投影,這樣得到的投影視圖即為剖視圖。按照剖切范圍的大小可以分為全剖、半剖以及局部剖視圖,按照剖切平面和剖切方法可分為平行剖、移出剖、以及旋轉(zhuǎn)剖等。分別圖示如下。

      (1) 全剖視圖

      用剖切面完全貫穿實體所得的剖視圖稱為全剖視圖。全剖視圖用于外形簡單,內(nèi)部結(jié)構(gòu)較復(fù)雜且不對稱的實體。如圖1所示即為全剖視圖。

      圖1 全剖視圖

      (2) 半剖視圖

      當(dāng)實體具有對稱平面時,向垂直于對稱平面的投影面上投射所得的圖形,可以對稱中心線為界,一半畫成剖視圖,另一半畫成普通投影視圖。這樣的表達(dá)方法獲得的剖視圖稱為半剖視圖。如圖2所示即為半剖視圖。

      圖2 半剖視圖

      (3) 局部剖視圖

      用剖切面局部地剖開實體,一部分畫成普通投影視圖以表達(dá)外形,其余部分畫成剖視圖以表達(dá)內(nèi)部結(jié)構(gòu),這樣所得的圖形稱為局部剖視圖。例如,有盲孔存在時多采用局部剖視圖,如圖3所示。

      圖3 局部剖視圖

      (4) 平行剖視圖

      當(dāng)需要表達(dá)實體中分布在幾個相互平行的平面上的內(nèi)部結(jié)構(gòu)時,可采用幾個平行的剖切面剖開實體的表達(dá)方法,即平行剖視圖,如圖4所示。

      圖4 平行剖視圖

      (5) 移出剖視圖

      將實體從某些特殊位置剖切開,并將剖視圖移出主視圖,該類剖視圖被稱為移出剖視圖,軸類零件常用此類剖視圖表示,如圖5所示。

      圖5 移出剖視圖

      (6) 旋轉(zhuǎn)剖視圖

      將實體在某一位置剖切開,將剖面圖旋轉(zhuǎn)90°,此類剖視圖即為旋轉(zhuǎn)剖視圖,如圖6所示。

      圖6 旋轉(zhuǎn)剖視圖

      2 定義及術(shù)語

      以下是算法中用到的一些概念定義和名詞術(shù)語,大部分來自Soni & Gurumoorthy[6]。

      (1) 面 環(huán)

      由一系列閉合的邊圍成的區(qū)域。如圖7View1中的面環(huán){5, 6, 9, 10, 5}。

      圖7 匹配點與匹配環(huán)

      (2) 切 點

      如果兩條邊在某處相交,并保持一階連續(xù),該點即為切點,切點有直線與直線的切點、直線與曲線的切點以及曲線與曲線的切點之分,后兩者在切點處曲率保持一致,直線與直線的切點實質(zhì)上是邊的內(nèi)部點,如圖 7View1中的點 5,就是直線段6-7與5-6的切點。

      (3) 輪廓點(重影點)

      垂直于某一投影面的邊會在該投影面內(nèi)積聚為一點,該點即為輪廓點,如圖7View1中的點1,2。

      (4) 極限點

      在面環(huán)內(nèi)具有極限位置的點,如圖 7View1中的點 7,4分別是面環(huán){4,5,6,7,8,3,4}的左右極限點。

      (5) 面環(huán)的包含關(guān)系劃分

      兩個面環(huán)L1和L2,如果面環(huán) L1的所有邊均在面環(huán)L2內(nèi),則稱L1為L2的內(nèi)環(huán),L2為L1的外環(huán),如果L1中有的邊在L2內(nèi)部,有的邊在L2上,則稱 L1為 L2的內(nèi)交環(huán),如果 L1中有的邊在 L2內(nèi)部(或邊界),有的在 L2外部,稱 L1為 L2的外交環(huán)。如圖7View1中的環(huán){1, 2, 1}是環(huán){4, 5, 6,7, 8, 3, 4}的內(nèi)環(huán),環(huán){5, 6, 9, 10, 5}是環(huán){4, 5, 6, 7,8, 3, 4}的內(nèi)交環(huán),View2中的環(huán){4, 5, 6, 12, 11, 3}是環(huán){1, 10, 9, 8, 7, 6, 12, 11, 3, 2, 1}的外交環(huán)。

      (6) 實環(huán)與虛環(huán)

      組成面環(huán)的邊均為實線稱為實環(huán),反之若環(huán)面的所有邊均由虛線組成則稱該面環(huán)為虛環(huán)。實環(huán)對應(yīng)的是實體部分,虛環(huán)對應(yīng)的則是孔、洞等虛體。

      (7) 匹配點

      兩投影視圖中沿某一公共坐標(biāo)軸具有相同坐標(biāo)的點稱為匹配點,一個點可以有多個匹配點。如圖7View1中的點3在View2中的匹配點為點1和點2。

      (8) 匹配面環(huán)

      (9) 基元體

      所有匹配的面環(huán)沿垂直于投影面的方向平掃,得到的平掃體求交后生成的實體即為基元體?;w之間作交、并、差等布爾運算便可得到最終重建實體。

      3 算法概述

      3.1 預(yù)處理

      工程視圖采用.DXF格式輸入,由于大多數(shù)情況下,多個投影視圖位于同一幅圖中,即同一圖層內(nèi),這樣很難從中得到圖元所屬視圖的信息,因此必需將圖元所屬的投影視圖劃分開來,即視圖的分割。視圖的分割是基于如下性質(zhì)進(jìn)行的:每一個獨立視圖都應(yīng)是連續(xù)、封閉的圖元組合,任何穿過視圖的直線必然與該視圖中的圖元相交或重合。對分割后的視圖進(jìn)行坐標(biāo)系轉(zhuǎn)換,將設(shè)備坐標(biāo)系轉(zhuǎn)換成投影坐標(biāo)系。進(jìn)行坐標(biāo)系轉(zhuǎn)換后的投影視圖,還需進(jìn)行圖素的拼接和打斷處理[2]。經(jīng)過上述預(yù)處理工作后,得到了一系列數(shù)據(jù)關(guān)系結(jié)構(gòu),其中包括圖元和所屬視圖關(guān)系鏈表,點邊關(guān)系鏈表等。以上得到的全部作為三維重建的輸入。

      3.2 布爾運算

      將投影視圖的輪廓進(jìn)行平掃求交生成當(dāng)前參照體,對提取出來的所有邊使用極左鄰邊搜索法[7]生成一系列的面環(huán),由面環(huán)平掃求交得到一系列基元體,依次將基元體同當(dāng)前參照體進(jìn)行實體布爾運算,即不斷刷新當(dāng)前參照體,當(dāng)參照體視圖投影同初始視圖完全匹配時,算法結(jié)束。算法流程如圖8所示。

      圖8 算法流程圖

      4 剖視圖處理

      算法的核心環(huán)節(jié)在于如何對投影視圖中的剖視圖進(jìn)行恰當(dāng)?shù)奶幚?。由于剖視圖不同于普通的投影視圖,因而需對其作特殊處理。

      (1) 剖視圖是完全獨立的視圖,對其它視圖沒有任何影響,但有時可以利用剖視圖提供的視圖信息擦除其它視圖中不必要的圖元,以達(dá)到簡化視圖的效果。如圖9中所示的主視圖采用剖視圖表示,左視圖中的兩條虛線在擦除后仍不影響視圖的完整表達(dá),類似情況可作擦除處理。

      圖9 剖視圖處理示例

      (2) 被剖切平面遮擋的部分,虛線一般省略,但是一些特殊情況下需要畫出,如圖 10所示的剖視圖中的虛線,如果不畫則不能確定孔和楔塊是否存在。

      圖10 剖視圖中含有虛線的情況

      (3) 在半剖視圖中的非剖切部分的虛線可作擦除處理。

      上述3種情況中之所以可以對視圖中的虛線作擦除處理,是因為在生成基元體的過程中,往往不需要3個投影均完備,有時只需一個反映基元體特征的特征投影和一個輔助投影即可。經(jīng)擦除處理后,可以生成較少的面環(huán),從而避免多余基元體的生成。

      (4) 同上面的面環(huán)過多情況不同的是,有時現(xiàn)有的面環(huán)不能滿足生成基元體的條件,在這種情況下則需要補(bǔ)充額外的面環(huán),例如圖 11中所示的情況,正視圖中的面環(huán){1,2,3,4,1}在左視圖中找不到與之相匹配的面環(huán),但是如果把左視圖中的 3個面環(huán){5,6,7,8,5}、{7,8,9,10,7}以及{9,10,11,12}合并成為一個面環(huán){5,6,11,12,5},那么該面環(huán)便可以和正視圖中的{1,2,3,4,1}以及俯視圖中的{13,14,15,16,13}組成匹配的面環(huán)。

      圖11 面環(huán)的合并

      (5) 如果視圖中存在僅通過虛線同其它面環(huán)相連接的面環(huán),那么將該面環(huán)視為孤立的面環(huán)。如圖 12中所示的箭頭所示的面環(huán)僅同兩條虛線相連,很顯然該面環(huán)同兩條虛線所代表的實體部分具有著不同的深度信息,即兩者不可能從屬于同一基元體,故可將該部分孤立開來,單獨處理。

      圖12 孤立的面環(huán)

      (6) 視圖中孤立的環(huán)面大多為孔洞或拉伸結(jié)構(gòu)體,對于這類結(jié)構(gòu),在生成基元體時不需要3個視圖投影,而只需要兩個即可,這種情況下將第3個視圖中匹配的面環(huán)刪除來減少運算量。

      (7) 如果對于一個孤立的面環(huán),在剖視圖中無法找到與之相匹配的面環(huán),在這種情況下,只需找到與之相匹配的邊即可,將孤立面環(huán)沿這些邊平掃便可得到基元體。如圖4中箭頭所指的孤立面環(huán)在剖視圖中無法找到與之匹配的面環(huán),那么轉(zhuǎn)而搜索面環(huán)中的極限點,在這里是點5,6。恰巧這兩點又都是輪廓點,分別對應(yīng)于剖視圖中的邊1-2和3-4,并且邊1-2和3-4長度相同,于是將面環(huán){5,6,5}沿1-2方向平掃即可得到基元體。

      (8) 生成的基元體可以分為實體和虛體兩大類,分別對應(yīng)的實體生成操作為鏜孔和拉伸,為確定操作的類型,算法將基元體反投影回各個視圖,通過對比投影同初始視圖的輪廓的位置關(guān)系來確定實體還是虛體。由基元體投影得到的面環(huán)稱為目標(biāo)環(huán),選取目標(biāo)環(huán)中連接度大于2的點作為初始點開始回溯,如圖 13所示,主視圖中面環(huán){1,2,3,4,1}為目標(biāo)環(huán),環(huán){1,2,3,4,5,6,7,8,1}為由投影輪廓生成的外環(huán),點1為初始點,同它相連的三條邊分別為‘a(chǎn)’,‘b’,‘c’,具體算法如下:

      圖13 目標(biāo)環(huán)與外環(huán)

      當(dāng)基元體被判斷為虛體時,需要將外環(huán)同目標(biāo)環(huán)進(jìn)行合并操作,合并意味著外環(huán)和目標(biāo)環(huán)中的邊之間需要進(jìn)行交或并運算。令Le表示外環(huán),Lt表示目標(biāo)環(huán),Lm表示合并后的面環(huán)。則合并運算需滿足下面的公式[8]

      例如,圖7 View1中的環(huán){3, 4, 5, 6, 7, 8, 3}同{5, 6, 9, 10, 5}合并后得到{3, 4, 5, 10, 9, 6, 7, 8,3}。合并后得到的新環(huán)將用來更新原有的外環(huán),故由此可得到相應(yīng)的算法,具體如下:外環(huán)()

      5 結(jié)果及討論

      5.1 重建算例

      算例程序采用VC++6.0編寫,OpenGL環(huán)境下運行。圖14中所示的實體三視圖如圖11所示,其中圖 14(a)為提取三視圖輪廓,經(jīng)平掃求交生成的初始當(dāng)前參照體,將圖 14(b)中的實體與圖14(a)中的實體進(jìn)行布爾運算,最后得到圖 14(c)中的目標(biāo)實體,其三視圖同圖 11完全匹配,即為重建實體。

      圖14 含全剖視圖的三維重建算例

      圖 15(a)中的實體是以圖 4為三視圖的含階梯剖視圖的重建實體,圖15(b)則是以圖12為三視圖的重建實體,算法同圖14中的算例。

      5.2 結(jié)果討論

      本文在對剖視圖內(nèi)在機(jī)理進(jìn)行深入分析以及同普通投影視圖對比的基礎(chǔ)上,提出了剖視圖的處理算法,并結(jié)合三維重建的工程實際進(jìn)行了算例驗證,如算例所示,算法能處理包括全剖、半剖,以及階梯剖在內(nèi)的剖視圖。對于局部剖視、重合剖視等更為復(fù)雜的剖視圖有待進(jìn)行更深入的研究。

      [1]Wesley M A, Markowsky G. Fleshing out projections [J].IBM Journal of Research & Development, 1981, 25(6):934-954.

      [2]Geng W D, Wang J B, Zhang Y Y. Embedding visual cognition in 3D reconstruction from multi-view engineering drawings [J]. Computer-Aided Design,2002, 34(4):321-336.

      [3]Aldefeld B. On automatic recognition of 3D structures from 2D representations [J]. Computer-Aided Design,1983, 15(2):59-64.

      [4] Bin H. Inputting constructive solid geometry representations directly from 2D orthographic engineering drawings [J]. Computer-Aided Design,1986, 18(3):147-155.

      [5] DIMRI J, GURUMOORTHY B. Handling sectional views in volume-based approach to automatically construct 3D solid from 2D viewsn [J].Computer-Aided Design, 2005, 37(5):485-495.

      [6]Soni S, Gurumoorthy B. Handling solids of revolution in volume-based construction of solid models from orthographic views [J]. Journal of Computing and Information Science in Engineering, 2003, (3):250-259.

      [7]GONG J H, ZHANG H, ZHANG G F, et al. Solid reconstruction using recognition of quadric surfaces from orthographic views [J]. Computer-Aided Design,2006, 38(8):821-835.

      [8]CHEN D X. Technical drafting and CAD elements [M].Mechanical Industry Press, Beijing:2004. 13-19.

      Cutaway View Processing in 3D Solid Reconstruction

      WANG Xiang1, DING Yun-liang1, LI Jing2
      ( 1. College of Aerospace Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing Jiangsu 210016, China 2. Automation College, Nanjing University of Aeronautics and Astronautics, Nanjing Jiangsu 210016, China )

      Through providing extra information, cutaway view aids engineering view understanding and accelerates the 3D reconstruction process. This paper proposes a processing algorithm in 3D reconstruction based on the analysis of cutaway view features:to use the cutaway view information to intelligently fetch the basic entity, then to conduct Boolean operation on the basic entity and the reference object generated from view silhouette, and in this way to get the target object. The algorithm can process full cutaway views, half cutaway views and parallel cutaway views. Examples are provided to identify its feasibility in the paper.

      engineering graphics; computer aided design; 3D reconstruction; cutaway view

      TP 391

      A

      1003-0158(2010)06-0068-07

      2009-02-27

      國家自然科學(xué)基金資助項目(10377007)

      王 翔(1981-),男,山東濟(jì)南人,博士研究生,主要研究方向為計算機(jī)圖形學(xué)、三維重建。

      猜你喜歡
      剖視圖虛線基元
      關(guān)注基元反應(yīng)的考查
      幼兒畫刊(2020年4期)2020-05-16 02:53:14
      大牛
      幼兒畫刊(2019年2期)2019-04-08 01:23:46
      UG軟件在機(jī)械制圖剖視圖教學(xué)中的應(yīng)用
      人體細(xì)胞內(nèi)存在全新DNA結(jié)構(gòu)
      《工程制圖》“剖視圖的形成及畫法”說課設(shè)計
      剖視圖畫法及分類研究
      淺談eDrawings軟件在AutoCAD教學(xué)中的應(yīng)用
      Numerical Modeling and Analysis of Gas Entrainment for the Ventilated Cavity in Vertical Pipe*
      面向土地利用/土地覆被的基元產(chǎn)品的研究
      铜鼓县| 集贤县| 昂仁县| 威远县| 中牟县| 武鸣县| 施甸县| 山阳县| 松阳县| 沅陵县| 宁陕县| 张家港市| 南木林县| 赤水市| 土默特右旗| 七台河市| 屏南县| 岱山县| 桂东县| 满洲里市| 连城县| 巴东县| 息烽县| 武胜县| 平陆县| 建平县| 绥德县| 洱源县| 昌平区| 望城县| 富源县| 依兰县| 泸溪县| 黎城县| 启东市| 资兴市| 阿勒泰市| 嵊泗县| 洛浦县| 高碑店市| 台中市|