TW200823803A - Method for constructing triangular grids of point clouds - Google Patents

Method for constructing triangular grids of point clouds Download PDF

Info

Publication number
TW200823803A
TW200823803A TW95143804A TW95143804A TW200823803A TW 200823803 A TW200823803 A TW 200823803A TW 95143804 A TW95143804 A TW 95143804A TW 95143804 A TW95143804 A TW 95143804A TW 200823803 A TW200823803 A TW 200823803A
Authority
TW
Taiwan
Prior art keywords
point
triangle
point cloud
points
constructing
Prior art date
Application number
TW95143804A
Other languages
Chinese (zh)
Other versions
TWI406189B (en
Inventor
Chih-Kuang Chang
Xin-Yuan Wu
Original Assignee
Hon Hai Prec Ind Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hon Hai Prec Ind Co Ltd filed Critical Hon Hai Prec Ind Co Ltd
Priority to TW95143804A priority Critical patent/TWI406189B/en
Publication of TW200823803A publication Critical patent/TW200823803A/en
Application granted granted Critical
Publication of TWI406189B publication Critical patent/TWI406189B/en

Links

Landscapes

  • Image Generation (AREA)

Abstract

The present invention provides a method for constructing triangular grids of point clouds. The method includes: inputting data of point clouds; calculating bounding box of the point clouds according to the three-dimensional coordinates of the points, grouping the bounding box and putting ID of each point into corresponding group; obtaining points which haven't constructed triangles with other points as point one; calculating groups surrounding the point one, and obtaining points nearest to point one as point two from the groups; calculating midpoint of point one and point two, calculating groups surrounding the midpoint, and constructing triangles by using the points from the groups; and outputting triangular grids of the point clouds.

Description

200823803 九、發明說明: 【發明所屬之技術領域】 本發明涉及-種點雲三角網格面構建方法。 【先前技術】 近年來,隨著電腦硬體性能的提高及價格的降低,其 在掃描系統(請參考圖υ中被大量的引入。做法一般是 使用點雲獲取裝置獲取物體的勢泰r (即由多個三維離散點 組成的點的集合),而後將點雲資料登錄電腦,執行相應軟 ♦體對點雲資料進行各種處理’比如電腦輔助驗證(computer Aided Verification ’ CAY )、逆向工程(Reverse 此#継, RE)、有限元網格自動生成、電腦圖形處理及模式識別(如 人臉的識別)等。 構建點雲網格面是上述各種處理所需要使用的重要 技術之一,也疋上述各種處理所需要解決的一個關鍵問 題。點雲網格一般有二角形、四邊形及多邊形等多種形狀, 修其中又以三角形最逼近實際的物體。 現有的構建點雲二角網格面的技術中,以Delaunay演 算法最為著名。所述Delaunay演算法的特點是:所構建的 三角網格面中的三角形都儘量接近等邊三角形。雖然使用 Delaunay演算法所獲得的三角網格比較規則,但需要大量 的計算,因而速度缓慢。 鑒於以上情況,需要一種點雲三角網格面構建方法, 能夠快速方便地對雜亂的點雲進行三角網格面構建,從而 得到一組沒有重疊,且沒有破面的三維三角形網格面。 6 200823803 【發明内容】 方法容’有必要提供-種點雲三角網格面構建 方法,·其可快速方便地完成點雲三角網格面的構建。構建 • -種點雲三角網格面構建方法,該方法包 + 驟:(a)輸入獲取的點雲資料及網格面公差 / !資料中:的三維座標計算得到上述點雲的包圍盒二: I該包圍盒進行分組,並將點雲資料 ,分組⑹獲取點雲中尚未 的的=並獲取距?一點最近的點作 點办門四、付到弟一點和第二點的中點,並得到該中 :占工間四週的分組,判斷所述分組中的點,及構建符 二的二:形;及⑴對於點雲中的每一點迴圈步驟二步 角:格面至構建出所有符合條件的三角形,及輪出點雲三 利用本發明,可以快速方便地完成點雲三角網格面的 冓建’從而得到-組沒有重疊,且沒有破面的三維 、周格面,極大地提高了速度,並減少了誤差的產生。 【實施方式】 〜本具體實施例以單塊點雲的三角網格面構建為例進 行δ兄明。 參閱圖2所示,是本發明點雲三角網格面構建方法 佳實施例的作業流程圖。 乂驟S301 ’輸入點雲獲取裝置所獲取的點雲資料·而 7 200823803 後輸入用戶自定義的網格面公差(用fTo表示)。其中,所 述點雲資料包括點的三維座標、點的標識及點雲總數(用 nCountl表示),所述網格面公差為組成點雲三角網格面的 三角形的最大邊長。 步驟S302,根據上述輸入的點雲資料中點的三維座 標,計算得到所述點雲的包圍盒;並對該包圍盒進行分組。 而後根據點的三維座標,將點雲資料中每個點的標識填入 到上述相應的分組(具體步驟將在圖3中詳細描述)。 • 步驟S303,判斷所述點雲中的任一點是否可以作為三 角形的第一點:若該點尚未與點雲中的其他點組成三角 形,則獲取該點,並作為三角形的第一點ptl ;否則,繼 續判斷所述點雲中的下一點。 步驟S304,根據第一點ptl所在的分組,求取該ptl 空間四週的分組;獲取所述分組内所有不是ptl的點;分 別計算得到上述獲取的點與ptl的距離;根據上述得到的 距離,獲取距ptl最近的點並作為三角形的第二點pt2(具 ^ 體步驟將在圖4中詳細描述)。 步驟S305,計算得到第一點ptl與第二點pt2的中點 s3,根據該s3所在的分組’求取該s3空間四週的分組, 按照一定的順序排列所述分組中的點;隨後依序進行擬合 圓判斷、鈍角判斷及外接球判斷;最後構建符合條件的三 角形(具體步驟將在圖5中詳細描述)。 步驟S306,重複步驟S303到步驟S305 :迴圈判斷點 雲中的每一點,直至構建出所有符合條件的三角形。最後 200823803 輸出由完成構建的三角形所組成的點雲三角網格面。 參閱圖3所示,是圖2中步驟S302將點雲放入分組 的具體流程圖。 步驟S401,因輸入的點雲資料為多個離散點的三維座 標,故可以透過比較該點雲資料中所有點的三維座標的方 式’求付該點雲中的隶小區域點ptMin的三維座標 (ptMin[0],ptMin[l],ptMin[2])及最大區域點 ptMax 的 三維座標(ptMax[0],ptMax[l],ptMax[2]),進而可以得 馨到由(PtMin[0],ptMin[l],ptMin[2] )、( ptMin[〇],ptMin[1], ptMaxl[2])、(ptMin[0],ptMax[l],ptMinl[2])、(ptMin[〇], ptMax[l],ptMax[2])、(ptMax[0],ptMax[l],ptMax[2])、 (ptMax[0],ptMax[l],ptMin[2] )、( ptMax[0],ptMin[l], ptMax[2])、(ptMax[0],ptMin[l],ptMin[2])組成的所述 點雲的包圍盒。 步驟S402,對所述點雲的包圍盒進行分組,並得到分 組後每個單元小正方體的邊長fBox。具體而言,利用該網 格面公差fTo及點雲總數nCountl,計算得到分組後每個 單元小 正方體 的邊長 fB〇X= V( (ptMax[0]- piMin[0]+ fTo) * (ptMax[l]~ ptMin[l]+ fTo) * (ptMax[2]- ptMin[2]+ fTo) ) /nCountl 。利用該正方體的邊長fBox,分別計算該點雲的包圍盒在 X軸、丫轴、2轴方向的分組數目11〇又=(011^&1[〇]_91]^11[〇]) /fBox,nGY= ( ptMax[l]-ptMin[l] ) /fBox,nGZ= (ptMax[2]-ptMin[2] ) /fBox,進而求得組間距:fStepX= (ptMax[0]-ptMin[0] )/nGX,fStepY=( ptMax[l]-ptMinB[l]) 9 200823803 /nGY,fStepZ= (ptMax[2]-ptMinB[2]) /nGZ。 步驟S403,根據點雲資料中點的三維座標,將點雲資 料中每個點的標識填入到上述相應的分組。例如,根據點 ptl的三維座標(ptl[〇]、pti[i]、pti[2]),可以確定其在χ 轴、Υ轴、Ζ轴方向的分組ηχ、ηγ、ηζ,從而確定其位 於點雲區域的第(ηΧ、ηΥ、ηΖ)分組内,並將其標識填入 該分組,其中 nX=(pU[0]-ptMin[0])/fStepX,nY=(ptl[l]-ptMin[l]) /fStepY,nZ= (ptl[2]-ptMin[2]) /fStepZ。 • 以下以一個三角形的構建為例進行說明。 參閱圖4所示,是圖2中步驟S304獲取三角形的第 二點的具體流程圖。 步驟S501,根據第一點ptl所在的分組(nX、nY、nZ), 迴圈求取該ptl空間四週iBoxIndex個步長的分組··即該 第(nX、nY、nZ )組的X方向前面第iBoxIndex組:nFX, X方向後面第iBoxIndex組:nPX,Y方向前面第iBoxIndex 組:nFY,Y方向後面第iBoxIndex組·· nPY,Z方向前面 •第 iBoxIndex 組·· nFZ,Ζ 方向後面第 iBoxIndex 組·· ηΡΖ。 其中,iBoxIndex從1迴圈至fTo/fBox ; nFX的計算過程如 下:若 ηΧ<0,貝,j nFX=0 ’ 否則 nFX=nX-iBoxIndex,nFY, nFZ求取方法與nFX相同;nPX的計算過程如下:若 nX<nGX,則 nPX^nX+iBoxhdex ’ 否則 nPXaGX,1,nPY, ηΡΖ的求取方法與nPX相同。 步驟S503,利斷所述分組内的點是否可以作為三角形 的第二點:若所述分組内的點不是第一點ptl,則獲取該 200823803 步驟S504,分別計算得到上述獲取的點與第一點ptl 的距離。例如,如果獲取的點為pt2,(pt2’[0]、pt2’[l]、 pt2,[2]),做下列計算:fX=pt2,[0]-ptl[0]、 fY=pt2,[l]:ptl[l]、fZ=pt2’[2]-ptl[2],最後計算得到該 Pt2’ 點與所述第一點 ptl 的距離:fdisl=fX*fX+fY*fY+fZ*fZ。 步驟S505,根據上述得到的距離,獲取距ptl最近的 點並作為三角形的第二點pt2。 • 參閱圖5所示,是圖2中步驟S305構建三角形的具 體流程圖。 步驟S601,計算得到第一點ptl與第二點卩〖2的中點 s3 〇 步驟S602,根據該s3所在的分組,迴圈求取該S3空 間四週iBoxIndex個步長的分組(可參考步驟S501)。 步驟S603,按照一定的順序排列所述分組中的點。具 體而言,以所述分組中的點為起始點,分別做一條經過ptl 的射線、一條經過pt2的射線,進而得到兩條射線的夹角, 並按照該夾角的降冪排列所述分組中的點。換句話說,假 設上述分組中的點為pt3’,即按照角ptlpt3’pt2的大小對 pt3’排序。 步驟S604,依序進行擬合圓判斷。具體而言,先應用 數學法則如最小二乘法,將所述分組中的點按照上述排序 依次與第一點ptl和第二點?12擬合成面,再應用數學法 則如最小二乘法,將上述三點擬合成圓。隨後判斷該圓的 11 200823803 直徑是否大於網格面公差fTo :若該圓的直徑大於价,則 說明該料符合㈣,料_τ-點;侧,進入步驟 S605 〇· …t驟謹,依序進㈣角判斷。以點阳,為待判斷點 進灯5兄明’百先判斷三角形卿2阳,的 、 ptW、ptlpt3,是否已與點雲中的其他 邊ptlpt2、邊Pt2Pt3,、邊, 取一月办右 ^ ^ Ptlpt3均尚未與點雲中的其他點 步驟S_ ;否則,接著判斷上述已和 點雲中的其他點組成的:s 以m上這已矛 三角形之間的夹角是否:=二〜,組成的 經和點雲中的點P組成了 =例如,現假設邊卿2已 要判斷三角形ρ_2續;;角形(請參考圖7) ’那麼就需 為純角。若上述已和夺带开/ptlpt2pt3之間的夾角是否 抑、抑、阳,組成的^/的其他點組成的三角形與點 s·否則,說明C角均為鈍角’則進入步驟 步驟S606,依序壤^合條件’依序判斷下一點。 點pt3,為待判斷點進行〜接球判斷並構建三角形。仍以 合-個經過第-點ptl、= ’在上述擬合圓的基礎上,擬 該球為子午球(該擬合圓^ Pt2和Pt3’的外接球:其中’ 心即為該圓的圓心,讀球’至過該外接球的直徑)’該球的球 對該外接球進行判斷,卩為該®的半彳纟Cr。然後 體步驟將在圖6中詳一述^該點Pt3’是否符合條件(具 參閱圖6所示,是网 並構建三角形的詳細&=中步驟漏進行外接球判斷 王圖(以點pt3’為待判斷點進行說 12 200823803 明)。 7驟S706 ’根據上述球心所在的分組,迴圈求取該球 心空間四週iBoxIndex個步長的分組,其中,iB〇xIn 1迴圈至0^.5/fBox (可參考步驟S5〇1);分別計算得到 上述分組中的點與球心的距離fdisl (可參考步驟%); 根據球的半径Cr及點與球心的距離,判斷上述外接 球内是否有點。 若fdisl>Cr,則說明該外接球内沒有點,進入步驟 ^ S707 :獲取該pt3,,並作為三角形的第三點pt3,然後構 建符合條件的三角形ptipt2pt3。 否則,況明該外接球内有點,進入步驟S7〇8:判斷該 外接球内是否只有一個點。若該外接球内有不止一個點, 則說明該pt3’不符合條件,對點pt3,的判斷結束,依序對 排序中的下一點進行外接球判斷。 若該外接球内只有一個點(用Pi表示,請參考圖8), φ則進入步驟S709,連接plpt3,* plpU形成四邊形 PlPtlpt2pt3’(請參考圖9),而後連接卩冲^形成對角線, 即把所述四邊形分成兩個三角形:三角形咖如3,和三角 形plpt2ptl (請參考圖1〇)。 步驟S710,判斷上述三角形plpt2pt3,和三角形 plpt2ptl是否符合條件。具體而言,先分別擬合上述三角 形plpt2pt3’和二角形plpt2ptl的外接球,再分別對所述兩 個三角形進行外接球判斷(請參考步驟S606);而後對上 述兩個三角形進行鈍角判斷(請參考步驟S605)。 13 200823803 在步驟S710中,若三角形plpt2pt3,和三角形 均符合條件,則進入步驟S711,構建上述符合條件的兩個 三角形;否則’說明該pt3,不符合條件,對點⑽,的判斷 結束’依序對排序中的下1進行外接球判斷。 ,明職供的點㈣格㈣建方法 :Γ=大地減少了計算量。因此對於批量點雲的網 =快自動進行’使用方便,速度 以上所述僅為本發明之較佳實施例而已,且已達廣泛 之使用功效,凡其他未轉本發明所揭示之精神下所完成 之均等變化或修飾,均應包含在下述之中請專利範圍内。 【圖式簡單說明】 圖1是掃描系統的組成圖。 圖2疋本發明點雲二角網格面構建方法較佳實施例的 作業流程圖。 圖3疋圖2中步驟S302將點雲放入分組的具體流程 圖。 圖4疋圖2中步驟S304得到三角形的第二點的具體 流程圖。 圖5是圖2中步驟S305構建三角形的具體流程圖。 圖6是圖5中步驟S606進行外接球判斷並構建三角 形的詳細流程圖。 圖7是現有三角形ptlpt2p與待判斷點pt3,和第一點 ptl第二點pt2組成的三角形pUpt2pt3,的示意圖。 200823803 圖8是所述pt3’ ptl pt2的外接球内只有一個點pi的 不意圖。 圖9是連接pi pt3’和pi ptl形成四邊形plptlpt2pt3’ 的示意圖。 圖10是連接所述四邊形plptlpt2pt3’的點plpt2形成 對角線的示意圖。 【主要元件符號說明】200823803 IX. Description of the Invention: [Technical Field] The present invention relates to a method for constructing a point cloud triangular mesh surface. [Prior Art] In recent years, with the improvement of computer hardware performance and price reduction, it has been introduced in the scanning system (please refer to Figure 大量 for a large number of introductions. The practice is generally to use the point cloud acquisition device to obtain the object's potential r ( That is, a collection of points consisting of a plurality of three-dimensional discrete points, and then the point cloud data is registered on the computer, and the corresponding soft-to-point cloud data is subjected to various processing, such as computer Aided Verification (CAY), reverse engineering ( Reverse #継, RE), automatic generation of finite element mesh, computer graphics processing and pattern recognition (such as face recognition), etc. Building a point cloud mesh surface is one of the important technologies required for the above various processes. A key problem that needs to be solved in the above various processes. The point cloud grid generally has a variety of shapes such as a quadrangle, a quadrangle, and a polygon, and the triangle is most approximated to the actual object. The existing construction of the point cloud two-dimensional mesh surface In the technology, the Delaunay algorithm is most famous. The Delaunay algorithm is characterized by: the triangle in the triangle mesh surface constructed. As close as possible to the equilateral triangle. Although the triangle mesh comparison rule obtained by the Delaunay algorithm is used, it requires a lot of calculations and is slow. In view of the above situation, a point cloud triangle mesh surface construction method is needed, which can be quickly and conveniently The chaotic point cloud is constructed with a triangular mesh surface to obtain a set of three-dimensional triangular mesh faces that do not overlap and have no broken faces. 6 200823803 [Invention content] It is necessary to provide a kind of point cloud triangle mesh surface construction The method can quickly and conveniently complete the construction of the point cloud triangle mesh surface. Build a - point cloud triangle mesh surface construction method, the method package + step: (a) input the acquired point cloud data and mesh surface Tolerance / ! Data: The three-dimensional coordinates are calculated to obtain the bounding box of the above point cloud two: I the bounding box is grouped, and the point cloud data is grouped (6) to obtain the not yet in the point cloud = and get the closest point Do the door four, pay the younger point and the midpoint of the second point, and get the middle: the group around the work room, judge the point in the group, and the second of the constructor 2: And (1) for each point in the point cloud, the second step of the loop step: the grid to the construction of all the eligible triangles, and the round point cloud three. With the invention, the point cloud triangle mesh surface can be quickly and conveniently completed.冓 ' 从而 从而 从而 从而 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组 组The mesh surface construction is taken as an example for the δ brother. As shown in Fig. 2, it is a flow chart of the preferred embodiment of the point cloud triangular mesh surface construction method of the present invention. Step S301 'Enter the point cloud acquired by the point cloud acquisition device Data · and 7 200823803 Enter the user-defined mesh face tolerance (indicated by fTo). The point cloud data includes a three-dimensional coordinate of a point, a point identifier, and a total number of point clouds (indicated by nCountl), and the mesh surface tolerance is a maximum side length of a triangle constituting a point cloud triangle mesh surface. Step S302, calculating a bounding box of the point cloud according to the three-dimensional coordinates of the point in the input point cloud data; and grouping the bounding box. The identifier of each point in the point cloud data is then populated into the corresponding grouping according to the three-dimensional coordinates of the point (the specific steps will be described in detail in FIG. 3). • Step S303, determining whether any point in the point cloud can be the first point of the triangle: if the point has not formed a triangle with other points in the point cloud, the point is acquired, and is the first point ptl of the triangle; Otherwise, continue to judge the next point in the point cloud. Step S304, obtaining a packet around the ptl space according to the group where the first point pt1 is located; acquiring all points in the packet that are not ptl; respectively calculating a distance between the acquired point and ptl; according to the distance obtained above, The point closest to ptl is obtained and used as the second point pt2 of the triangle (the step of the body will be described in detail in Fig. 4). Step S305, calculating a midpoint s3 of the first point pt1 and the second point pt2, and determining a group of the group around the s3 space according to the group s where the s3 is located, and arranging the points in the group according to a certain order; The fit circle judgment, the obtuse angle judgment, and the circumscribed ball judgment are performed; finally, the conditional triangle is constructed (the specific steps will be described in detail in FIG. 5). In step S306, steps S303 through S305 are repeated: looping through each point in the point cloud until all eligible triangles are constructed. Finally, 200823803 outputs a point cloud triangle mesh surface consisting of triangles that have been constructed. Referring to FIG. 3, it is a specific flow chart of placing the point cloud into the group in step S302 in FIG. Step S401, because the input point cloud data is a three-dimensional coordinate of a plurality of discrete points, the three-dimensional coordinates of the small area point ptMin in the point cloud can be obtained by comparing the three-dimensional coordinates of all points in the point cloud data. (ptMin[0], ptMin[l], ptMin[2]) and the three-dimensional coordinates of the maximum region point ptMax (ptMax[0], ptMax[l], ptMax[2]), which in turn can be obtained from (PtMin[ 0], ptMin[l], ptMin[2]), (ptMin[〇], ptMin[1], ptMaxl[2]), (ptMin[0], ptMax[l], ptMinl[2]), (ptMin) [〇], ptMax[l], ptMax[2]), (ptMax[0], ptMax[l], ptMax[2]), (ptMax[0], ptMax[l], ptMin[2] ), ( A bounding box of the point cloud composed of ptMax[0], ptMin[l], ptMax[2], (ptMax[0], ptMin[l], ptMin[2]). Step S402, grouping the bounding boxes of the point cloud, and obtaining the side length fBox of each unit small cube after grouping. Specifically, using the mesh surface tolerance fTo and the total number of point clouds nCountl, the side length fB〇X=V of each unit small cube after grouping is calculated ((ptMax[0]− piMin[0]+fTo)* ( ptMax[l]~ ptMin[l]+ fTo) * (ptMax[2]- ptMin[2]+ fTo) ) /nCountl . Using the side length fBox of the cube, the number of groups of the bounding box of the point cloud in the X-axis, the 丫-axis, and the 2-axis direction is calculated as 11 〇 = (011^&1[〇]_91]^11[〇]) /fBox,nGY= ( ptMax[l]-ptMin[l] ) /fBox,nGZ= (ptMax[2]-ptMin[2] ) /fBox, and then find the group spacing: fStepX= (ptMax[0]-ptMin [0] ) / nGX, fStepY = ( ptMax [l] - ptMinB [l]) 9 200823803 / nGY, fStepZ = (ptMax [2] - ptMinB [2]) / nGZ. Step S403, filling the identifier of each point in the point cloud data into the corresponding group according to the three-dimensional coordinates of the point in the point cloud data. For example, according to the three-dimensional coordinates of the point ptl (ptl[〇], pti[i], pti[2]), the groupings ηχ, ηγ, ηζ in the χ axis, the Υ axis, and the Ζ axis direction can be determined, thereby determining that they are located. In the (nΧ, ηΥ, ηΖ) group of the point cloud region, fill in the identifier into the group, where nX=(pU[0]-ptMin[0])/fStepX,nY=(ptl[l]-ptMin [l]) /fStepY,nZ= (ptl[2]-ptMin[2]) /fStepZ. • The following is an example of a triangle construction. Referring to Fig. 4, it is a specific flow chart for obtaining the second point of the triangle in step S304 in Fig. 2. Step S501, according to the group (nX, nY, nZ) where the first point pt1 is located, the circle is obtained by taking the group of iBoxIndex steps around the ptl space, that is, the X direction of the (nX, nY, nZ) group. iBoxIndex group: nFX, the iBoxIndex group after the X direction: nPX, the i-head index in the Y direction: nFY, the i-boxIndex group in the Y direction, the n-th front, the Z-direction front, the i-iBoxIndex group, the nFZ, the i-box index behind the iBoxIndex Group·· ηΡΖ. Among them, iBoxIndex is from 1 loop to fTo/fBox; the calculation process of nFX is as follows: If ηΧ<0, Bay, j nFX=0 ' Otherwise nFX=nX-iBoxIndex, nFY, nFZ is the same as nFX; nPX calculation The process is as follows: If nX < nGX, then nPX^nX+iBoxhdex ' Otherwise nPXaGX, 1, nPY, ηΡΖ is the same as nPX. Step S503, determining whether the point in the group can be the second point of the triangle: if the point in the group is not the first point ptl, acquiring the 200823803 step S504, respectively calculating the obtained point and the first point Point the distance of ptl. For example, if the acquired point is pt2, (pt2'[0], pt2'[l], pt2, [2]), do the following calculations: fX=pt2, [0]-ptl[0], fY=pt2, [l]: ptl[l], fZ=pt2'[2]-ptl[2], and finally calculate the distance between the Pt2' point and the first point ptl: fdisl=fX*fX+fY*fY+fZ *fZ. In step S505, according to the distance obtained above, the point closest to ptl is acquired and used as the second point pt2 of the triangle. • Referring to Fig. 5, it is a specific flow chart for constructing a triangle in step S305 in Fig. 2. In step S601, the first point pt1 and the second point 卩2 of the second point 卩2 are calculated, step S602, and according to the group where the s3 is located, the group of iBoxIndex steps around the S3 space is obtained by loopback (refer to step S501). ). In step S603, the points in the group are arranged in a certain order. Specifically, taking a point in the group as a starting point, respectively, making a ray passing through ptl and a ray passing through pt2, thereby obtaining an angle between two rays, and arranging the group according to the power of the angle The point in the middle. In other words, it is assumed that the point in the above packet is pt3', i.e., pt3' is sorted according to the size of the angle ptlpt3'pt2. In step S604, the fitting circle judgment is sequentially performed. Specifically, first applying a mathematical rule such as a least squares method, the points in the group are sequentially sorted according to the above order with the first point ptl and the second point? 12 fit into the surface, and then apply the mathematical method, such as the least squares method, to fit the above three points into a circle. Then determine whether the diameter of the 11 200823803 of the circle is greater than the mesh surface tolerance fTo: if the diameter of the circle is greater than the price, it means that the material meets (4), the material _τ-point; the side, proceeds to step S605 〇·...t Preface (four) angle judgment. To point the yang, for the point to be judged into the light 5 brother Ming '100 first judge triangle Qing 2 Yang, ptW, pptp3, whether it has been with the other side of the point cloud pptpt2, side Pt2Pt3, side, take a month to do right ^ ^ Ptlpt3 has not yet been step S_ with other points in the point cloud; otherwise, it is then judged whether the above is composed of other points in the point cloud: s with the angle between the spear triangles on m: = two ~, The composition of the warp and the point P in the point cloud is composed = for example, it is assumed that the edge 2 has to judge the triangle ρ_2 continued; the angle (refer to Figure 7) 'then it needs to be a pure angle. If the angle between the above and the band-open/ptptt2pt3 is suppressed, suppressed, or yang, the triangle consisting of other points of the composition ^/ and the point s otherwise, indicating that the C angle is an obtuse angle, then proceeds to step S606, The order conditions are combined to determine the next point. Point pt3, judge the point to be judged and construct a triangle. Still based on the first-point ptl, = ' on the above-mentioned fitted circle, the ball is intended to be a meridian (the fitting sphere ^ Pt2 and Pt3' of the circumscribed ball: where the heart is the circle Center, read the ball 'to the diameter of the circumscribed ball'.] The ball of the ball judges the circumscribing ball and turns it into the semi-彳纟Cr of the ®. Then the body step will be described in detail in Fig. 6 whether the point Pt3' meets the condition (see Figure 6 for the details of the net and constructing the triangle &= step in the leaking of the external ball to determine the king figure (at point pt3) 'To say the point to be judged 12 200823803 明). 7Step S706 'According to the grouping of the above-mentioned center of the ball, the circle finds the group of iBoxIndex steps around the center of the sphere, where iB〇xIn 1 loops to 0 ^.5/fBox (refer to step S5〇1); respectively calculate the distance fdisl between the point and the center of the ball in the above group (refer to step %); judge the above according to the radius of the ball Cr and the distance between the point and the center of the ball If there is a little inside the external ball. If fdisl>Cr, there is no point in the external ball, go to step ^S707: Get the pt3, and as the third point pt3 of the triangle, and then construct the qualified triangle ptipt2pt3. Otherwise, If there is a little inside the external ball, proceed to step S7〇8: to determine whether there is only one point in the external ball. If there is more than one point in the external ball, it means that the pt3' does not meet the condition, and the judgment of the point pt3 ends. Sequentially the next in the sort If there is only one point in the external ball (represented by Pi, please refer to Figure 8), φ proceeds to step S709, and plpt3 is connected, *plpU forms a quadrilateral PlPtlpt2pt3' (please refer to Figure 9), and then the connection is buffered. ^ forming a diagonal line, that is, dividing the quadrilateral into two triangles: a triangle coffee such as 3, and a triangle plpt2ptl (please refer to FIG. 1A). In step S710, it is judged whether the above-mentioned triangle plpt2pt3, and the triangle plpt2ptl meet the condition. First, respectively, the circumscribed spheres of the above triangle plpt2pt3' and the binary plpt2ptl are respectively fitted, and then the circumscribing balls are respectively judged for the two triangles (refer to step S606); then the obtuse angle judgment is performed on the two triangles (refer to step S605). 13 200823803 In step S710, if the triangle plpt2pt3, and the triangle both meet the condition, proceed to step S711 to construct the above two triangles that meet the condition; otherwise, 'the pt3 is described, the condition is not met, and the judgment of the point (10) ends. 'Sequentially, the next ball in the sorting is judged by the external ball. The point of the job (four) grid (four) construction method: Γ = the earth is reduced Therefore, for the batch point cloud network = fast automatic 'use is convenient, the speed above is only the preferred embodiment of the present invention, and has reached a wide range of use effects, and other not disclosed in the present invention The equal changes or modifications made under the spirit shall be included in the scope of the following patents. [Simplified description of the drawings] Figure 1 is a composition diagram of the scanning system. Figure 2: Construction of the point cloud two-dimensional mesh surface of the present invention Method of operation of the preferred embodiment of the method. Figure 3 is a specific flow diagram of step S302 of placing a point cloud into a packet. Figure 4 is a flow chart showing the second point of the triangle in step S304 in Figure 2. FIG. 5 is a specific flowchart of constructing a triangle in step S305 of FIG. 2. Fig. 6 is a detailed flow chart for performing the circumscribing ball judgment and constructing a triangle in step S606 of Fig. 5. Fig. 7 is a schematic diagram of a triangle pUpt2pt3 composed of a conventional triangle pptp2p and a point to be judged pt3, and a second point pt2 of the first point ptl. 200823803 Figure 8 is a schematic view of the pt3' ptl pt2 with only one point pi in the circumscribed ball. Fig. 9 is a schematic diagram showing the connection of pi pt3' and pi ptl to form a quadrilateral plptlpt2pt3'. Fig. 10 is a schematic view showing a diagonal line formed by a point plpt2 connecting the quadrilateral plptlpt2pt3'. [Main component symbol description]

1515

Claims (1)

200823803 十、申請專利範圍 1· 一種點雲三角網格面構建方法,該方法包括如下步驟: a. 在電腦中輸入措由點雲獲取裝置獲取的點雲貢料及網 格面公差; b. 根據點雲資料中點的三維座標計算得到所述點雲的包 圍盒,而後對該包圍盒進行分組並將點雲資料中每個點 的標識填入到相應的分組, c. 獲取點雲中尚未與其他點組成三角形的任一點,作為 | 三角形的第一點; d. 求取第一點空間四週的分組,並從該分組中獲取距第 一點最近的點作為三角形的第二點; e·得到第一點和第二點的中點,並求取該中點空間四週 的分組,利用所述分組中的點構建符合條件的三角形; 及 f.對於點雲中的每一點迴圈步驟c到步驟e,直至構建出 所有符合條件的三角形,及輸出點雲三角網格面。 ⑩ 2.如申請專利範圍第1項所述之點雲三角網格面構建方 法,其中,所述點雲資料包括點的三維座標、點的標識 及點雲總數。 3.如申請專利範圍第2項所述之點雲三角網格面構建方. 法,其中,所述步驟計算得到所述點雲的包圍盒,對該 包圍盒進行分組並將點雲資料中每個點的標識填入到相 應的分組,包括如下步驟: 根據點雲中點的三維座標,得到點雲的包圍盒; 16 200823803 根據點雲總數及網格面公差,對所述點雲的包圍盒進行 分組; 根據點雲資料中點的三維座標,將點雲資料中每個點的 標識填入到相應的分組。 4·如申請專利範圍第1項所述之點雲三角網格面構建方 法,其中,所述步驟獲取三角形的第二點包括如下步驟: 根據三角形的第一點,求取第一點空間四週的分組; 獲取所述分組内所有不是第一點的點; 得到上述點與所述第一點的距離;及 獲取距所述第一點最近的點作為三角形的第二點。 5. 如申請專利範圍第1項所述之點雲三角網格面構建方 法,其中,所述步驟利用所述分組中的點構建符合條件 的三角形,包括如下步驟·· 將所述分組中的點排序; 將所述分組中的點依序與第一點及第二點擬合成圓,並 利用該圓判斷所述分組中的點是否符合條件一; 將符合條件一的點依序與第一點及第二點組成三角形, 並進行鈍角判斷以確定所述符合條件一的點是否符合條 件二; 將符合條件二的點依序與第一點及第二點擬合外接球並 進行外接球判斷。 6. 如申請專利範圍第5項所述之點雲三角網格面構建方 法,其中,所述條件一指:所述圓的直徑大於網格面公 差。 17 200823803 7. 如申請專利範圍第5項所述之點雲三角網格面構建方 法2其中,所述條件二指:上述三角形的邊均尚未與點 雲中的其他點組成三角形,或上述三角形的邊與點雲中 的其他點組成的三角形和上述三角形之間的夾角為鈍 角。 8. 如申請專利範圍第5項所述之點雲三角網格面構建方 法,其中,所述步驟進行外接球判斷,包括如下步驟: 判斷所述外接球内是否有點; 若所述外接球内有點,則判斷該外接球内是否只有一點; 若該外接球内只有一點,則得到兩個三角形; 判斷上述兩個三角形是否透過外接球判斷和符合條件 — · , 若上述兩個三角形透過外接球判斷和符合條件二,則構 建符合條件的兩個三角形。 9. 如申請專利範圍第8項所述之點雲三角網格面構建方 法,該方法還包括步驟: 若所述外接球内沒有點,則獲取該點作為第三點,並構 建符合條件的三角形。 10. 如申請專利範圍第8項所述之點雲三角網格面構建方 法,該方法還包括步驟: 若所述外接球内有不止一點,則對該點的判斷結束,將 所述符合條件二的點中的下一點與第一點及第二點擬合 外接球並進行外接球判斷; 若上述兩個三角形不符合條件,則對該點的判斷結束, 18 200823803 將所述符合條件二的點中的下一點與第一點及第二點擬 合外接球並進行外接球判斷。 _ 19200823803 X. Patent application scope 1. A method for constructing a point cloud triangular mesh surface, the method comprising the following steps: a. inputting a point cloud tribute and a mesh surface tolerance obtained by a point cloud acquiring device in a computer; b. The three-dimensional coordinates of the point in the point cloud data are calculated to obtain the bounding box of the point cloud, and then the bounding box is grouped and the identifier of each point in the point cloud data is filled into the corresponding group, c. Any point that forms a triangle with other points, as the first point of the | triangle; d. Finds the group around the first point space, and obtains the point closest to the first point from the group as the second point of the triangle; Obtaining a midpoint of the first point and the second point, and obtaining a grouping around the midpoint space, constructing a conditional triangle using the points in the grouping; and f. looping steps for each point in the point cloud c to step e until all eligible triangles are constructed, and the point cloud triangle mesh faces are output. The method of constructing a point cloud triangle mesh surface according to claim 1, wherein the point cloud data includes a three-dimensional coordinate of a point, a point identifier, and a total number of point clouds. 3. The method according to claim 2, wherein the step of calculating a bounding box of the point cloud, grouping the bounding boxes and locating the point cloud data The identification of each point is filled into the corresponding grouping, including the following steps: According to the three-dimensional coordinates of the point in the point cloud, the bounding box of the point cloud is obtained; 16 200823803 According to the total number of point clouds and the tolerance of the grid surface, the point cloud The bounding box is grouped; according to the three-dimensional coordinates of the point in the point cloud data, the identifier of each point in the point cloud data is filled into the corresponding group. 4. The method for constructing a point cloud triangular mesh surface according to claim 1, wherein the step of acquiring the second point of the triangle comprises the following steps: according to the first point of the triangle, obtaining the first point space a grouping; obtaining all points in the group that are not the first point; obtaining a distance of the point from the first point; and acquiring a point closest to the first point as a second point of the triangle. 5. The method according to claim 1, wherein the step constructs a conditional triangle by using points in the group, comprising the following steps: Point sorting; the points in the group are sequentially matched with the first point and the second point into a circle, and the circle is used to determine whether the points in the group meet the condition one; the points that meet the condition one are sequentially and One point and the second point form a triangle, and an obtuse angle is judged to determine whether the point corresponding to the condition one meets the condition two; the point that meets the condition two is sequentially matched with the first point and the second point to the external ball and is externally connected Ball judgment. 6. The method of constructing a point cloud triangular mesh surface according to claim 5, wherein the condition one refers to: the diameter of the circle is larger than the mesh surface tolerance. 17 200823803 7. The method for constructing a point cloud triangular mesh surface according to claim 5, wherein the condition two fingers: the sides of the triangle are not yet combined with other points in the point cloud, or the triangle The angle between the triangle formed by the edge and the other points in the point cloud and the above triangle is an obtuse angle. 8. The method for constructing a point cloud triangular mesh surface according to claim 5, wherein the step of performing the circumscribing ball determination comprises the following steps: determining whether the external ball is a bit; if the external ball is inside A little, it is judged whether there is only one point in the external ball; if there is only one point in the external ball, two triangles are obtained; judging whether the two triangles are judged and meet the condition through the external ball - · If the above two triangles pass through the external ball Judging and satisfying condition two, construct two triangles that meet the conditions. 9. The method for constructing a point cloud triangle mesh surface according to claim 8, wherein the method further comprises the step of: if there is no point in the outer ball, acquiring the point as a third point and constructing an eligible condition triangle. 10. The method for constructing a point cloud triangle mesh surface according to claim 8, wherein the method further comprises the step of: if there is more than one point in the outer ball, the judgment of the point ends, and the condition is met. The next point in the second point is fitted with the first point and the second point to match the circumscribed ball and the circumscribing ball is judged; if the above two triangles do not meet the condition, the judgment of the point ends, 18 200823803 The next point in the point is fitted to the first point and the second point to fit the external ball and the external ball is judged. _ 19
TW95143804A 2006-11-27 2006-11-27 Method for constructing triangular grids of point clouds TWI406189B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW95143804A TWI406189B (en) 2006-11-27 2006-11-27 Method for constructing triangular grids of point clouds

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW95143804A TWI406189B (en) 2006-11-27 2006-11-27 Method for constructing triangular grids of point clouds

Publications (2)

Publication Number Publication Date
TW200823803A true TW200823803A (en) 2008-06-01
TWI406189B TWI406189B (en) 2013-08-21

Family

ID=44771317

Family Applications (1)

Application Number Title Priority Date Filing Date
TW95143804A TWI406189B (en) 2006-11-27 2006-11-27 Method for constructing triangular grids of point clouds

Country Status (1)

Country Link
TW (1) TWI406189B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI416360B (en) * 2008-09-19 2013-11-21 Hon Hai Prec Ind Co Ltd Computer system and method for fitting characteristic elements
TWI426406B (en) * 2009-05-15 2014-02-11 Hon Hai Prec Ind Co Ltd Method for comparing and analyzing three-dimensional objects
TWI450216B (en) * 2008-08-08 2014-08-21 Hon Hai Prec Ind Co Ltd Computer system and method for extracting boundary elements
TWI463435B (en) * 2010-02-01 2014-12-01 Hon Hai Prec Ind Co Ltd System and method for constructing triangular grids of point clouds

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5886702A (en) * 1996-10-16 1999-03-23 Real-Time Geometry Corporation System and method for computer modeling of 3D objects or surfaces by mesh constructions having optimal quality characteristics and dynamic resolution capabilities
US6545676B1 (en) * 1999-05-24 2003-04-08 Parametric Technology Corporation Method and system for creating a tessellated approximation of an outer envelope of a complex model
US7023432B2 (en) * 2001-09-24 2006-04-04 Geomagic, Inc. Methods, apparatus and computer program products that reconstruct surfaces from data point sets
TWI328172B (en) * 2004-05-28 2010-08-01 Hon Hai Prec Ind Co Ltd System and method for dealing with point-cloud in three-dimension

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI450216B (en) * 2008-08-08 2014-08-21 Hon Hai Prec Ind Co Ltd Computer system and method for extracting boundary elements
TWI416360B (en) * 2008-09-19 2013-11-21 Hon Hai Prec Ind Co Ltd Computer system and method for fitting characteristic elements
TWI426406B (en) * 2009-05-15 2014-02-11 Hon Hai Prec Ind Co Ltd Method for comparing and analyzing three-dimensional objects
TWI463435B (en) * 2010-02-01 2014-12-01 Hon Hai Prec Ind Co Ltd System and method for constructing triangular grids of point clouds

Also Published As

Publication number Publication date
TWI406189B (en) 2013-08-21

Similar Documents

Publication Publication Date Title
CN101192307B (en) Point cloud triangular topological relations construction method
US11309087B2 (en) Method for the computation of voronoi diagrams
CN101281654A (en) Method for processing cosmically complex three-dimensional scene based on eight-fork tree
US9978176B2 (en) Simplifying small mesh components with redundant backs
CN104346830A (en) Design of a path connecting a first point to a second point in a three-dimensional scene
CN104851126B (en) Threedimensional model dividing method and device based on generalized cylinder
CN102947865A (en) Systems and methods for primitive intersection in ray tracing
CN101599181A (en) A kind of real-time drawing method of algebra B-spline surface
CN104267940A (en) Quick map tile generation method based on CPU+GPU
TW200823803A (en) Method for constructing triangular grids of point clouds
Tu et al. Research on collision detection algorithm based on AABB-OBB bounding volume
CN101609563A (en) A kind of construction method of binary tree of 3 D model shape features
CN105608239A (en) Coordinate measuring machine programming system and method
CN114283244A (en) Octree Boolean operation accelerated intersection method based on GPU
CN105955458A (en) Method and device for generating feedback force
US8200041B2 (en) Hardware accelerated silhouette detection
CN116956619A (en) Civil engineering model virtual assembly method in lightweight environment
CN103853914B (en) Method for rapidly estimating scattering sound field of underwater circular corner reflector
CN107063218B (en) Data processing method and device
CN108022309A (en) Threedimensional model intelligent connecting method
JP2020035216A (en) Image processing device, method, and program
JP6025615B2 (en) Image drawing device
Zhou et al. Visibility-driven mesh analysis and visualization through graph cuts
US9805497B2 (en) Collision-culling of lines over polygons
CN103985150B (en) A kind of image processing method and electronic equipment

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees