專利名稱:一種基于三視圖的曲面體線框模型重建方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于三視圖的曲面體線框模型重建方法及其裝置。 技術(shù)背景
在工業(yè)設(shè)計(jì)中,工程制圖從十九世紀(jì)以來(lái)就作為表述信息的一種標(biāo)準(zhǔn) 語(yǔ)言,并且在今天日新月異的信息社會(huì)中仍然扮演著至關(guān)重要的角色。隨 著計(jì)算機(jī)技術(shù)的發(fā)展和普及,計(jì)算機(jī)輔助設(shè)計(jì)與制造(CAD/CAM)技術(shù)也得 到了迅猛的發(fā)展,先后出現(xiàn)了基于二維平面、基于三維形體的CAD繪圖或 造型系統(tǒng),如CADAM, AutoCAD, CATIA, Pro/E, UG等。隨著機(jī)械設(shè)計(jì)的發(fā) 展,積累了大量的二維圖紙,并且現(xiàn)在仍然以每年相當(dāng)數(shù)量地增長(zhǎng),為了 對(duì)二維圖紙所表達(dá)的產(chǎn)品信息進(jìn)行一些必要的分析和處理,或者在保持設(shè) 計(jì)思想的條件下更方便地對(duì)已有產(chǎn)品進(jìn)行更新升級(jí),以達(dá)到節(jié)省資源成本 的目的,而由二維圖紙重建出三維形體的線框模型就是一種很有效的途徑。 因此,基于工程圖紙或平面CAD制圖的三維重建就成為一個(gè)非常重要的課 題,并作為學(xué)術(shù)領(lǐng)域的研究熱點(diǎn)受到越來(lái)越多的國(guó)內(nèi)外學(xué)者的關(guān)注。三維 重建技術(shù)的一個(gè)主要方法,是從二維圖形中提取形體的描述信息,自動(dòng)或 半自動(dòng)地轉(zhuǎn)換成為空間模型。該技術(shù)的應(yīng)用相當(dāng)程度上簡(jiǎn)化了三維產(chǎn)品的 設(shè)計(jì)工作,節(jié)省了資源成本,也為基于二維平面的CAD設(shè)計(jì)提供了生存和發(fā)展空間。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于三視圖的曲面體線框模型重建方法及 其裝置,以解決在沒(méi)有輔助線的情形下,對(duì)三視圖進(jìn)行分割與判別、并生 成空間頂點(diǎn)和空間邊,其中空間頂點(diǎn)包括輪廓點(diǎn)、切點(diǎn),空間邊包括直線 邊、二次曲線邊或高次曲線邊、輪廓邊、切線邊等,以達(dá)到從二維圖紙中 重建出三維形體的線框模型的目標(biāo)。
基于三視圖的曲面體線框模型重建方法,其特征在于它包括如下步驟:
① 客戶端輸入二維CAD圖形文件,預(yù)處理生成二維點(diǎn)表和二維線表, 并發(fā)送到服務(wù)器端;
② 服務(wù)器端接受到工程圖紙預(yù)處理文件后,采用求極值的方法生成 二維輪廓點(diǎn),分割并判別視圖,找到其他視圖中與輪廓點(diǎn)、切點(diǎn) 對(duì)應(yīng)的二維點(diǎn);
(D服務(wù)器端根據(jù)三等律的原則,利用三個(gè)視圖中的二維點(diǎn)重構(gòu)出所 有的空間頂點(diǎn);然后采用基于連接關(guān)系判定的方法生成空間直線 邊,并利用端點(diǎn)、控制點(diǎn)、肩點(diǎn)生成空間二次曲線邊;由端點(diǎn)、 中間點(diǎn)擬合生成空間高次曲線邊;
④服務(wù)器端去除或合并虛假點(diǎn)和虛假邊、重新劃分重疊邊,并生成 空間線框模型。
其中,步驟①所述的二維CAD文件為IGES (Initial Graphics Exchange Specification,基本圖形交換規(guī)范)格式、或dxf(Drawing eXchange File,圖形交換文件)格式。且這些文件是由掃描并矢量化得到或者由二維CAD 繪圖軟件產(chǎn)生的;步驟①所述的預(yù)處理生成二維點(diǎn)表和二維線表,是客戶端根據(jù)輸入的 圖形文件,遍歷其中的點(diǎn)、線圖形元素,采用自動(dòng)方式初步生成二維點(diǎn)表 和二維線表,存je并發(fā)送到服務(wù)器端。所述自動(dòng)方式,為對(duì)輸入的圖形文 件中的線段進(jìn)行求交處理,生成新的二維點(diǎn)并加入二維點(diǎn)表,同時(shí)將關(guān)聯(lián) 的線段作為二維點(diǎn)表中點(diǎn)的屬性,端點(diǎn)以及線段類型(包括虛線或?qū)嵕€, 直線或曲線)作為二維線表中線段的屬性,得到比輸入文件更完善的二維 點(diǎn)表和二維線表。其中,步驟②中所述采用求極值的方法生成二維輪廓點(diǎn),是通過(guò)服務(wù) 器端接收從客戶端發(fā)送來(lái)的數(shù)據(jù),遍歷所有曲線,對(duì)每條曲線,根據(jù)曲線 方程求取極值,得到曲線上距離坐標(biāo)軸最近和最遠(yuǎn)的二維點(diǎn)。步驟②中的分割并判別視圖,是通過(guò)以下步驟實(shí)現(xiàn)的在點(diǎn)表中查找橫坐標(biāo)最小的所有二維點(diǎn),然后在這些二維點(diǎn)中找出縱坐標(biāo)最大的二維點(diǎn),從該點(diǎn)出發(fā),從點(diǎn)表和線表中搜索出與該點(diǎn)連通的二維點(diǎn)和二維線段;求 出這些點(diǎn)沿坐標(biāo)軸方向的包圍盒,包圍盒中的所有點(diǎn)和線段屬于主視圖, 包圍盒右側(cè)的點(diǎn)和線段為側(cè)視圖,包圍盒下方的點(diǎn)和線段為俯視圖。且在 搜索二維點(diǎn)和二維線段時(shí),使用了廣度優(yōu)先搜索。步驟②所述找到其他視圖中與輪廓點(diǎn),切點(diǎn)對(duì)應(yīng)的二維點(diǎn),是通過(guò)以 下步驟實(shí)現(xiàn)的對(duì)于每個(gè)輪廓點(diǎn)所在的曲線,在其他兩個(gè)視圖中找出與該曲線包圍盒相匹配的對(duì)應(yīng)線段,根據(jù)輪廓點(diǎn)的坐標(biāo),在兩個(gè)視圖中作出平行于相應(yīng)坐標(biāo)軸的直線,取直線與對(duì)應(yīng)線段的交點(diǎn)為輪廓點(diǎn)的對(duì)應(yīng)點(diǎn);同 理求出切點(diǎn)在其他視圖中的對(duì)應(yīng)點(diǎn)。其中,步驟③中,所述基于連接關(guān)系判定的方法生成空間直線邊,是 通過(guò)以下步驟實(shí)現(xiàn)a. 在工程圖的三個(gè)視圖中選取一個(gè)視圖為當(dāng)前視圖,在當(dāng)前視圖上選 取一條直線段,根據(jù)二維線表選取其相對(duì)應(yīng)的兩個(gè)二維端點(diǎn),在空 間頂點(diǎn)表中選取與這兩個(gè)端點(diǎn)對(duì)應(yīng)的兩個(gè)空間三維頂點(diǎn)及在另外兩 個(gè)視圖上對(duì)應(yīng)的四個(gè)二維端點(diǎn);b. 通過(guò)另外兩個(gè)視圖判別兩個(gè)空間三維頂點(diǎn)之間是否存在直線邊,其 方法是判斷兩個(gè)二維點(diǎn)是否存在二維直線段或者重合如果存在, 則兩個(gè)三維頂點(diǎn)之間存在直線邊,則生成直線邊;否則,兩個(gè)三維 頂點(diǎn)之間不存在空間邊。步驟③中利用端點(diǎn)、控制點(diǎn)、肩點(diǎn)生成空間二次曲線邊,是采用了有 理B&ier (貝塞爾)方法,具體通過(guò)以下步驟實(shí)現(xiàn)的a. 在工程圖的三個(gè)視圖中選取一個(gè)視圖為當(dāng)前視圖,在當(dāng)前視圖上選 取一條二次曲線段,通過(guò)包圍盒匹配的方法在其他兩個(gè)視圖中找出 相應(yīng)的線段,并找出二次曲線段的端點(diǎn)、肩點(diǎn)、B6zier控制點(diǎn)在其 他兩個(gè)視圖中相應(yīng)線段上的對(duì)應(yīng)點(diǎn);b. 分別利用視圖二次曲線的端點(diǎn)、肩點(diǎn)、控制點(diǎn)重構(gòu)出相應(yīng)空間曲線 的端點(diǎn)、肩點(diǎn)、控制點(diǎn),并利用B6zier逼近構(gòu)造出相應(yīng)的空間曲線;其中步驟③中所述由端點(diǎn)、中間點(diǎn)擬合生成空間高次曲線邊,是通過(guò)利用曲線上的輪廓點(diǎn)以及在其他兩個(gè)視圖中的對(duì)應(yīng)點(diǎn),構(gòu)造出相應(yīng)的空間點(diǎn),利用四次B6zier曲線擬合出來(lái)的。其中,步驟④中重疊邊,是根據(jù)空間邊是否與其他空間邊重疊判斷的, 即重疊的話為重疊邊。而劃分重疊邊,是將兩條空間重疊邊重新劃分成不 重疊的空間邊。步驟④中虛假點(diǎn)、虛假邊,是根據(jù)空間頂點(diǎn)連接邊的個(gè)數(shù)來(lái)判別的 除輪廓點(diǎn)切點(diǎn)外,將空間頂點(diǎn)連接邊的個(gè)數(shù)小于等于2的空間頂點(diǎn)和空間 邊為虛假點(diǎn)和虛假邊。而刪除或合并虛假點(diǎn)和虛假邊具體針對(duì)以下情況 將等于2且相關(guān)邊共線的虛假點(diǎn)刪除,兩虛假邊合并為一條邊;其余的虛 假點(diǎn)和虛假邊刪除。步驟④中的空間線框模型,包括在空間頂點(diǎn)表和空間曲線邊表,和這 兩個(gè)表之間存在關(guān)聯(lián)關(guān)系。上述方法是基于以下裝置實(shí)現(xiàn)的,其特征在于包括進(jìn)行輸入二維CAD 圖形文件的客戶端、對(duì)二維CAD圖形文件進(jìn)行三視圖曲面體線框模型重建 的服務(wù)器和將二維CAD圖形文件從客戶端輸送到服務(wù)器端的網(wǎng)絡(luò)總線。藉由上述技術(shù)方案,本發(fā)明具有如下有益技術(shù)效果本發(fā)明基于三視圖的曲面體線框模型重建方法及其裝置,解決了從二 維圖形中提取形體的描述信息,自動(dòng)或半自動(dòng)地轉(zhuǎn)換成為空間模型的問(wèn)題, 簡(jiǎn)化了三維產(chǎn)品的設(shè)計(jì)工作,節(jié)省了資源成本,并具有適用范圍廣、三維重建精度高等優(yōu)點(diǎn),對(duì)于基于三視圖實(shí)體模型或B-r印(邊界表示,Boundary representation)模型重建等工作具有重要意義。
圖1是本發(fā)明方法實(shí)施例所采用客戶端/服務(wù)器的硬件拓?fù)浣Y(jié)構(gòu)。 圖2是本發(fā)明方法實(shí)施例的流程示意圖。圖3是本發(fā)明方法實(shí)施例中由三視圖中線段包圍盒匹配的流程示意圖。圖4是本發(fā)明方法實(shí)施例中生成空間頂點(diǎn)的流程示意圖。 圖5是本發(fā)明方法實(shí)施例中生成空間邊的流程示意圖。 圖6是本發(fā)明方法實(shí)施例中的CAD數(shù)據(jù)文件的圖形顯示示意圖。 圖7是本發(fā)明方法實(shí)施例中生成輪廓點(diǎn)后的CAD數(shù)據(jù)文件圖形顯示示 意圖。圖8是本發(fā)明方法實(shí)施例中CAD數(shù)據(jù)文件劃分包圍盒的圖形顯示示意圖。圖9是本發(fā)明方法實(shí)施例中經(jīng)過(guò)坐標(biāo)變換后的CAD數(shù)據(jù)文件的圖形顯 示示意圖。圖10是本發(fā)明方法實(shí)施例中CAD數(shù)據(jù)文件正視圖輪廓點(diǎn)及其在其他 視圖對(duì)應(yīng)點(diǎn)的圖形顯示示意圖。圖11是本發(fā)明方法實(shí)施例中生成了輪廓點(diǎn)的CAD數(shù)據(jù)文件在三維空 間的圖形顯示示意圖。圖12是本發(fā)明方法實(shí)施例中重建結(jié)果也即線框模型的示意圖。
具體實(shí)施例方式以下結(jié)合附圖和實(shí)施例對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步描述。本發(fā)明的實(shí)施例中,采用的裝置為客戶端/服務(wù)器方式,具體硬件拓?fù)浣Y(jié)構(gòu)如圖1所示??蛻舳私邮盏捷斎氲腃AD圖形文件,視圖即如圖6所示, 并對(duì)視圖進(jìn)行人機(jī)交互方式的預(yù)處理,得到標(biāo)準(zhǔn)的三視圖,完善了二維點(diǎn) 表、線表,然后通過(guò)廣域網(wǎng)絡(luò)傳輸?shù)椒?wù)器端,在服務(wù)器端進(jìn)行生成空間 點(diǎn)表和空間邊表、及去除冗余元素生成線框模型的運(yùn)算處理??蛻舳丝梢?采用通用的PC機(jī),也可以是一臺(tái)獨(dú)立的服務(wù)器構(gòu)成,其基本要求是具有一 定的運(yùn)算能力、輸入輸出功能、以及將運(yùn)算結(jié)果通過(guò)網(wǎng)絡(luò)傳輸出去的功能, 并能夠接受遠(yuǎn)程服務(wù)器運(yùn)算的結(jié)果。本實(shí)施例中的客戶端平臺(tái)性能如下CPU主頻:Pentium D 2.80GHz;內(nèi)存容量512M;運(yùn)行操作系統(tǒng)Windows XP/98, 2000, Linux; 一個(gè)并行打印端口,配置為USB端口。本實(shí)施例中的服務(wù)器采用HP的ProLiant DL380 G4 (378735-AA1 ),其性能如下CPU類型Xeon DP; CPU頻率(MHz): 3000; 處理器描述標(biāo)準(zhǔn)處理器數(shù)量l; 支持CPU個(gè)數(shù)2; CPU二級(jí)緩存2MB;運(yùn)行操作系統(tǒng)為Windows 2003 Server?;谌晥D的曲面體線框模型重建方法的實(shí)現(xiàn)過(guò)程如圖2所示,包括
以下步驟
1.在客戶端,通過(guò)1/0接收由掃描工程圖紙并矢量化或者由二維CAD繪圖 軟件產(chǎn)生的dxf, IGES等格式的圖形文件,對(duì)文件中的點(diǎn)表、線表進(jìn)行 預(yù)處理,得到后續(xù)處理所要求的二維點(diǎn)表、線表。
在初始的dxf、 IGES等三視圖文件中,點(diǎn)表與線表的結(jié)構(gòu)信息不夠 完整,不能滿足后續(xù)處理的要求。為了更好更快地完成二維到三維轉(zhuǎn)換, 需要對(duì)二維點(diǎn)、線的信息進(jìn)行充分處理,使其中的信息更加完善,點(diǎn)表、 線表的結(jié)構(gòu)更加合理。這個(gè)步驟是在原有二維點(diǎn)表的基礎(chǔ)上,加入索引 相關(guān)線段的信息,同樣在邊表中加入相關(guān)點(diǎn)的信息,使得數(shù)據(jù)的檢索、 傳輸更方便快捷,具體實(shí)現(xiàn)方法如下
a) 生成二維線表,線表中線段的屬性包括線段的端點(diǎn)、線段的虛實(shí)性、 線段所在直線或曲線的方程
檢測(cè)輸入視圖文件中的所有線段的關(guān)系,判斷是否有線段內(nèi)交, 即線段相交但交點(diǎn)不是線段的端點(diǎn)的情況如果圖7所示,線段 [1, 12](即由端點(diǎn)1和端點(diǎn)12組成的線段,以下線段表達(dá)方式與此 類同)和線段[3, 12]相交,則求取交點(diǎn)3加入點(diǎn)表;如果線段存在 相切關(guān)系,則構(gòu)造出兩線段之間的切點(diǎn);將切點(diǎn)和交點(diǎn)加入到二維 點(diǎn)表中。
b) 生成二維點(diǎn)表,點(diǎn)表中點(diǎn)的屬性有點(diǎn)的坐標(biāo)、是否為輪廓點(diǎn)、是否
為切點(diǎn)以及關(guān)聯(lián)的線段的序號(hào)采用方法同生成二維線表所采用的方法基本類似。在三視圖中找到一線段,在本實(shí)施例中如圖7中線 段[l, 2],將所關(guān)聯(lián)的點(diǎn)l的坐標(biāo)(4A)(以下點(diǎn)i的二維坐標(biāo), 都以此種形式表示)和2的坐標(biāo)(4,^ )加入到點(diǎn)表當(dāng)中,關(guān)聯(lián)當(dāng) 前的這條邊,如點(diǎn)1的關(guān)聯(lián)線段[l, 12]進(jìn)行上述針對(duì)線段[1, 2] 的操作,如此循環(huán)操作,當(dāng)遇到重復(fù)二維點(diǎn)時(shí),將當(dāng)前二維點(diǎn)忽略, 將當(dāng)前邊關(guān)聯(lián)到與當(dāng)前點(diǎn)重復(fù)的那個(gè)二維點(diǎn)上,當(dāng)將所有三視圖中 的二維邊都執(zhí)行一遍上述的操作后,即可得到相應(yīng)的二維點(diǎn)表。
實(shí)際操作時(shí),二維線表可以在進(jìn)行生成二維點(diǎn)的時(shí)候同時(shí)生成。 2.服務(wù)器端接收到客戶端發(fā)來(lái)的經(jīng)過(guò)預(yù)處理后點(diǎn)表和線表后,采用求極值
的方法生成二維輪廓點(diǎn),分割并判別視圖,確定新的坐標(biāo)原點(diǎn)并進(jìn)行坐
標(biāo)變換,找到其他視圖中與輪廓點(diǎn)或切點(diǎn)對(duì)應(yīng)的的二維點(diǎn),其過(guò)程進(jìn)一
步包括
a) 生成輪廓點(diǎn)遍歷線表中所有曲線段,對(duì)每條曲線,求取線段上兩 坐標(biāo)分量分別最大和最小的二維點(diǎn),作為輪廓點(diǎn)添加到二維點(diǎn)表中, 在本實(shí)施例中,如圖7所示,輪廓點(diǎn)有16、 19、 15、 20、 14、 21, 切點(diǎn)有16、 19、 14、 21。
b) 分割視圖
遍歷點(diǎn)表中所有點(diǎn)的橫坐標(biāo),找出橫坐標(biāo)分量最小的所有二維 點(diǎn),如圖7中的5, 6, 24, 25,然后在這些二維點(diǎn)中找出縱坐標(biāo)分量 最大的一個(gè)二維點(diǎn),如圖7中的5。從這個(gè)二維點(diǎn)關(guān)聯(lián)的一條線段出 發(fā),按照廣度優(yōu)先的方法遞歸搜索與前一線段包圍盒相交的線段,得到一個(gè)圖形元素連通的分支;求出這些線段所構(gòu)成連通分支沿坐標(biāo)軸 方向的包圍盒(即所有線段的端點(diǎn)、輪廓點(diǎn)中坐標(biāo)分量的最大值和最 小值)的并,從而得到主視圖的包圍盒,如圖8中的黑色粗線框所示。 包圍盒中所有點(diǎn)和線段屬于主視圖,包圍盒右側(cè)的點(diǎn)和線段屬于 側(cè)視圖,包圍盒下方的點(diǎn)和線段屬于俯視圖;這個(gè)過(guò)程中,沿坐標(biāo)軸 方向的包圍盒可以由坐標(biāo)分量的最大值和最小值得到,包圍盒右側(cè)和 下方可以分別由比包圍盒橫坐標(biāo)較大值大和比包圍盒縱坐標(biāo)較小值 小的方法確定,具體實(shí)現(xiàn)流程如圖3所示。
分割后的視圖如圖9所示,xoz平面為主視圖V、 xoy平面為俯 視圖H, yoz為側(cè)視圖W。
c) 確定新的坐標(biāo)原點(diǎn)
在當(dāng)前坐標(biāo)系下,主視圖y坐標(biāo)分量最小值^大于俯視圖y坐標(biāo)分
量最大凡,主視圖x坐標(biāo)分量最小值&小于側(cè)視圖x坐標(biāo)分量最小 值^,將當(dāng)前坐標(biāo)系下的點(diǎn)(xv+|(a-;0, yv-|(>;v—尺))作為新
的坐標(biāo)原點(diǎn),坐標(biāo)軸仍然平行。
d) 確定輪廓點(diǎn)的對(duì)應(yīng)點(diǎn)
求取輪廓點(diǎn)切點(diǎn)在其他兩個(gè)視圖中的對(duì)應(yīng)點(diǎn)的具體方法是 i. 對(duì)于主視圖中的輪廓點(diǎn)或切點(diǎn)(P, q),其在側(cè)視圖中的對(duì)應(yīng)點(diǎn) 是側(cè)視圖中直線z=q與側(cè)視圖中滿足包圍盒匹配的線段的交點(diǎn), 在俯視圖中的對(duì)應(yīng)點(diǎn)是俯視圖中直線x=p與俯視圖中所有線段 的交點(diǎn);ii. 對(duì)于側(cè)視圖中的輪廓點(diǎn)或切點(diǎn)(m, n),其在主視圖中的對(duì)應(yīng)點(diǎn)
是主視圖中直線2=111與主視圖中滿足包圍盒匹配的線段的交點(diǎn),
在俯視圖中的對(duì)應(yīng)點(diǎn)是俯視圖中直線y:n與俯視圖中所有線段 的交點(diǎn);
iii. 對(duì)于俯視圖中的輪廓點(diǎn)或切點(diǎn)(u, v),其在主視圖中的對(duì)應(yīng)點(diǎn) 是主視圖中直線x=u與主視圖中滿足包圍盒匹配的線段的交點(diǎn), 在側(cè)視圖中的對(duì)應(yīng)點(diǎn)是側(cè)視圖中直線y二v與側(cè)視圖中所有線段 的交點(diǎn)。
這個(gè)步驟中包圍盒匹配是指三個(gè)不同視圖中線段的包圍盒滿足三等律的 原則。
如圖10,側(cè)視圖中的輪廓點(diǎn)15坐標(biāo)為(45,515),在主視圖中的對(duì)
應(yīng)點(diǎn)是主視圖中直線2=^與主視圖中滿足包圍盒匹配的線段的交點(diǎn)為
35、 36,在俯視圖中的對(duì)應(yīng)點(diǎn)是俯視圖中直線y二4s與俯視圖中所有線段 的交點(diǎn)在主視圖中的對(duì)應(yīng)點(diǎn)28、 29。而側(cè)視圖中的輪廓點(diǎn)20在主視圖中 的對(duì)應(yīng)點(diǎn)分別為35、 36;在俯視圖中的對(duì)應(yīng)點(diǎn)分別為27、 30。 3.在服務(wù)器端根據(jù)三等律的原則,利用三個(gè)視圖中的二維點(diǎn)重構(gòu)出所有的 空間頂點(diǎn);然后采用基于連接關(guān)系判定的方法生成空間直線邊,并利用 端點(diǎn)、控制點(diǎn)、肩點(diǎn)生成空間二次曲線邊;由端點(diǎn)、中間點(diǎn)擬合生成空
間高次曲線邊,具體包括以下步驟 a)生成空間定頂點(diǎn)-
在三視圖中,由于投影的積聚性,在某個(gè)視圖上的一個(gè)節(jié)點(diǎn)可能是多個(gè)空間點(diǎn)。根據(jù)投影三等規(guī)律,若三個(gè)視圖中的投影點(diǎn)(Xv,Zv),
(XA,_y"禾口 (jvzw)滿足lXv-x"《f , [y"jAvl《f, f;則
這三個(gè)二維點(diǎn)可以構(gòu)造出唯一的空間點(diǎn)(Xv,^, z"。其中,下標(biāo)v, t w分別表示主視圖、俯視圖、和側(cè)視圖,f為允許的最大計(jì)算誤
差。具體實(shí)現(xiàn)方法如圖4所示,包括以下步驟
i. 順序在正視圖的二維點(diǎn)表選取一點(diǎn)K(A,O,Z"),如圖
10中點(diǎn)7(義"0,Z );
ii.在側(cè)視圖中找到Z軸坐標(biāo)等于么的點(diǎn)(o,i;,zj,如圖
10中點(diǎn)18(0,K8,Z18), 19(0;,Z19),這里Z 二H i i i. 將側(cè)視圖中的這些點(diǎn)分別與正視圖中的該點(diǎn)生成空間
頂點(diǎn)(u ,zv,), 即 718 (x7,;^8,z7)和
719(X7;,Z7)(即空間頂點(diǎn)718由二維頂點(diǎn)7、 18生 成,以下空間頂點(diǎn)表示方式與此類同); iv. 將該空間頂點(diǎn)加入空間頂點(diǎn)表; v. 判斷正視圖的二維點(diǎn)表中K后面是否還有點(diǎn)如是, 即還有點(diǎn),回到步驟i;如否,即沒(méi)有點(diǎn),進(jìn)入下一 步驟;
vi. 檢測(cè)空間頂點(diǎn)表,將俯視圖上沒(méi)有對(duì)應(yīng)點(diǎn)的頂點(diǎn)刪除, 如圖11所示,生成的頂點(diǎn)718在俯視圖上沒(méi)有映射點(diǎn), 需要?jiǎng)h除而719在俯視圖上有對(duì)應(yīng)點(diǎn)26,故保留在空間頂點(diǎn)表; vii. 得到空間頂點(diǎn)表; b)生成空間邊
在三個(gè)視圖中選取一個(gè)視圖為當(dāng)前視圖,在本實(shí)施例中選取正 視圖為當(dāng)前視圖。在當(dāng)前視圖上選取一條直線段,根據(jù)二維線表選 取其相對(duì)應(yīng)的兩個(gè)二維端點(diǎn),在空間頂點(diǎn)表中選取與這兩個(gè)端點(diǎn)對(duì) 應(yīng)的兩個(gè)空間三維頂點(diǎn)及在另外兩個(gè)視圖上對(duì)應(yīng)的四個(gè)二維端點(diǎn)。 這四個(gè)二維點(diǎn)分別有兩個(gè)在側(cè)視圖,兩個(gè)在俯視圖,通過(guò)這另外兩 個(gè)視圖判別空間三維頂點(diǎn)的連接關(guān)系,其具體方法是判斷兩個(gè)二維 點(diǎn)是否存在二維直線連接,如果存在直線,或者重合為一個(gè)二維點(diǎn), 都說(shuō)明二維點(diǎn)在空間上的頂點(diǎn)存在連接關(guān)系,需要構(gòu)造空間直線邊。
如圖IO,在正視圖上選取直線段[6, 7],根據(jù)線表選取其端點(diǎn)
6和7,再?gòu)目臻g頂點(diǎn)表中選取與6對(duì)應(yīng)的空間頂點(diǎn)618、 619,與7 對(duì)應(yīng)的空間頂點(diǎn)719,判斷[618, 719], , [619, 719],在其他兩個(gè)視圖 中是否存在投影線段,若存在,即如[618, 619],則構(gòu)造空間直線邊, 否則,兩點(diǎn)之間無(wú)空間邊,即如[619, 719]。
選取視圖中的一條二次曲線段,根據(jù)包圍盒匹配的方法找出其 他兩個(gè)視圖中對(duì)應(yīng)的線段,從三條線段上相對(duì)應(yīng)的端點(diǎn)、肩點(diǎn)、控 制點(diǎn)分別重構(gòu)出空間中的端點(diǎn)、肩點(diǎn)、控制點(diǎn),由空間點(diǎn)根據(jù)有理 二次B&ier方法重構(gòu)出相應(yīng)的空間二次曲線邊。對(duì)視圖中的高次曲線,利用曲線上的輪廓點(diǎn)以及在其他兩個(gè)視
圖中的對(duì)應(yīng)點(diǎn),構(gòu)造出相應(yīng)的空間點(diǎn),利用四次B6zier曲線擬合出 相應(yīng)的高次曲線。具體實(shí)現(xiàn)過(guò)程如圖5所示。 4.在服務(wù)器端采用去除虛假點(diǎn)、虛假邊以及重疊邊的方法去除冗余元素, 生成空間線框模型,其過(guò)程進(jìn)一步包括以下步驟
a) 遍歷所有的輪廓點(diǎn)切點(diǎn)以外的空間頂點(diǎn),根據(jù)空間頂點(diǎn)連接邊的個(gè) 數(shù)來(lái)判別空間頂點(diǎn)的有效性或虛假性。除輪廓點(diǎn)切點(diǎn)外,要求空間 頂點(diǎn)連接邊的個(gè)數(shù)大于等于3,將小于2的那些空間頂點(diǎn)和空間邊 刪除,將等于2且相關(guān)的邊不共線的邊和點(diǎn)都刪除,將等于2且相 關(guān)邊共線的點(diǎn)刪除,兩邊合并為一條邊。刪除依據(jù)根據(jù)2—流形體 拓?fù)錀l件的要求,如果空間頂點(diǎn)不是輪廓點(diǎn),也不是切點(diǎn),則與空間 頂點(diǎn)相關(guān)聯(lián)的邊不少于3個(gè),即對(duì)頂點(diǎn)v,都有^力2 3 ,其中頂點(diǎn)
所關(guān)聯(lián)的邊數(shù)稱為該點(diǎn)的度,任一頂點(diǎn)、的度表示為W"J 。
b) 檢測(cè)直線邊、非封閉的曲線邊是否與其他邊重疊,如果兩條空間邊 重疊,則將兩條空間邊重新劃分成不重疊的空間邊;
c) 生成空間線框模型結(jié)構(gòu),該結(jié)構(gòu)包括了在空間頂點(diǎn)表和空間曲線邊 表,并且這兩個(gè)表之間存在關(guān)聯(lián)關(guān)系,最后輸出線框模型。
d) 生成空間線框模型結(jié)構(gòu),該結(jié)構(gòu)包括了在空間頂點(diǎn)表和空間曲線邊 表,并且這兩個(gè)表之間存在關(guān)聯(lián)關(guān)系,最后輸出線框模型給三維重 建后續(xù)處理系統(tǒng)。
本實(shí)施例的輸出結(jié)果如圖12所示。-頁(yè)
綜上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用來(lái)限定本發(fā)明的實(shí)施范 圍。即凡依本發(fā)明申請(qǐng)專利范圍的內(nèi)容所作的等效變化與修飾,都應(yīng)為本發(fā) 明的技術(shù)范疇。
權(quán)利要求
1.一種基于三視圖的曲面體線框模型重建方法,其特征在于包括如下步驟①客戶端輸入二維CAD圖形文件,預(yù)處理生成二維點(diǎn)表和二維線表,并發(fā)送到服務(wù)器端;②服務(wù)器端接受到工程圖紙預(yù)處理文件后,采用求極值的方法生成二維輪廓點(diǎn),分割并判別視圖,找到其他視圖中與輪廓點(diǎn)、切點(diǎn)對(duì)應(yīng)的二維點(diǎn);③服務(wù)器端根據(jù)三等律的原則,利用三個(gè)視圖中的二維點(diǎn)重構(gòu)出所有的空間頂點(diǎn);然后采用基于連接關(guān)系判定的方法生成空間直線邊,并利用端點(diǎn)、控制點(diǎn)、肩點(diǎn)生成空間二次曲線邊;由端點(diǎn)、中間點(diǎn)擬合生成空間高次曲線邊;④服務(wù)器端去除或合并虛假點(diǎn)和虛假邊、重新劃分重疊邊,并生成空間線框模型。
2. 如權(quán)利要求1所述的基于三視圖的曲面體線框模型重建方法是基于以下裝置 實(shí)現(xiàn)的,其特征在于包括進(jìn)行輸入二維CAD圖形文件的客戶端、對(duì)二維CAD 圖形文件進(jìn)行三視圖曲面體線框模型重建的服務(wù)器和將二維CAD圖形文件從 客戶端輸送到服務(wù)器端的網(wǎng)絡(luò)總線。
3. 根據(jù)權(quán)利要求1所述的基于三視圖的曲面體線框模型重建方法,其特征在于 二維CAD文件為IGES(Initial Graphics Exchange Specification,基本圖 形交換規(guī)范)格式、或dxf (Drawing exchange File,圖形交換文件)格式。
4. 根據(jù)權(quán)利要求1所述的基于三視圖的曲面體線框模型重建方法,其特征在于 步驟①所述的二維CAD圖形文件是由掃描并矢量化得到或者由二維CAD繪圖軟件產(chǎn)生的;
5. 根據(jù)權(quán)利要求1所述的基于三視圖的曲面體線框模型重建方法,其特征在于-步驟①所述的預(yù)處理生成二維點(diǎn)表和二維線表,是客戶端根據(jù)輸入的圖形文 件,遍歷其中的點(diǎn)、線圖形元素,采用自動(dòng)方式初步生成二維點(diǎn)表和二維線 表,存貯并發(fā)送到服務(wù)器端。
6. 根據(jù)權(quán)利要求5所述的基于三視圖的曲面體線框模型重建方法,其特征在于: 所述自動(dòng)方式,為對(duì)輸入的圖形文件中的線段進(jìn)行求交處理,生成新的二維 點(diǎn)并加入二維點(diǎn)表,同時(shí)將關(guān)聯(lián)的線段作為二維點(diǎn)表中點(diǎn)的屬性,端點(diǎn)以及 線段類型(包括虛線或?qū)嵕€,直線或曲線)作為二維線表中線段的屬性,得 到比輸入文件更完善的二維點(diǎn)表和二維線表。
7. 根據(jù)權(quán)利要求1所述的基于三視圖的曲面體線框模型重建方法,其特征在于 步驟②中所述采用求極值的方法生成二維輪廓點(diǎn),是通過(guò)服務(wù)器端接收從客 戶端發(fā)送來(lái)的數(shù)據(jù),遍歷所有曲線,對(duì)每條曲線,根據(jù)曲線方程求取極值, 得到曲線上距離坐標(biāo)軸最近和最遠(yuǎn)的二維點(diǎn)。
8. 根據(jù)權(quán)利要求1所述的基于三視圖的曲面體線框模型重建方法,其特征在于 步驟②中的分割并判別視圖,是通過(guò)以下步驟實(shí)現(xiàn)的在點(diǎn)表中查找橫坐標(biāo) 最小的所有二維點(diǎn),然后在這些二維點(diǎn)中找出縱坐標(biāo)最大的二維點(diǎn),從該點(diǎn) 出發(fā),從點(diǎn)表和線表中搜索出與該點(diǎn)連通的二維點(diǎn)和二維線段;求出這些點(diǎn) 沿坐標(biāo)軸方向的包圍盒,包圍盒中的所有點(diǎn)和線段屬于主視圖,包圍盒右側(cè) 的點(diǎn)和線段為側(cè)視圖,包圍盒下方的點(diǎn)和線段為俯視圖。
9. 根據(jù)權(quán)利要求8所述的基于三視圖的曲面體線框模型重建方法,其特征在于 所述搜索出于該點(diǎn)連通的二維點(diǎn)和二維線段中的搜索,使用了廣度優(yōu)先搜 索。
10. 根據(jù)權(quán)利要求1所述的基于三視圖的曲面體線框模型重建方法,其特征在于: 步驟②所述找到其他視圖中與輪廓點(diǎn),切點(diǎn)對(duì)應(yīng)的二維點(diǎn),是通過(guò)以下步驟 實(shí)現(xiàn)的對(duì)于每個(gè)輪廓點(diǎn)所在的曲線,在其他兩個(gè)視圖中找出與該曲線包圍 盒相匹配的對(duì)應(yīng)線段,根據(jù)輪廓點(diǎn)的坐標(biāo),在兩個(gè)視圖中作出平行于相應(yīng)坐 標(biāo)軸的直線,取直線與對(duì)應(yīng)線段的交點(diǎn)為輪廓點(diǎn)的對(duì)應(yīng)點(diǎn);同理求出切點(diǎn)在 其他視圖中的對(duì)應(yīng)點(diǎn)。
11. 根據(jù)權(quán)利要求1所述的基于三視圖的曲面體線框模型重建方法,其特征在于 步驟③中,所述基于連接關(guān)系判定的方法生成空間直線邊,是通過(guò)以下步驟 實(shí)現(xiàn)a. 在工程圖的三個(gè)視圖中選取一個(gè)視圖為當(dāng)前視圖,在當(dāng)前視圖上選取一條 直線段,根據(jù)二維線表選取其相對(duì)應(yīng)的兩個(gè)二維端點(diǎn),在空間頂點(diǎn)表中選 取與這兩個(gè)端點(diǎn)對(duì)應(yīng)的兩個(gè)空間三維頂點(diǎn)及在另外兩個(gè)視圖上對(duì)應(yīng)的四 個(gè)二維端點(diǎn);b. 通過(guò)另外兩個(gè)視圖判別兩個(gè)空間三維頂點(diǎn)之間是否存在直線邊,其方法是 判斷兩個(gè)二維點(diǎn)是否存在二維直線段或者重合如果存在,則兩個(gè)三維頂 點(diǎn)之間存在直線邊,則生成直線邊;否則,兩個(gè)三維頂點(diǎn)之間不存在空間 邊。
12. 根據(jù)權(quán)利要求1所述的基于三視圖的曲面體線框模型重建方法,其特征在于 步驟③中利用端點(diǎn)、控制點(diǎn)、肩點(diǎn)生成空間二次曲線邊,是采用了有理B6zier(貝塞爾)方法,具體通過(guò)以下步驟實(shí)現(xiàn)的 a.在工程圖的三個(gè)視圖中選取一個(gè)視圖為當(dāng)前視圖,在當(dāng)前視圖上選取一條 二次曲線段,通過(guò)包圍盒匹配的方法在其他兩個(gè)視圖中找出相應(yīng)的線段, 并找出二次曲線段的端點(diǎn)、肩點(diǎn)、B6zier控制點(diǎn)在其他兩個(gè)視圖中相應(yīng)線段上的對(duì)應(yīng)點(diǎn);b.分別利用視圖二次曲線的端點(diǎn)、肩點(diǎn)、控制點(diǎn)重構(gòu)出相應(yīng)空間曲線的端點(diǎn)、 肩點(diǎn)、控制點(diǎn),并利用B6zier逼近構(gòu)造出相應(yīng)的空間曲線;
13. 根據(jù)權(quán)利要求1所述的基于三視圖的曲面體線框模型重建方法,其特征在于: 步驟③中由端點(diǎn)、中間點(diǎn)擬合生成空間高次曲線邊,是通過(guò)利用曲線上的輪 廓點(diǎn)以及在其他兩個(gè)視圖中的對(duì)應(yīng)點(diǎn),構(gòu)造出相應(yīng)的空間點(diǎn),利用四次 zier曲線擬合出來(lái)的。
14. 根據(jù)權(quán)利要求1所述的基于三視圖的曲面體線框模型重建方法,其特征在于 步驟④中重疊邊,是根據(jù)空間邊是否與其他空間邊重疊判斷的,即重疊的話 為重疊邊。
15. 根據(jù)權(quán)利要求14所述的基于三視圖的曲面體線框模型重建方法,其特征在 于步驟④中劃分重疊邊,是將兩條空間重疊邊重新劃分成不重疊的空間邊。
16. 根據(jù)權(quán)利要求1所述的基于三視圖的曲面體線框模型重建方法,其特征在于 步驟④中虛假點(diǎn)、虛假邊,是根據(jù)空間頂點(diǎn)連接邊的個(gè)數(shù)來(lái)判別的除輪廓 點(diǎn)切點(diǎn)外,將關(guān)聯(lián)空間邊的個(gè)數(shù)小于或等于2的空間頂點(diǎn)判斷為虛假點(diǎn),其 所關(guān)聯(lián)的空間邊為虛假邊。
17. 根據(jù)權(quán)利要求16所述的基于三視圖的曲面體線框模型重建方法,其特征在于步驟④中刪除或合并虛假點(diǎn)和虛假邊具體針對(duì)以下情況將等于2且相 關(guān)邊共線的虛假點(diǎn)刪除,兩虛假邊合并為一條邊;其余的虛假點(diǎn)和虛假邊刪 除。
18. 根據(jù)權(quán)利要求1所述的基于三視圖的曲面體線框模型重建方法,其特征在于 步驟④中的空間線框模型,包括在空間頂點(diǎn)表和空間曲線邊表,和這兩個(gè)表 之間存在關(guān)聯(lián)關(guān)系。
全文摘要
本發(fā)明涉及一種基于三視圖的曲面體線框模型重建方法和裝置。本發(fā)明的目的是解決將工程機(jī)械零件二維工程圖紙轉(zhuǎn)化為三維的線框模型的技術(shù)問(wèn)題。本發(fā)明通過(guò)客戶/服務(wù)器硬件結(jié)構(gòu),服務(wù)器端從客戶端接收預(yù)處理二維CAD文檔后得到的點(diǎn)表、線表,生成二維輪廓點(diǎn)、分割判別視圖,再重建空間頂點(diǎn)、空間邊,去除冗余元素,生成空間線框模型。本發(fā)明可廣泛應(yīng)用于圖紙文檔電子化管理、工業(yè)自動(dòng)化生產(chǎn)計(jì)劃與決策、三維形體的識(shí)別與檢測(cè)、產(chǎn)品數(shù)據(jù)管理與數(shù)據(jù)庫(kù)檢索以及計(jì)算機(jī)輔助設(shè)計(jì)與制造、數(shù)控加工,解決了從二維圖形中提取形體的描述信息,自動(dòng)或半自動(dòng)地轉(zhuǎn)換成為空間模型的問(wèn)題,簡(jiǎn)化了三維產(chǎn)品的設(shè)計(jì)工作,節(jié)省了資源成本,提高了生產(chǎn)效率。
文檔編號(hào)G06T19/00GK101308583SQ20081004061
公開(kāi)日2008年11月19日 申請(qǐng)日期2008年7月16日 優(yōu)先權(quán)日2008年7月16日
發(fā)明者宦紅倫, 顧永明 申請(qǐng)人:永凱軟件技術(shù)(上海)有限公司