專(zhuān)利名稱(chēng):特征元素?cái)M合方法及其計(jì)算機(jī)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種特征元素?cái)M合方法及其計(jì)算機(jī)系統(tǒng)。
背景技術(shù):
在三維產(chǎn)品的開(kāi)發(fā)及制造過(guò)程中,誤差分析已經(jīng)成為產(chǎn)品質(zhì)量驗(yàn)證的重要環(huán)節(jié)。傳統(tǒng)的 做法是使用點(diǎn)云獲取裝置獲取工件的點(diǎn)云(即由多個(gè)三維離散點(diǎn)組成的點(diǎn)的集合),而后將 點(diǎn)云數(shù)據(jù)輸入計(jì)算機(jī),執(zhí)行相應(yīng)軟件對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行處理,將離散的點(diǎn)擬合并創(chuàng)建成線(xiàn)、面 、圓、圓柱或球等特征元素。然后,將實(shí)際工件和特征元素所在的理論設(shè)計(jì)圖檔進(jìn)行對(duì)齊, 以確定實(shí)際工件與理論設(shè)計(jì)圖檔中的影像之間是否存在誤差。
目前,市場(chǎng)上出現(xiàn)了許多種擬合特征元素的方法,例如,利用最小二乘法擬合特征元素 ,但這些方法無(wú)法快速提取三維坐標(biāo)系中點(diǎn)云的最上層點(diǎn)及有效的邊界點(diǎn)。
發(fā)明內(nèi)容
鑒于以上內(nèi)容,有必要提供一種特征元素?cái)M合方法,能夠快速提取三維坐標(biāo)系中點(diǎn)云的 最上層點(diǎn)及有效的邊界點(diǎn),從而完成特征元素的擬合。
此外,還有必要提供一種擬合特征元素的計(jì)算機(jī)系統(tǒng),采用迭代法快速將雜亂點(diǎn)云擬合 成特征元素。
一種特征元素?cái)M合方法,該方法包括根據(jù)所接收的點(diǎn)云數(shù)據(jù)建立三角網(wǎng)格曲面;從該 三角網(wǎng)格曲面中選取需擬合特征元素的點(diǎn)云;從該所選取的點(diǎn)云中獲取屏幕的最上層點(diǎn);提 取所述最上層點(diǎn)中的邊界點(diǎn);采用迭代法將所述最上層點(diǎn)中的邊界點(diǎn)擬合成特征元素;獲取 所擬合的特征元素的參數(shù);及根據(jù)所述特征元素的參數(shù)及所擬合的特征元素繪制特征元素。
一種擬合特征元素的計(jì)算機(jī)系統(tǒng),該計(jì)算機(jī)系統(tǒng)包括三角網(wǎng)格化模塊,用于將點(diǎn)云建 立成三角網(wǎng)格曲面;提取模塊,用于從該三角網(wǎng)格曲面中選取需擬合特征元素的點(diǎn)云,從該 選取的點(diǎn)云中獲取最上層點(diǎn),并提取所述最上層點(diǎn)中的邊界點(diǎn);擬合模塊,用于采用迭代法 將所述最上層點(diǎn)中的邊界點(diǎn)擬合成特征元素,并獲取所擬合的特征元素的參數(shù);及創(chuàng)建模塊 ,用于根據(jù)所述特征元素的參數(shù)及所擬合的特征元素繪制特征元素。
相較于現(xiàn)有技術(shù),所述特征元素?cái)M合方法及其計(jì)算機(jī)系統(tǒng),能夠快速提取三維坐標(biāo)系中 點(diǎn)云的最上層點(diǎn)及有效的邊界點(diǎn),利用迭代法完成特征元素的擬合。
圖l是本發(fā)明擬合特征元素的計(jì)算機(jī)系統(tǒng)較佳實(shí)施例的功能模塊圖。
圖2是本發(fā)明屏幕法線(xiàn)向量和最上層點(diǎn)的示意圖
圖3是本發(fā)明特征元素?cái)M合方法較佳實(shí)施例的作業(yè)流程圖。
圖4是圖3中步驟S 3的細(xì)化流程圖。
圖5是圖4中步驟S34的細(xì)化流程圖。
圖6是圖3中步驟S5的細(xì)化流程圖。
圖7是圖6步驟S57中擬牛頓迭代法的具體作業(yè)流程圖。
具體實(shí)施例方式
參閱圖1所示,是本發(fā)明擬合特征元素的計(jì)算機(jī)系統(tǒng)l較佳實(shí)施例的功能模塊圖。該計(jì)算 機(jī)系統(tǒng)1按軟件程序段的功能可被劃分為接收模塊10、三角網(wǎng)格化模塊12、提取模塊14、擬 合模塊16和創(chuàng)建模塊18。
所述接收模塊10用于接收影像量測(cè)機(jī)臺(tái)量測(cè)工件所產(chǎn)生的點(diǎn)云數(shù)據(jù),該點(diǎn)云數(shù)據(jù)包括了 點(diǎn)云的個(gè)數(shù)、點(diǎn)的標(biāo)識(shí)及每個(gè)點(diǎn)的屬性。
所述三角網(wǎng)格化模塊12用于根據(jù)所接收的點(diǎn)云數(shù)據(jù)建立三角網(wǎng)格曲面。
所述提取模塊14用于從所述三角網(wǎng)格曲面中提取所有的邊界點(diǎn),并從需擬合特征元素的 點(diǎn)云中提取邊界點(diǎn)。具體而言,當(dāng)用戶(hù)利用多義線(xiàn)從三角網(wǎng)格曲面中選取需擬合特征元素的 點(diǎn)云后,提取模塊14需從所選取的點(diǎn)云中找出屏幕上所顯示的最上層點(diǎn),然后從所述最上層 點(diǎn)中提取邊界點(diǎn)用于擬合特征元素。如圖2所示,是本發(fā)明屏幕法線(xiàn)向量(將在后續(xù)提到) 和最上層點(diǎn)的示意圖,該圖僅為示意所用,點(diǎn)云的實(shí)際排布情況不限于此。在圖2中,標(biāo)號(hào) 2示意顯示器的屏幕,標(biāo)號(hào)3示意所述最上層點(diǎn),標(biāo)號(hào)4示意屏幕法線(xiàn)向量,由該圖2可以看出 ,所述最上層點(diǎn)位于屏幕法線(xiàn)向量的最上一層。
擬合模塊16用于根據(jù)迭代法將所述最上層點(diǎn)中的邊界點(diǎn)擬合成特征元素,并獲取所擬合 的特征元素的參數(shù)。
創(chuàng)建模塊18用于根據(jù)所述特征元素的參數(shù)及所擬合的特征元素繪制特征元素。 參閱圖3,是本發(fā)明特征元素?cái)M合方法較佳實(shí)施例的作業(yè)流程圖。
步驟S1,接收模塊10接收影像量測(cè)機(jī)臺(tái)量測(cè)工件所產(chǎn)生的點(diǎn)云數(shù)據(jù),三角網(wǎng)格化模塊 12根據(jù)所接收的點(diǎn)云數(shù)據(jù)建立三角網(wǎng)格曲面。其中,所述點(diǎn)云數(shù)據(jù)包括點(diǎn)云的個(gè)數(shù)、點(diǎn)的標(biāo) 識(shí)及每個(gè)點(diǎn)的屬性。
步驟S3,提取模塊14從該三角網(wǎng)格曲面中選取需擬合特征元素的點(diǎn)云,并從該選取的點(diǎn) 云中提取最上層點(diǎn)的邊界點(diǎn)。步驟S5,擬合模塊16采用迭代法將所述最上層點(diǎn)的邊界點(diǎn)擬合成特征元素。本較佳實(shí)施 例中,該迭代法為擬牛頓迭代法。其中,所述特征元素包括線(xiàn)、面、圓、圓柱或球。
步驟S7,創(chuàng)建模塊18獲取所擬合的特征元素的參數(shù),并根據(jù)所述特征元素的參數(shù)及所擬 合的特征元素繪制特征元素。其中,當(dāng)該特征元素為線(xiàn)時(shí),所述參數(shù)包括線(xiàn)的起始點(diǎn)、結(jié)束 點(diǎn)及線(xiàn)的法向;當(dāng)該特征元素為面時(shí),所述參數(shù)包括面的中心點(diǎn)和面的法向;該特征元素為 圓時(shí),所述參數(shù)包括圓心、圓的半徑和圓的法向;該特征元素為圓柱時(shí),所述參數(shù)包括圓柱 的中心點(diǎn)、半徑、高度及圓柱的法向;該特征元素為球時(shí),所述參數(shù)包括球心和球的半徑。
參閱圖4,是圖3中步驟S3的細(xì)化流程圖。
步驟S30,提取模塊14提取所述三角網(wǎng)格曲面中的所有邊界點(diǎn)。本實(shí)施例以判斷一個(gè)點(diǎn) 是否是邊界點(diǎn)為例說(shuō)明如下提取模塊14從所述三角網(wǎng)格曲面中獲取當(dāng)前判斷點(diǎn)周?chē)娜?形及每個(gè)三角形的頂點(diǎn),依次判斷所述頂點(diǎn)被當(dāng)前判斷點(diǎn)周?chē)娜切嗡加玫拇螖?shù)是否均 大于l,若判斷結(jié)果為否,則確定該當(dāng)前判斷點(diǎn)為邊界點(diǎn)。
步驟S32,提取模塊14利用多義線(xiàn)從所述三角網(wǎng)格曲面中選取需擬合特征元素的點(diǎn)云。 該選取的點(diǎn)云為三維空間內(nèi)的點(diǎn)云,即包括多個(gè)層次的點(diǎn)云。
步驟S34,從該所選取的點(diǎn)云中獲取屏幕上所顯示的最上層點(diǎn),即從屏幕顯示的角度來(lái) 看,該層點(diǎn)位于所選取的點(diǎn)云的最上層。該獲取方法將在圖4中進(jìn)行具體描述。
步驟S36,將所述最上層點(diǎn)的屬性與步驟S30中的邊界點(diǎn)的屬性分別進(jìn)行比較,以找出所 述最上層點(diǎn)中的邊界點(diǎn)。具體而言,若所述最上層點(diǎn)中的某一點(diǎn)"a"的屬性與步驟S30中某 一邊界點(diǎn)的屬性相同,則確定該點(diǎn)"a"為所述邊界點(diǎn)。
參閱圖5,是圖4中步驟S34的細(xì)化流程圖。
步驟S340,根據(jù)點(diǎn)云數(shù)據(jù)中點(diǎn)的三維坐標(biāo)計(jì)算得到所述點(diǎn)云的包圍盒,對(duì)該包圍盒進(jìn)行 分組,并將點(diǎn)云數(shù)據(jù)中每個(gè)點(diǎn)的標(biāo)識(shí)填入到相應(yīng)的分組中。所述分組后每個(gè)單元小正方體的 邊長(zhǎng)可由組成三角網(wǎng)格曲面的三角形的最大邊長(zhǎng)及點(diǎn)云總數(shù)計(jì)算得出。其中,所述最大邊長(zhǎng) 為用戶(hù)自定義的邊長(zhǎng),其約等于點(diǎn)云中相鄰點(diǎn)之間距離的平均值。
步驟S341,獲取當(dāng)前點(diǎn)所在的分組,并向周?chē)鲾U(kuò)大至少一個(gè)分組,例如,向外擴(kuò)3*3 個(gè)分組,以得到這些分組內(nèi)所有點(diǎn)周?chē)娜切巍?br>
步驟S343,根據(jù)屏幕的視角法向量為當(dāng)前點(diǎn)創(chuàng)建射線(xiàn)。所述屏幕的視角法向量是指用戶(hù) 平視電腦屏幕時(shí)視角所形成的法向量,該視角法向量垂直于用戶(hù)的水平視線(xiàn)。
步驟S345,統(tǒng)計(jì)上述射線(xiàn)與所述三角形的交點(diǎn)個(gè)數(shù)。
步驟S347,判斷所述交點(diǎn)個(gè)數(shù)是否等于l。若所述交點(diǎn)個(gè)數(shù)不等于l,則表明當(dāng)前點(diǎn)的射線(xiàn)與多個(gè)三角形相交了,因此,直接結(jié)束 流程;若所述交點(diǎn)個(gè)數(shù)等于l,則步驟S349,表明該當(dāng)前點(diǎn)為最上層點(diǎn),將該當(dāng)前點(diǎn)加入最 上層點(diǎn)的數(shù)組中。
在實(shí)施例中的提取模塊14循環(huán)每個(gè)分組中的點(diǎn),并重復(fù)步驟S341至步驟S349直至找到所 有的最上層點(diǎn)加入到所述數(shù)組中。
參閱圖6,是圖3中步驟S5的細(xì)化流程圖。
步驟S50,用戶(hù)根據(jù)圖2步驟S3中所提取的邊界點(diǎn)所組成的大致形狀,輸入擬合類(lèi)型,該 擬合類(lèi)型包括擬合面、擬合線(xiàn)、擬合圓、擬合圓柱和擬合球。
步驟S51,擬合模塊16判斷所輸入的擬合類(lèi)型是否為擬合線(xiàn)或擬合圓。若是,則直接進(jìn) 入步驟S52;若否,則轉(zhuǎn)入步驟S53。
于步驟S52,擬合模塊16先將所述邊界點(diǎn)擬合成一個(gè)面,然后將所述邊界點(diǎn)投影到該面 上,接著,進(jìn)入步驟S53。
于步驟S53,根據(jù)步驟S50中所輸入的擬合類(lèi)型得到相應(yīng)的迭代方程式。利用該迭代方程 式可計(jì)算出每個(gè)邊界點(diǎn)到預(yù)擬合圖形的最小距離。
具體而言,當(dāng)擬合類(lèi)型為擬合線(xiàn)時(shí),該擬合線(xiàn)的迭代方程式為
<formula>formula see original document page 8</formula> ,其中,(、
a, Z')為當(dāng)前邊界點(diǎn)的坐標(biāo),(&, ^q, 為擬合線(xiàn)的第一端點(diǎn)的坐標(biāo),a為當(dāng)前
邊界點(diǎn)和該第一點(diǎn)的連線(xiàn)與擬合線(xiàn)間的夾角,n為邊界點(diǎn)的個(gè)數(shù)。當(dāng)所述擬合類(lèi)型為擬合圓 時(shí),該擬合圓的迭代方程式為
<formula>formula see original document page 8</formula>,其中,(x'', a)為當(dāng)前
邊界點(diǎn)的坐標(biāo),(&, "^)為擬合圓的圓心坐標(biāo),R為擬合圓的半徑,n為邊界點(diǎn)的個(gè)數(shù)。 當(dāng)擬合類(lèi)型為擬合面時(shí),該擬合面的迭代方程式為
<formula>formula see original document page 8</formula> ,其中,(、,力,Z')為當(dāng)前邊
界點(diǎn)的坐標(biāo),n為邊界點(diǎn)的個(gè)數(shù)。當(dāng)擬合類(lèi)型為擬合圓柱時(shí),該擬合圓柱的迭代方程式為,("a,')為當(dāng)前邊界點(diǎn)的坐標(biāo),(Q, /Q, Q)為擬合圓柱的中心軸的第一點(diǎn)
坐標(biāo),a為當(dāng)前邊界點(diǎn)和該第一點(diǎn)的連線(xiàn)與中心軸間的夾角,R為圓柱的半徑,n為邊界點(diǎn)的 個(gè)數(shù)。當(dāng)擬合類(lèi)型為擬合球時(shí),該擬合球的迭代方程式為
/;',')為當(dāng)前邊界點(diǎn)的坐標(biāo),(Q, /Q,Q)為擬合球的球心的坐標(biāo),R為球的半徑, n為邊界點(diǎn)的個(gè)數(shù)。
步驟S54,輸入迭代總次數(shù)m,該迭代總次數(shù)m由用戶(hù)指定。本較佳實(shí)施例僅以迭代一次 為例進(jìn)行具體說(shuō)明,用戶(hù)也可以進(jìn)行多次迭代以達(dá)到更精確的目的。例如,本實(shí)施例可用i 表示迭代次數(shù)即第幾次迭代。
步驟S55,根據(jù)迭代次數(shù)i和所述邊界點(diǎn)的總數(shù)得到該次迭代中的點(diǎn)云數(shù)目n。在本較佳 實(shí)施例中,假設(shè)n^3,當(dāng)1=1即第1次迭代時(shí),從所述邊界點(diǎn)中按10: l的比例等間距均勻取點(diǎn) ,即此時(shí)11=邊界點(diǎn)總數(shù)*1/10,其中從該邊界點(diǎn)中按10: l的比例等間距均勻取點(diǎn)的具體步驟 為首先沿X軸、Y軸、Z軸方向?qū)λ鲞吔琰c(diǎn)的包圍盒進(jìn)行等間距分割,使該包圍盒被均勻 分成10個(gè)小包圍盒,而后分別求得所述10個(gè)小包圍盒的中心,最后分別取出離所述10個(gè)小包 圍盒的中心最近的點(diǎn);當(dāng)1=2即第2次迭代時(shí),從所述邊界點(diǎn)中按10: 5的比例等間距均勻取 點(diǎn),即此時(shí)!1=待測(cè)物體的點(diǎn)云總數(shù)*5/10;當(dāng)1=3即第3次迭代時(shí),取所有的邊界點(diǎn)進(jìn)行迭代
步驟S56,利用最小二乘法得到一個(gè)初始迭代參數(shù)。在本實(shí)施例中,擬合線(xiàn)的初始迭代 參數(shù)為該擬合線(xiàn)的兩個(gè)端點(diǎn)的坐標(biāo),擬合圓的初始迭代參數(shù)為圓心坐標(biāo),擬合球的初始迭代 參數(shù)為球心坐標(biāo),擬合圓柱的初始迭代參數(shù)為該圓柱中心軸的兩個(gè)端點(diǎn)的坐標(biāo),擬合面的初 始迭代參數(shù)為該擬合面在坐標(biāo)系內(nèi)的空間位置和法向量。
步驟S57,根據(jù)所述初始迭代參數(shù),利用擬牛頓迭代法計(jì)算出預(yù)擬合圖形中點(diǎn)的坐標(biāo)。 具體而言,先計(jì)算出每個(gè)邊界點(diǎn)的迭代值,然后求取所述邊界點(diǎn)的虛擬點(diǎn)云位置A1,接著, 根據(jù)所述迭代總次數(shù)m判斷所述虛擬點(diǎn)云位置Al是否為預(yù)擬合圖形中點(diǎn)的坐標(biāo)。例如,若于 步驟S54中所輸入的迭代次數(shù)大于1 ,則所述邊界點(diǎn)的虛擬點(diǎn)云位置A1可作為下一次迭代時(shí)的 初始點(diǎn)云位置進(jìn)行迭代,以計(jì)算出虛擬點(diǎn)云位置A2,并以此方法類(lèi)推,計(jì)算出最后一次迭代 的虛擬點(diǎn)云位置A—作為預(yù)擬合圖形中點(diǎn)的坐標(biāo);若于步驟S54中所輸入的迭代次數(shù)等于1 ,則
其中,(A、A1。其中,當(dāng)?shù)螖?shù)等于l時(shí),所述迭代值即為邊界點(diǎn)到預(yù)擬合圖形的最小距離;當(dāng)?shù)?代次數(shù)大于l時(shí),所述迭代值包括邊界點(diǎn)與第一次迭代時(shí)的虛擬點(diǎn)云位置A1之間的最小距離 、該第一次迭代時(shí)的虛擬點(diǎn)云位置A1與下一次迭代時(shí)的虛擬點(diǎn)云位置之間的最小距離及最后 一次迭代的虛擬點(diǎn)云位置A—到預(yù)擬合圖形的最小距離。
步驟S58,根據(jù)所述預(yù)擬合圖形中每個(gè)點(diǎn)的坐標(biāo)及所輸入的擬合類(lèi)型擬合特征元素。 參閱圖7,是圖6步驟S57中的擬牛頓迭代法的具體作業(yè)流程圖。 步驟S600,將初始迭代參數(shù)代入迭代方程式f(x)中,計(jì)算出迭代函數(shù)值f(x)。 步驟S602,擬合模塊16判斷所計(jì)算出的迭代函數(shù)值f(x)是否小于擬合精度FunX。該擬合 精度F皿X為用戶(hù)自定義的擬合精度,可在計(jì)算機(jī)系統(tǒng)l中預(yù)先輸入,其具體是指預(yù)擬合圖形 中的點(diǎn)云與圖2步驟S3中所提取的相應(yīng)邊界點(diǎn)之間的誤差要達(dá)到的程度。
若f (x)不小于FunX,則進(jìn)入步驟S604,利用數(shù)學(xué)法則如擬牛頓迭代法計(jì)算f (x)的下降方 向。所述下降方向指使f (x)的值變小的方向,即使邊界點(diǎn)到預(yù)擬合圖形的距離變小的方向。 步驟S606,判斷是否存在所述下降方向。
若存在所述下降方向,則進(jìn)入步驟S608,計(jì)算邊界點(diǎn)沿下降方向移動(dòng)擬合步長(zhǎng)D后到預(yù) 擬合圖形的距離f(xK。該擬合步長(zhǎng)D指以圖2步驟S3中所提取的相應(yīng)邊界點(diǎn)為基準(zhǔn),每次移 動(dòng)預(yù)擬合圖形中心的距離,該擬合步長(zhǎng)D為用戶(hù)自定義的參數(shù)且可在計(jì)算機(jī)系統(tǒng)l中預(yù)先輸入
具體而言,首先計(jì)算得到邊界點(diǎn)沿下降方向移動(dòng)D后的位置,而后利用該位置計(jì)算得到 該邊界點(diǎn)到預(yù)擬合圖形的距離f (xK 。其中,所述f (xr與步驟S600中f (x)的計(jì)算方法完全相 同,僅僅使用的參數(shù)不同,可參考步驟S600完成計(jì)算。
步驟S610,判斷上述計(jì)算得到的f(xK是否小于f(x)。若f(xK小于f(x),則返回步驟 S604;若f (xK不小于f (x),則返回步驟S608。
在步驟S606中,若不存在所述下降方向,則表明迭代函數(shù)值f(x)為所計(jì)算的迭代值,步 驟S612,輸出該迭代值,然后結(jié)束流程。在本實(shí)施例中,利用所計(jì)算出的迭代值及相應(yīng)邊界 點(diǎn)的坐標(biāo)可計(jì)算出預(yù)擬合圖形中每個(gè)點(diǎn)的坐標(biāo)。
在步驟S602中,若f(x)小于F皿X,則直接進(jìn)入步驟S612。
最后應(yīng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實(shí) 施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案 進(jìn)行修改或等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
10
權(quán)利要求
1.一種特征元素?cái)M合方法,其特征在于,該方法包括從影像量測(cè)機(jī)臺(tái)接收點(diǎn)云數(shù)據(jù);根據(jù)所接收的點(diǎn)云數(shù)據(jù)建立三角網(wǎng)格曲面;從該三角網(wǎng)格曲面中選取需擬合特征元素的點(diǎn)云;從該所選取的點(diǎn)云中獲取屏幕的最上層點(diǎn);提取所述最上層點(diǎn)中的邊界點(diǎn);采用迭代法將所述最上層點(diǎn)中的邊界點(diǎn)擬合成特征元素;獲取所擬合的特征元素的參數(shù);及根據(jù)所述特征元素的參數(shù)及所擬合的特征元素繪制特征元素。
2 如權(quán)利要求l所述的特征元素?cái)M合方法,其特征在于,所述步驟從 該所選取的點(diǎn)云中獲取屏幕的最上層點(diǎn)包括如下步驟(a) 根據(jù)所述點(diǎn)云數(shù)據(jù)計(jì)算得到點(diǎn)云的包圍盒,對(duì)該包圍盒進(jìn)行分組,并將點(diǎn)云數(shù)據(jù) 中每個(gè)點(diǎn)的標(biāo)識(shí)填入到相應(yīng)的分組中;(b) 獲取當(dāng)前點(diǎn)所在的分組,并向周?chē)鲾U(kuò)大至少一個(gè)分組,以得到分組內(nèi)所有點(diǎn)周 圍的三角形;(c) 根據(jù)屏幕視角法向量為當(dāng)前點(diǎn)創(chuàng)建射線(xiàn);(d) 統(tǒng)計(jì)該射線(xiàn)與所述三角形的交點(diǎn)個(gè)數(shù);(e) 當(dāng)所述交點(diǎn)個(gè)數(shù)等于l時(shí),將當(dāng)前點(diǎn)加入最上層點(diǎn)的數(shù)組中;及(f) 循環(huán)每個(gè)分組中的點(diǎn),并重復(fù)步驟(b)至步驟(e)直至找到所有的最上層點(diǎn)。
3 如權(quán)利要求l所述的特征元素?cái)M合方法,其特征在于,在所述根據(jù) 點(diǎn)云數(shù)據(jù)建立三角網(wǎng)格曲面步驟之后,提取最上層點(diǎn)中的邊界點(diǎn)步驟之前還包括如下步驟 提取所述三角網(wǎng)格曲面中的所有邊界點(diǎn)。
4 如權(quán)利要求3所述的特征元素?cái)M合方法,其特征在于,所述步驟提 取所述最上層點(diǎn)中的邊界點(diǎn)包括如下步驟將所述最上層點(diǎn)的屬性與所述三角網(wǎng)格曲面中的所有邊界點(diǎn)的屬性分別進(jìn)行比較,以 找出所述最上層點(diǎn)中的邊界點(diǎn)。
5.如權(quán)利要求l所述的特征元素?cái)M合方法,其特征在于,所述步驟采 用迭代法將所述最上層點(diǎn)中的邊界點(diǎn)擬合成特征元素包括以下步驟(i)輸入擬合類(lèi)型,該擬合類(lèi)型包括擬合面、擬合線(xiàn)、擬合圓、擬合圓柱和擬合球; (i i)判斷所輸入的擬合類(lèi)型是否為擬合線(xiàn)或擬合圓;(iii) 若是,則將所述邊界點(diǎn)擬合成一個(gè)面,然后將所述邊界點(diǎn)投影到該面上;(iv) 根據(jù)所輸入的擬合類(lèi)型利用最小二乘法得到一個(gè)初始迭代參數(shù);(v) 將該初始迭代參數(shù)代入所輸入擬合類(lèi)型的迭代方程式中,并利用擬牛頓迭代法計(jì) 算出預(yù)擬合圖形中點(diǎn)的坐標(biāo);及(vi )根據(jù)所述預(yù)擬合圖形中每個(gè)點(diǎn)的坐標(biāo)及所輸入的擬合類(lèi)型擬合特征元素。
6.如權(quán)利要求5所述的特征元素?cái)M合方法,其特征在于,所述步驟( v)包括如下步驟(vl)將初始迭代參數(shù)代入所輸入擬合類(lèi)型的迭代方程式f(x)中,計(jì)算出迭代函數(shù)值f(x);(v2)判斷所計(jì)算出的迭代函數(shù)值f (x)是否小于擬合精度FunX;(v3)若f(x)不小于FunX,則利用擬牛頓迭代法計(jì)算f(x)的下降方向,該下降方向指 使邊界點(diǎn)到預(yù)擬合圖形的距離變小的方向; (v4)判斷是否存在所述下降方向;(v5)若存在所述下降方向,則計(jì)算邊界點(diǎn)沿下降方向移動(dòng)擬合步長(zhǎng)后到預(yù)擬合圖形 的距離f(x)、其中,該擬合步長(zhǎng)指以所提取的邊界點(diǎn)為基準(zhǔn),每次移動(dòng)預(yù)擬合圖形中心的 距離;(v6)判斷上述計(jì)算得到的f(xK是否小于f(x);及(v7)若f(xK小于f(x),則返回步驟(vl),若f (xK不小于f (x),則返回步驟(v5)c
7.如權(quán)利要求6所述的特征元素?cái)M合方法,其特征在于,若f(x)小于 FunX或步驟(v4)的判斷結(jié)果為不存在所述下降方向,則所述方法還包括如下步驟迭代函數(shù)值f (x)為所計(jì)算的迭代值,根據(jù)該迭代值及所述邊界點(diǎn)的坐標(biāo)計(jì)算出預(yù)擬合 圖形中每個(gè)點(diǎn)的坐標(biāo)。
8. 一種擬合特征元素的計(jì)算機(jī)系統(tǒng),其特征在于,該計(jì)算機(jī)系統(tǒng)包括三角網(wǎng)格化模塊,用于將點(diǎn)云建立成三角網(wǎng)格曲面;提取模塊,用于從該三角網(wǎng)格曲面中選取需擬合特征元素的點(diǎn)云,從該選取的點(diǎn)云中獲取屏幕的最上層點(diǎn),并提取所述最上層點(diǎn)中的邊界點(diǎn);擬合模塊,用于采用迭代法將所述最上層點(diǎn)中的邊界點(diǎn)擬合成特征元素,并獲取所擬 合的特征元素的參數(shù);及創(chuàng)建模塊,用于根據(jù)所述特征元素的參數(shù)及所擬合的特征元素繪制特征元素。
9.如權(quán)利要求8所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述提取模塊還用 于提取所述三角網(wǎng)格曲面中的所有邊界點(diǎn),將所述最上層點(diǎn)的屬性與該三角網(wǎng)格曲面中的所 有邊界點(diǎn)的屬性分別進(jìn)行比較,以找出所述最上層點(diǎn)中的邊界點(diǎn)。
10.如權(quán)利要求8所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述提取模塊在 從所選取的點(diǎn)云中獲取屏幕的最上層點(diǎn)的過(guò)程中執(zhí)行如下步驟(a) 根據(jù)所述點(diǎn)云數(shù)據(jù)計(jì)算得到點(diǎn)云的包圍盒,對(duì)該包圍盒進(jìn)行分組,并將點(diǎn)云數(shù)據(jù) 中每個(gè)點(diǎn)的標(biāo)識(shí)填入到相應(yīng)的分組中;(b) 獲取當(dāng)前點(diǎn)所在的分組,并向周?chē)鲾U(kuò)大至少一個(gè)分組,以得到分組內(nèi)所有點(diǎn)周 圍的三角形;(c) 根據(jù)屏幕視角法向量為當(dāng)前點(diǎn)創(chuàng)建射線(xiàn);(d) 統(tǒng)計(jì)該射線(xiàn)與所述三角形的交點(diǎn)個(gè)數(shù);(e) 當(dāng)所述交點(diǎn)個(gè)數(shù)等于l時(shí),將當(dāng)前點(diǎn)加入最上層點(diǎn)的數(shù)組中;及(f) 循環(huán)每個(gè)分組中的點(diǎn),并重復(fù)步驟(b)至步驟(e)直至找到所有的最上層點(diǎn)。
全文摘要
本發(fā)明提供一種特征元素?cái)M合方法,包括根據(jù)所接收的點(diǎn)云數(shù)據(jù)建立三角網(wǎng)格曲面;從該三角網(wǎng)格曲面中選取需擬合特征元素的點(diǎn)云;從該所選取的點(diǎn)云中獲取屏幕的最上層點(diǎn);提取所述最上層點(diǎn)中的邊界點(diǎn);采用迭代法將所述最上層點(diǎn)中的邊界點(diǎn)擬合成特征元素;獲取所擬合的特征元素的參數(shù);及根據(jù)所述特征元素的參數(shù)及所擬合的特征元素繪制特征元素。本發(fā)明還提供一種擬合特征元素的計(jì)算機(jī)系統(tǒng)。利用本發(fā)明可快速將雜亂點(diǎn)云擬合成特征元素。
文檔編號(hào)G06T7/00GK101667290SQ200810304390
公開(kāi)日2010年3月10日 申請(qǐng)日期2008年9月5日 優(yōu)先權(quán)日2008年9月5日
發(fā)明者吳新元, 張旨光, 敏 王 申請(qǐng)人:鴻富錦精密工業(yè)(深圳)有限公司;鴻海精密工業(yè)股份有限公司