国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      曲面距離計算系統(tǒng)及方法

      文檔序號:6434391閱讀:579來源:國知局
      專利名稱:曲面距離計算系統(tǒng)及方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種計算機(jī)輔助設(shè)計系統(tǒng)及方法,尤其是ー種應(yīng)用于影像量測領(lǐng)域中的曲面距離計算系統(tǒng)及方法。
      背景技術(shù)
      三坐標(biāo)測量機(jī)是在エ業(yè)、科研中被廣泛應(yīng)用于對產(chǎn)品進(jìn)行測量的一種測量裝置,一般的測量方法是將被測物件置于三坐標(biāo)測量空間,利用三坐標(biāo)測量機(jī)的接觸探頭沿被測物件的表面經(jīng)過編程的路徑逐點(diǎn)捕捉數(shù)據(jù),根據(jù)捕捉的數(shù)據(jù)分析被測物件的曲面品質(zhì)。在曲面檢測過程中,通常需要計算產(chǎn)品上的實際曲面到產(chǎn)品模型上的理論曲面的偏差距離。另外,涉及曲面檢測過程中的檢測儀器的碰撞安全性檢測,也需要計算探針與機(jī)臺及探針與被檢測的曲面之間的空間位置關(guān)系以檢測安全事故。由于曲面的自由性、不規(guī)則性,曲面之間的空間距離無法用公式直接計算,到目前,業(yè)界也沒有ー個通用的算法。

      發(fā)明內(nèi)容
      鑒于以上內(nèi)容,有必要提供ー種曲面距離計算系統(tǒng)及方法,可以快速、準(zhǔn)確地計算兩個曲面之間的最近距離。ー種曲面距離計算系統(tǒng),該系統(tǒng)包括網(wǎng)格化模塊、關(guān)系確定模塊及距離計算模塊。網(wǎng)格化模塊,用于從計算裝置的存儲器讀取需要計算距離的第一曲面及第ニ曲面的參數(shù)方程,分別對該第一曲面及第ニ曲面進(jìn)行三角網(wǎng)格化處理,得到第一曲面的所有三角形及第ニ曲面的所有三角形;及將參數(shù)平面等分為ー系列小方格,參數(shù)平面的每個小方格對應(yīng)于一個空間小包圍盒。關(guān)系確定模塊,用于分別確定第一曲面及第ニ曲面的三角形與空間小包圍盒的關(guān)聯(lián)關(guān)系。距離計算模塊,用于根據(jù)三角形與空間小包圍盒的關(guān)聯(lián)關(guān)系確定第一曲面及第ニ曲面上距離最近的三角形,計算該兩個最近的三角形之間的距離作為第一曲面的每個三角形到第二曲面的最近距離,取最小的最近距離作為第一曲面與第二曲面之間的最小距離。ー種曲面距離計算方法,應(yīng)用于計算裝置。該方法包括(a)從計算裝置的存儲器讀取需要計算距離的第一曲面及第ニ曲面的參數(shù)方程,分別對該第一曲面及第ニ曲面進(jìn)行三角網(wǎng)格化處理,得到第一曲面的所有三角形及第ニ曲面的所有三角形;(b)將參數(shù)平面等分為ー系列小方格,參數(shù)平面的每個小方格對應(yīng)于空間中與該小方格邊長相等的ー個立方體,該立方體稱作空間小包圍盒;(c)分別確定第一曲面及第ニ曲面的三角形與空間小包圍盒的關(guān)聯(lián)關(guān)系 '及(d)根據(jù)三角形與空間小包圍盒的關(guān)聯(lián)關(guān)系確定第一曲面及第ニ曲面上距離最近的三角形,計算該兩個最近的三角形之間的距離作為第一曲面的每個三角形到第二曲面的最近距離,取最小的最近距離作為第一曲面與第二曲面之間的最小距離。相較于現(xiàn)有技術(shù),本發(fā)明提供的曲面距離計算系統(tǒng)及方法,可以快速、準(zhǔn)確地計算兩個曲面之間的最近距離。


      圖1是本發(fā)明曲面距離計算系統(tǒng)較佳實施例的功能模塊圖。圖2是本發(fā)明曲面距離計算方法較佳實施例的流程圖。圖3是圖2中步驟SlO的具體流程圖。圖4是圖2中步驟S30的示意圖。圖5是圖2中步驟S40的具體流程圖。圖6及圖7是對曲面進(jìn)行三角網(wǎng)格化的示意圖。圖8、圖9及圖10是過濾與曲面上三角形無關(guān)聯(lián)的空間小包圍盒的示意圖。圖11是向空間擴(kuò)展ー層小包圍盒的示意圖。主要元件符號說明
      計算裝置rroo-
      曲面距離計算系統(tǒng)Io-
      存儲設(shè)備20~
      處理器30
      顯示設(shè)備40
      網(wǎng)格化模塊11
      關(guān)系確定模塊~
      距離計算模塊~
      結(jié)果存儲模塊~如下具體實施方式
      將結(jié)合上述附圖進(jìn)ー步說明本發(fā)明。
      具體實施例方式如圖1所示,是本發(fā)明曲面距離計算系統(tǒng)10較佳實施例的功能模塊圖。該曲面距離計算系統(tǒng)10安裝并運(yùn)行于計算裝置100。該計算裝置100還包括存儲設(shè)備20、處理器30及顯示設(shè)備40。該計算裝置100可以為計算機(jī)或其它任何具有數(shù)據(jù)處理功能的裝置。該曲面距離計算系統(tǒng)10包括網(wǎng)格化模塊11、關(guān)系確定模塊12、距離計算模塊13及結(jié)果存儲模塊14。存儲器20存儲模塊11至14的計算機(jī)化程序代碼。處理器30執(zhí)行所述計算機(jī)化程序代碼,計算空間中兩個曲面之間的距離(具體介紹請參見下文)。顯示設(shè)備40顯示所述曲面及計算結(jié)果。模塊11至14的功能請參閱圖2 5中的具體介紹。參閱圖2所示,是本發(fā)明曲面距離計算方法較佳實施例的流程圖。步驟S10,網(wǎng)格化模塊11從存儲器20讀取需要計算距離的兩個曲面(以下稱做曲面A及曲面B)的參數(shù)方程,分別對該曲面A及曲面B進(jìn)行三角網(wǎng)格化處理,得到曲面A及曲面B的所有三角形(具體介紹請參見下文關(guān)于圖3的描述)。曲面的參數(shù)方程為:x =j (u, v), y = V (u, v), z = c(u, v),其中u、v為參數(shù),其值在O I范圍內(nèi)。曲面上的點(diǎn)可以用三維坐標(biāo)X,y,z表示,也可以用參數(shù)平面中的ニ維參數(shù)u,V表示。從曲面參數(shù)方程可得到曲面上三維點(diǎn)與參數(shù)平面中二維點(diǎn)的對應(yīng)關(guān)系。步驟S20,網(wǎng)格化模塊11將參數(shù)平面等分為ー系列小方格,參數(shù)平面的每個小方格對應(yīng)于空間中與該小方格邊長相等的ー個立方體。在本實施例中,稱該立方體為空間小包圍盒。步驟S30,關(guān)系確定模塊12分別確定每個曲面(曲面A或曲面B)的三角形與空間小包圍盒的關(guān)聯(lián)關(guān)系(具體介紹請參見下文關(guān)于圖4的描述)。所述關(guān)聯(lián)關(guān)系包括空間小包圍盒是否與曲面上的三角形相交或是否被曲面上的三角形包圍。步驟S40,距離計算模塊13根據(jù)三角形與空間小包圍盒的關(guān)聯(lián)關(guān)系確定曲面A及曲面B上距離最近的三角形,計算該兩個最近的三角形之間的距離作為曲面A的每個三角形到曲面B的最近距離(具體介紹請參見下文關(guān)于圖5的描述),取最小的最近距離作為曲面A與曲面B之間的最 小距離。步驟S50,結(jié)果存儲模塊14存儲計算結(jié)果,包括曲面A的每個三角形到曲面B的最近距離,該最近距離所對應(yīng)的 曲面A上的位置點(diǎn)及曲面B上的位置點(diǎn)的坐標(biāo),以及曲面A與曲面B之間的最小距離。參閱圖3所示,是圖2中步驟SlO的具體流程圖。步驟S100,網(wǎng)格化模塊11從存儲設(shè)備20中讀取ー個曲面(曲面A或曲面B)三維模型。步驟SI 10,網(wǎng)格化模塊11將該三維模型轉(zhuǎn)換為B樣條曲面,得到B樣條曲面在UV參數(shù)平面內(nèi)的封閉邊界線,對該封閉邊界線以U直線和V直線進(jìn)行等分,得到若干個小方格(如圖6所示)。步驟S120,網(wǎng)格化模塊11將與封閉邊界線無交點(diǎn)的小方格的四個頂點(diǎn)按逆時針順序組成兩個三角形。例如,如圖7中所示的小方格box4的四個頂點(diǎn)P、Q、1、0均落入封閉邊界線內(nèi),則網(wǎng)格化模塊11將頂點(diǎn)P、Q、1、0按照逆時針順序連接組成兩個三角形0QP、0IQ。步驟S130,對于與封閉邊界線有交點(diǎn)的小方格,網(wǎng)格化模塊11將小方格的頂點(diǎn)中落入封閉邊界曲線內(nèi)的頂點(diǎn)、小方格與封閉邊界曲線的交點(diǎn)及封閉邊界線上的邊界點(diǎn)加入2D點(diǎn)組成的隊列Q。例如,如圖7中所示的小方格boxl中有封閉邊界線上的邊界點(diǎn)M,小方格boxl與封閉邊界曲線的交點(diǎn)E、F ;小方格box2中有頂點(diǎn)D落入封閉邊界曲線內(nèi),;小方格box2與封閉邊界曲線的交點(diǎn)E、F、C、G,則網(wǎng)格化模塊11將點(diǎn)M、E、F、C、D、G加入2D點(diǎn)組成的隊列Q。步驟S140,網(wǎng)格化模塊11讀取2D點(diǎn)組成的隊列Q中的第一點(diǎn)Pl及與點(diǎn)Pl最近的點(diǎn)p2,Pl、p2組成三角形A的一條邊,三角形第三點(diǎn)p3的查找原則是邊plp2對應(yīng)的內(nèi)角在三角形A的內(nèi)角中最大以及三角形A的外接圓內(nèi)沒有隊列Q中的點(diǎn),使得三角形A接近
      于等邊三角形。步驟S150,網(wǎng)格化模塊11根據(jù)上述查找原則在隊列Q中查找其它三角形的頂點(diǎn),得到該曲面的三維模型上的所有三角形。
      步驟S160,網(wǎng)格化模塊11輸出該曲面的所有三角形組成的隊列。例如,曲面A的所有三角形組成的隊列可以記為Tl,曲面B的所有三角形組成的隊列可以記為T2。需要指出的是,圖3中步驟SllO對封閉邊界線以U直線和V直線進(jìn)行等分得到的小方格可以與圖2中步驟S20對參數(shù)平面進(jìn)行等分得到的小方格邊長相同,也可以不同。在本實施例中,圖3中步驟SllO得到的小方格邊長大于圖2中步驟S20得到的小方格的邊長。參閱圖4所示,是圖2中步驟S30的具體流程圖。步驟S300,關(guān)系確定模塊12從曲面(曲面A或曲面B)的三角形隊列(對列Tl或隊列T2)中讀取ー個三角形,例如三角形Al。步驟S302,關(guān)系確定模塊12確定該三角形的外接球及最大空間包圍盒。在本實施例中,三角形的最大空間包圍盒指的是包圍該三角形的外接球的一個長方體。為方便表示,在本實施例設(shè)計的示意圖中,以參數(shù)平面中的平面圖形象征三維空間中的立體圖形。如圖8所示,三角形Al的外接球為Cl,三角形Al的最大空間包圍盒為Ql。步驟S304,關(guān)系確定模塊12過濾掉該三角形的最大空間包圍盒之外的所有空間小包圍盒。例如,關(guān)系確定模塊12過濾掉三角形Al的最大空間包圍盒Ql之外的空間小包圍盒,剩下的空間小包圍盒如圖9所示。此處的過濾是ー個粗略的過濾步驟,三角形Al的最大空間包圍盒Ql之外的空間小包圍盒明顯不會與三角形Al相交,更不會落入三角形Al之內(nèi)。步驟S306,關(guān)系確定模塊12計算該外接球球心到該最大空間包圍盒包含的每個空間小包圍盒四個頂點(diǎn)的距離dl,d2,d3,d4。步驟S308,若dl,d2,d3,d4中的最小值大于或等于外接球半徑R,則關(guān)系確定模塊12判斷對應(yīng)的空間小包圍盒與該三角形不相交,過濾掉該空間小包圍盒。例如,圖9中,外接球為Cl的球心到最大空間包圍盒Ql包含的空間小包圍盒bl b7的距離大于或等于其半徑,則關(guān)系確定模塊12過濾掉空間小包圍盒bl b7。步驟S310,關(guān)系確定模塊12計算該三角形與位于該三角形及該最大空間包圍盒之間的空間小包圍盒的交點(diǎn)。步驟S312,關(guān)系確定模塊12判斷是否位于該三角形及該最大空間包圍盒之間的每個空間小包圍盒都與該三角形有交點(diǎn)。若位于該三角形及該最大空間包圍盒之間的某個空間小包圍盒與該三角形無交點(diǎn),則執(zhí)行步驟S314,關(guān)系確定模塊12過濾掉該空間小包圍盒。例如,圖10中所示的空間小包圍盒b8 bl4與三角形Al無交點(diǎn),則關(guān)系確定模塊12過濾掉空間小包圍盒b8 bl4。之后,流程進(jìn)入步驟S320。若位于該三角形及該最大空間包圍盒之間的某個空間小包圍盒與該三角形有交點(diǎn),則執(zhí)行步驟S316,關(guān)系確定模塊12判斷該空間小包圍盒該三角形相交,在該空間小包圍盒中設(shè)置第一標(biāo)志,例如“Al+fl”。步驟S318,關(guān)系確定模塊12在被該三角形包含的空間小包圍盒中設(shè)置第二標(biāo)志,例如 “Al+f2”。步驟S320,關(guān)系確定模塊12判斷該曲面的三角形隊列中是否還有三角形未被讀取,若還有三角形未被讀取,則流程自步驟S300開始重復(fù),直到該曲面的三角形隊列中的所有三角形都被讀取,該曲面上三角形與所有空間小包圍盒的關(guān)聯(lián)關(guān)系都被確定。參閱圖4所示,是圖2中步驟S40的具體流程圖。
      步驟S400,距離計算模塊13從曲面A的隊列Tl中讀取ー個三角形,如圖11所示的三角形t。步驟S410,距離計算模塊13根據(jù)空間小包圍盒中設(shè)置的標(biāo)志判斷該三角形t的外接球(如圖11中的C2所表示的外接球)包含的空間小包圍盒是否與曲面B的某個三角形(例如三角形t’)相關(guān)聯(lián)。若該三角形t的外接球包含的某個空間小包圍盒中設(shè)置有與曲面B的三角形t’相關(guān)聯(lián)的標(biāo)志,例如第一標(biāo)志“ t’ +fl”或第二標(biāo)志“ t’ +f2”,則距離計算模塊13判斷該三角形t的外接球包含的空間小包圍盒與曲面B的三角形t’相關(guān)聯(lián),流程轉(zhuǎn)入步驟S440。若該三角形t的外接球包含的所有空間小包圍盒中都沒有與曲面B的三角形t’相關(guān)聯(lián)的標(biāo)志,則距離計算模塊13判斷該三角形t的外接球包含的空間小包圍盒與曲面B的三角形無關(guān)聯(lián),流程進(jìn)入步驟S420。步驟S420,距離計算模塊13根據(jù)該三角形t與該外接球包含的空間小包圍盒的關(guān)聯(lián)關(guān)系確定三角形t的最大包圍盒Q2的頂點(diǎn)的坐標(biāo)值。與三角形t相關(guān)聯(lián)的空間小包圍盒中設(shè)置有第一標(biāo)志或第二標(biāo)志,距離計算模塊13根據(jù)第一標(biāo)志或第二標(biāo)志可以確定該空間小包圍盒是被三角形t包含還是與三角形t相交,再根據(jù)與三角形t相交的所有空間包圍盒向空間適當(dāng)擴(kuò)展得到最大包圍盒Q2。步驟S430,距離計算模塊13以逐次向空間各個方向擴(kuò)展ー層空間小包圍盒的方式更新最大包圍盒的邊界點(diǎn)的坐標(biāo)值,直到曲面B的某個三角形t’被新的最大包圍盒包含。例如,假設(shè)圖11所示的最大包圍盒Q2的頂點(diǎn)的X,y, z坐標(biāo)值的最小值及最大值分別為xmin,Xmax ;ymin, ymax ;zmin, Zmax,則距離計算模塊13向空間各個方向(例如X, Y, Z的正負(fù)方向)擴(kuò)展ー層空間小包圍盒得到更新后的最大包圍盒Q2’的頂點(diǎn)的X,y,z坐標(biāo)值的最小值及最大值分別為 Xmin' = Xmin-1, Xmax' = Xmax-1 ;ymin/ = ymin_l,ymax 1 = ymax_l ;zmin/ =
      Zmin_l,Zmax 一 Zmax_l。步驟S440,距離計算模塊13計算曲面A的三角形t到曲面B的三角形t’的距離dl,并以該距離dl作為三角形t到曲面B的最小距離。步驟S450,距離計算模塊13判斷曲面A的隊列Tl中是否還有三角形未被讀取。若還有三角形未被讀取,則流程自步驟S400開始重復(fù),直到計算得到曲面A的隊列Tl中的所有三角形到曲面B的最小距離。最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照以上較佳實施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方案進(jìn)行修改或等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
      權(quán)利要求
      1.ー種曲面距離計算系統(tǒng),其特征在干,該系統(tǒng)包括 網(wǎng)格化模塊,用于從計算裝置的存儲器讀取需要計算距離的第一曲面及第ニ曲面的參數(shù)方程,分別對該第一曲面及第ニ曲面進(jìn)行三角網(wǎng)格化處理,得到第一曲面的所有三角形及第ニ曲面的所有三角形; 網(wǎng)格化模塊,還用于將參數(shù)平面等分為ー系列小方格,參數(shù)平面的每個小方格對應(yīng)于空間中與該小方格邊長相等的ー個立方體,該立方體稱作空間小包圍盒; 關(guān)系確定模塊,用于分別確定第一曲面及第ニ曲面的三角形與空間小包圍盒的關(guān)聯(lián)關(guān)系;及 距離計算模塊,用于根據(jù)三角形與空間小包圍盒的關(guān)聯(lián)關(guān)系確定第一曲面及第ニ曲面上距離最近的三角形,計算該兩個最近的三角形之間的距離作為第一曲面的每個三角形到第二曲面的最近距離,取最小的最近距離作為第一曲面與第二曲面之間的最小距離。
      2.如權(quán)利要求1所述的曲面距離計算系統(tǒng),其特征在于,所述網(wǎng)格化模塊對該第一曲面及第ニ曲面進(jìn)行三角網(wǎng)格化處理包括 (al)從存儲設(shè)備中讀取該第一曲面或第二曲面三維模型; (a2)將該三維模型轉(zhuǎn)換為B樣條曲面,得到B樣條曲面在UV參數(shù)平面內(nèi)的封閉邊界線,對該封閉邊界線以U直線和V直線進(jìn)行等分,得到若干個小方格; (a3)將與封閉邊界線無交點(diǎn)的小方格的四個頂點(diǎn)按逆時針順序組成兩個三角形; (a4)對于與封閉邊界線有交點(diǎn)的小方格,將小方格的頂點(diǎn)中落入封閉邊界曲線內(nèi)的頂點(diǎn)、小方格與封閉邊界曲線的交點(diǎn)及封閉邊界線上的邊界點(diǎn)加入2D點(diǎn)組成的隊列Q ; (a5)讀取2D點(diǎn)組成的隊列Q中的第一點(diǎn)pi及與點(diǎn)pi最近的點(diǎn)p2, PU p2組成三角形A的一條邊,三角形第三點(diǎn)p3的查找原則是邊plp2對應(yīng)的內(nèi)角在三角形A的內(nèi)角中最大以及三角形A的外接圓內(nèi)沒有隊列Q中的點(diǎn);及 (a6)根據(jù)上述查找原則在隊列Q中查找其它三角形的頂點(diǎn),得到該第一曲面或第二曲面的所有三角形組成的隊列。
      3.如權(quán)利要求1所述的曲面距離計算系統(tǒng),其特征在于,所述關(guān)系確定模塊確定第一曲面及第ニ曲面的三角形與空間小包圍盒的關(guān)聯(lián)關(guān)系包括 (bl)從第一曲面或第二曲面的三角形隊列中讀取ー個三角形; (b2)確定該三角形的外接球及最大空間包圍盒,該最大空間包圍盒指的是包圍該三角形的外接球的一個長方體; (b3)過濾掉該三角形的最大空間包圍盒之外的所有空間小包圍盒; (b4)計算該外接球球心到該最大空間包圍盒包含的每個空間小包圍盒四個頂點(diǎn)的距離dl,d2,d3,d4,—dl,d2,d3,d4中的最小值大于或等于外接球半徑R,則表明對應(yīng)的空間小包圍盒與該三角形不相交,過濾掉該空間小包圍盒; (b5)判斷是否位于該三角形及該最大空間包圍盒之間的每個空間小包圍盒都與該三角形有交點(diǎn),若位于該三角形及該最大空間包圍盒之間的某個空間小包圍盒與該三角形無交點(diǎn),則過濾掉該空間小包圍盒,若位于該三角形及該最大空間包圍盒之間的某個空間小包圍盒與該三角形有交點(diǎn),則判斷該空間小包圍盒該三角形相交,在該空間小包圍盒中設(shè)置第一標(biāo)志; (b6)在被該三角形包含的空間小包圍盒中設(shè)置第二標(biāo)志;(b7)判斷該曲面的三角形隊列中是否還有三角形未被讀取,若還有三角形未被讀取,則自(bl)開始重復(fù),直到該曲面的所有三角形與所有空間小包圍盒的關(guān)聯(lián)關(guān)系都被確定。
      4.如權(quán)利要求1所述的曲面距離計算系統(tǒng),其特征在于,所述距離計算模塊根據(jù)三角形與空間小包圍盒的關(guān)聯(lián)關(guān)系確定第一曲面及第ニ曲面上距離最近的三角形包括 (Cl)從第一曲面的隊列中讀取ー個三角形t ; (c2)根據(jù)空間小包圍盒中設(shè)置的標(biāo)志判斷該三角形t的外接球包含的空間小包圍盒是否與第二曲面的某個三角形t’相關(guān)聯(lián),若相關(guān)聯(lián),則視該第二曲面的該三角形t’與第一曲面的三角形t距離最近,若無關(guān)聯(lián),則根據(jù)該三角形t與該外接球包含的空間小包圍盒的關(guān)聯(lián)關(guān)系確定ニ角形t的最大包圍盒的頂點(diǎn)的坐標(biāo)值; (c3)以逐次向空間各個方向擴(kuò)展ー層空間小包圍盒的方式更新最大包圍盒的頂點(diǎn)的坐標(biāo)值,直到第二曲面的某個三角形t’被新的最大包圍盒包含,視第二曲面的該三角形t’為與第一曲面的三角形t距離最近 '及 (c4)判斷第一曲面的隊列中是否還有三角形未被讀取,若還有三角形未被讀取,則自(Cl)開始重復(fù),直到確定與第一曲面的每個三角形距離最近的第二曲面上的三角形。
      5.如權(quán)利要求1所述的曲面距離計算系統(tǒng),其特征在于,該系統(tǒng)還包括結(jié)果存儲模塊,用于存儲計算結(jié)果至存儲裝置,該計算結(jié)果包括第一曲面的每個三角形到第二曲面的最近距離,每個最近距離所對應(yīng)的第一曲面上的位置點(diǎn)及第ニ曲面上的位置點(diǎn)的坐標(biāo),以及第一曲面與第二曲面之間的最小距離。
      6.ー種曲面距離計算方法,應(yīng)用于計算裝置,其特征在于,該方法包括 (a)從計算裝置的存儲器讀取需要計算距離的第一曲面及第ニ曲面的參數(shù)方程,分別對該第一曲面及第ニ曲面進(jìn)行三角網(wǎng)格化處理,得到第一曲面的所有三角形及第ニ曲面的所有三角形; (b)將參數(shù)平面等分為ー系列小方格,參數(shù)平面的每個小方格對應(yīng)于空間中與該小方格邊長相等的ー個立方體,該立方體稱作空間小包圍盒; (c)分別確定第一曲面及第ニ曲面的三角形與空間小包圍盒的關(guān)聯(lián)關(guān)系;及 (d)根據(jù)三角形與空間小包圍盒的關(guān)聯(lián)關(guān)系確定第一曲面及第ニ曲面上距離最近的三角形,計算該兩個最近的三角形之間的距離作為第一曲面的每個三角形到第二曲面的最近距離,取最小的最近距離作為第一曲面與第二曲面之間的最小距離。
      7.如權(quán)利要求6所述的曲面距離計算方法,其特征在于,所述步驟(a)包括 (al)從存儲設(shè)備中讀取該第一曲面或第二曲面三維模型; (a2)將該三維模型轉(zhuǎn)換為B樣條曲面,得到B樣條曲面在UV參數(shù)平面內(nèi)的封閉邊界線,對該封閉邊界線以U直線和V直線進(jìn)行等分,得到若干個小方格; (a3)將與封閉邊界線無交點(diǎn)的小方格的四個頂點(diǎn)按逆時針順序組成兩個三角形; (a4)對于與封閉邊界線有交點(diǎn)的小方格,將小方格的頂點(diǎn)中落入封閉邊界曲線內(nèi)的頂點(diǎn)、小方格與封閉邊界曲線的交點(diǎn)及封閉邊界線上的邊界點(diǎn)加入2D點(diǎn)組成的隊列Q ; (a5)讀取2D點(diǎn)組成的隊列Q中的第一點(diǎn)pi及與點(diǎn)pi最近的點(diǎn)p2, PU p2組成三角形A的一條邊,三角形第三點(diǎn)p3的查找原則是邊plp2對應(yīng)的內(nèi)角在三角形A的內(nèi)角中最大以及三角形A的外接圓內(nèi)沒有隊列Q中的點(diǎn) '及 (a6)根據(jù)上述查找原則在隊列Q中查找其它三角形的頂點(diǎn),得到該第一曲面或第二曲面的所有三角形組成的隊列。
      8.如權(quán)利要求6所述的曲面距離計算方法,其特征在于,所述步驟(b)包括 (bl)從第一曲面或第二曲面的三角形隊列中讀取ー個三角形; (b2)確定該三角形的外接球及最大空間包圍盒,該最大空間包圍盒指的是包圍該三角形的外接球的一個長方體; (b3)過濾掉該三角形的最大空間包圍盒之外的所有空間小包圍盒; (b4)計算該外接球球心到該最大空間包圍盒包含的每個空間小包圍盒四個頂點(diǎn)的距離dl,d2,d3,d4,—dl,d2,d3,d4中的最小值大于或等于外接球半徑R,則表明對應(yīng)的空間小包圍盒與該三角形不相交,過濾掉該空間小包圍盒; (b5)判斷是否位于該三角形及該最大空間包圍盒之間的每個空間小包圍盒都與該三角形有交點(diǎn),若位于該三角形及該最大空間包圍盒之間的某個空間小包圍盒與該三角形無交點(diǎn),則過濾掉該空間小包圍盒,若位于該三角形及該最大空間包圍盒之間的某個空間小包圍盒與該三角形有交點(diǎn),則判斷該空間小包圍盒該三角形相交,在該空間小包圍盒中設(shè)置第一標(biāo)志; (b6)在被該三角形包含的空間小包圍盒中設(shè)置第二標(biāo)志; (b7)判斷該曲面的三角形隊列中是否還有三角形未被讀取,若還有三角形未被讀取,則自(bl)開始重復(fù),直到該曲面的所有三角形與所有空間小包圍盒的關(guān)聯(lián)關(guān)系都被確定。
      9.如權(quán)利要求6所述的曲面距離計算方法,其特征在于,所述步驟(c)包括 (Cl)從第一曲面的隊列中讀取ー個三角形t ; (c2)根據(jù)空間小包圍盒中設(shè)置的標(biāo)志判斷該三角形t的外接球包含的空間小包圍盒是否與第二曲面的某個三角形t’相關(guān)聯(lián),若相關(guān)聯(lián),則視該第二曲面的該三角形t’與第一曲面的三角形t距離最近,若無關(guān)聯(lián),則根據(jù)該三角形t與該外接球包含的空間小包圍盒的關(guān)聯(lián)關(guān)系確定ニ角形t的最大包圍盒的頂點(diǎn)的坐標(biāo)值; (c3)以逐次向空間各個方向擴(kuò)展ー層空間小包圍盒的方式更新最大包圍盒的頂點(diǎn)的坐標(biāo)值,直到第二曲面的某個三角形t’被新的最大包圍盒包含,視第二曲面的該三角形t’為與第一曲面的三角形t距離最近 '及 (c4)判斷第一曲面的隊列中是否還有三角形未被讀取,若還有三角形未被讀取,則自(Cl)開始重復(fù),直到確定與第一曲面的每個三角形距離最近的第二曲面上的三角形。
      10.如權(quán)利要求6所述的曲面距離計算方法,其特征在于,該方法還包括 存儲計算結(jié)果至存儲裝置,該計算結(jié)果包括第一曲面的每個三角形到第二曲面的最近距離,每個最近距離所對應(yīng)的第一曲面上的位置點(diǎn)及第ニ曲面上的位置點(diǎn)的坐標(biāo),以及第一曲面與第二曲面之間的最小距離。
      全文摘要
      本發(fā)明提供一種曲面距離計算系統(tǒng),該系統(tǒng)分別對需要計算距離的第一曲面及第二曲面進(jìn)行三角網(wǎng)格化處理,得到第一曲面及第二曲面的所有三角形,并分別確定第一曲面及第二曲面的三角形與空間小包圍盒的關(guān)聯(lián)關(guān)系,再根據(jù)三角形與空間小包圍盒的關(guān)聯(lián)關(guān)系確定第一曲面及第二曲面上距離最近的三角形。之后,該系統(tǒng)計算該兩個最近的三角形之間的距離,以該距離作為第一曲面的每個三角形到第二曲面的最近距離,并取所有最近距離中的最小值作為第一曲面與第二曲面之間的最小距離。本發(fā)明還提供一種曲面距離計算方法。
      文檔編號G06F17/50GK103034743SQ201110293999
      公開日2013年4月10日 申請日期2011年9月30日 優(yōu)先權(quán)日2011年9月30日
      發(fā)明者張旨光, 吳新元, 王敏 申請人:鴻富錦精密工業(yè)(深圳)有限公司, 鴻海精密工業(yè)股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1