JP5445199B2 - 3D model dividing apparatus and 3D model dividing method - Google Patents

3D model dividing apparatus and 3D model dividing method Download PDF

Info

Publication number
JP5445199B2
JP5445199B2 JP2010029493A JP2010029493A JP5445199B2 JP 5445199 B2 JP5445199 B2 JP 5445199B2 JP 2010029493 A JP2010029493 A JP 2010029493A JP 2010029493 A JP2010029493 A JP 2010029493A JP 5445199 B2 JP5445199 B2 JP 5445199B2
Authority
JP
Japan
Prior art keywords
plane
vertex
child
vertices
dimensional model
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2010029493A
Other languages
Japanese (ja)
Other versions
JP2010186479A (en
Inventor
月紅 王
リュウ,ルジエ
浩 于
孝之 馬場
進 遠藤
秀一 椎谷
祐介 上原
大器 増本
茂美 長田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2010186479A publication Critical patent/JP2010186479A/en
Application granted granted Critical
Publication of JP5445199B2 publication Critical patent/JP5445199B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Description

本発明は、三次元モデル分割装置及び三次元モデル分割方法に関する。   The present invention relates to a three-dimensional model dividing device and a three-dimensional model dividing method.

従来、三次元モデルは、コンピュータグラフィック(CG)技術、仮想現実技術、CAD(Computer-Aided Design:コンピュータ補助設計技術)、医用画像、地理情報システムなどの分野で利用される。また、三次元モデルは、科学技術の発展に伴い、さらに複雑化している。これら複雑化した三次元モデルのポリゴンは、万単位、さらには百万単位に達する場合があり、かかる場合には、コンピュータは、記憶容量・処理速度・レンダリング効率・伝送効率などが非常に要求される。また、ポリゴンの増加に伴い、ターゲット検出・局所マッチングなどの技術を利用することが難しくなる。   Conventionally, 3D models are used in fields such as computer graphic (CG) technology, virtual reality technology, CAD (Computer-Aided Design), medical images, and geographic information systems. In addition, 3D models are becoming more complex with the development of science and technology. These complicated 3D model polygons can reach millions, even millions. In such cases, computers are required to have storage capacity, processing speed, rendering efficiency, transmission efficiency, etc. The In addition, as the number of polygons increases, it becomes difficult to use techniques such as target detection and local matching.

これら複雑な三次元モデルを比較的単純で、データ量の小さいモデルの集まりに分割できれば、コンピュータは、データ量の小さい、これらのモデルを個別に記憶・処理すればよい。したがって、コンピュータの記憶容量・処理速度・レンダリング効率などが大幅に向上し、ターゲット検出・局所マッチング・三次元検索などの動作に役立つ。この結果、コンピュータは、三次元モデルの管理・再利用が可能となる。   If these complicated three-dimensional models are relatively simple and can be divided into a collection of models having a small amount of data, the computer may store and process these models having a small amount of data individually. Accordingly, the storage capacity, processing speed, rendering efficiency, etc. of the computer are greatly improved, which is useful for operations such as target detection, local matching, and three-dimensional search. As a result, the computer can manage and reuse the three-dimensional model.

三次元モデル分割は、入力される三次元モデルを複数の部分に分割する技術であり、ターゲット検出・局所マッチング・三次元検索などの分野には、非常に有用である。三次元モデル分割技術は、概ね、入力されるモデルを近似する属性を有する一連のポリゴンに分割する純粋幾何学的分割と、入力されるモデルを一定の形状を有する一連の部分に分割する語義的分割の2種類に分けられる。純粋幾何学的分割は、有用な特徴を抽出する予備処理手段として利用される。一方、語義的分割は、広く注目されており、ターゲット検出などの分野に利用される。   The three-dimensional model division is a technique for dividing an input three-dimensional model into a plurality of parts, and is very useful in fields such as target detection, local matching, and three-dimensional search. The three-dimensional model division technique is roughly a pure geometric division that divides an input model into a series of polygons having attributes that approximate, and a semantic that divides the input model into a series of parts having a certain shape. There are two types of division. Pure geometric partitioning is used as a pre-processing means to extract useful features. On the other hand, semantic segmentation has attracted widespread attention and is used in fields such as target detection.

純粋幾何学的分割は、曲率推定及び領域成長法により、入力されるモデルを一連の領域に分割し、各領域を一つのパラメータ化された曲面として抽出する技術が開示されている。かかる技術では、まず各頂点の曲率を算出し、頂点をシャープ頂点とシャープレス頂点に分類し、次にシャープレス頂点の曲率から一連の種領域を得て、種領域毎に一つのパラメータ化領域を対応させる。次に各種領域についてパラメータのフィッティングを行い、次に領域間のエッジを改善すると共に各領域のパラメータを更新し、最後にパラメータ化領域を出力する。かかる技術によれば、例えば、平面、円柱体、球、錐面などの簡単な曲面を検出可能とし、更にラウンド曲面などのレベルの高い曲面をも検出することが可能となる。   In pure geometric division, a technique is disclosed in which an input model is divided into a series of regions by curvature estimation and region growth, and each region is extracted as one parameterized curved surface. In such a technique, the curvature of each vertex is first calculated, the vertices are classified into sharp vertices and sharpened vertices, then a series of seed regions are obtained from the curvature of the sharpened vertices, one parameterized region for each seed region To correspond. Next, parameter fitting is performed for various regions, then the edge between the regions is improved, the parameters of each region are updated, and finally the parameterized region is output. According to such a technique, for example, it is possible to detect a simple curved surface such as a plane, a cylindrical body, a sphere, or a conical surface, and it is also possible to detect a curved surface with a high level such as a round curved surface.

また、頂点の曲率を算出し、次に曲率の記号から種領域を生成し、次に領域成長アルゴリズムにより領域のパラメータを徐々に更新し、最後に自由パラメータ化曲面を出力する技術が開示されている。   Also disclosed is a technique for calculating the curvature of the vertices, then generating a seed region from the curvature symbol, then gradually updating the region parameters with the region growth algorithm, and finally outputting a free parameterized surface. Yes.

また、例えば、watershed法を三次元分割に適用する技術が開示されている。かかる技術では、まず各頂点の情報、例えば曲率を算出し、次に局所極小点を見つけて始点とし、次に最急降下法により極小点付近の頂点をクラスタリングする。   Further, for example, a technique for applying the watershed method to three-dimensional division is disclosed. In such a technique, first, information on each vertex, for example, the curvature is calculated, then a local minimum point is found and used as a start point, and then the vertexes near the minimum point are clustered by the steepest descent method.

また、例えば、入力されるモデルをまず粗く分割してから、徐々に正確な分割を求める技術が開示されている。かかる技術では、まず、測地距離と角度距離から三角形状のポリゴン間の距離を算出する。次に分割領域を初期化し、各三角形状のポリゴンが各領域に属する確率を算出し、繰り返し処理で各三角形状のポリゴンが各領域に属する確率を徐々に更新する。そして、最後に最少カットセット(MCS)を用いて正確な境界を得る。   Further, for example, a technique is disclosed in which an input model is first roughly divided and then gradually and accurately obtained. In this technique, first, the distance between triangular polygons is calculated from the geodetic distance and the angular distance. Next, the divided regions are initialized, the probability that each triangular polygon belongs to each region is calculated, and the probability that each triangular polygon belongs to each region is gradually updated by an iterative process. Finally, an accurate boundary is obtained using a minimum cut set (MCS).

また、例えば、入力されるモデルをまず粗く分割してから、徐々に正確な分割を求める際に、多次元尺度構成法(MDS)による変換を導入する技術が開示されている。かかる技術では、分割結果に空間位置不変性を有させ、ロバストな特徴点抽出方法を提案している。これによって三次元モデルを複数の部分に分割し、さらには、各部分の境界を改善するためのカットセット法が導入されている。   In addition, for example, a technique is disclosed that introduces transformation by a multidimensional scaling method (MDS) when an input model is first roughly divided and then gradually and accurately obtained. In such a technique, a robust feature point extraction method is proposed by making the division result spatial position invariant. As a result, a three-dimensional model is divided into a plurality of parts, and a cut set method for improving the boundary between the parts has been introduced.

また、例えば、三次元モデルを構成する各ポリゴン間の類似度行列を算出し、ポリゴン間の類似度行列に、ポリゴン間の測地距離及び角度距離が含まれ、次にスペクトラルクラスタリング法で三次元モデルを分割する技術が開示されている。   In addition, for example, a similarity matrix between polygons constituting a three-dimensional model is calculated, and a geodetic distance and an angular distance between polygons are included in the similarity matrix between polygons, and then the three-dimensional model is obtained by spectral clustering. A technique for dividing the image is disclosed.

また、例えば、各頂点の曲率を算出し、曲率からシャープネス化エッジ及び頂点を判定する技術が開示されている。かかる技術では、頂点をクラスタリングし、頂点に関するクラスタリング結果に基づき三角形状のポリゴンに対して領域を区分し、次に領域成長法により類似の領域を合併し、最後に区分された領域同士のエッジを改善する。   Further, for example, a technique is disclosed in which the curvature of each vertex is calculated and the sharpening edge and vertex are determined from the curvature. In such a technique, the vertices are clustered, the regions are divided into triangular polygons based on the clustering result on the vertices, then similar regions are merged by the region growing method, and the edges of the finally divided regions are merged. Improve.

米国特許出願公開第2007/0188490号明細書US Patent Application Publication No. 2007/0188490

Vieira, M., Shimada, K., Surface mesh segmentation and smooth surface extraction through region growing. Computer Aided Geometric Design, Vol. 22, No.8, 2005年, p.771-792Vieira, M., Shimada, K., Surface mesh segmentation and smooth surface extraction through region growing. Computer Aided Geometric Design, Vol. 22, No. 8, 2005, p. 771-792 Mangam, A.P., Whitaker, R.T., Partitioning 3D surface meshes using watershed segmentation, IEEE Transaction on Visualization and computer graphics, Vol.5, No.4, 1999年, p.308-321Mangam, A.P., Whitaker, R.T., Partitioning 3D surface meshes using watershed segmentation, IEEE Transaction on Visualization and computer graphics, Vol. 5, No. 4, 1999, p. 308-321 S.Katz, A. Tal, Hierarchical mesh decomposition using fuzzy clustering and cuts, SIGGRAPH, 22(3), 2003年, p.954-961S. Katz, A. Tal, Hierarchical mesh decomposition using fuzzy clustering and cuts, SIGGRAPH, 22 (3), 2003, p. 954-961 S.Katz, G.leifman, A. Tal, Mesh segmentation using feature point and core extraction, The Visual Computer, 21(8-10), 2005年, p.865-875S. Katz, G. leifman, A. Tal, Mesh segmentation using feature point and core extraction, The Visual Computer, 21 (8-10), 2005, p. 865-875 R. Liu, H. Huang, Segmentation of 3d meshes through spectral clustering, Pacific conference on Computer graphics and applications, 2004年, p.298-305R. Liu, H. Huang, Segmentation of 3d meshes through spectral clustering, Pacific conference on Computer graphics and applications, 2004, p. 298-305 G. Lavoue, F. Dupont, A. Baskurt, A new CAD mesh segmentation method based on curvature tensor analysis, Computer aided design, Vol.37, 2005年, p.975-987G. Lavoue, F. Dupont, A. Baskurt, A new CAD mesh segmentation method based on curvature tensor analysis, Computer aided design, Vol. 37, 2005, p. 975-987 Z.Q. Wang, L.J. Xiao, J.Z. Hong, Simplicity, orientation and inclusion test algorithms for polygons, Chinese J. Computers, Vol.21, No.2, 1998年, p.183-187Z.Q.Wang, L.J.Xiao, J.Z.Hong, Simplicity, orientation and inclusion test algorithms for polygons, Chinese J. Computers, Vol. 21, No. 2, 1998, p. 183-187 R.Seidel, A simple and fast incremental randomized algorithm for computing trapezoid decompositions and for triangulating polygons, Computational Geometry: Theory and Applications, Vol.1, No.1, 1991年, p.51-64R. Seidel, A simple and fast incremental randomized algorithm for computing trapezoid decompositions and for triangulating polygons, Computational Geometry: Theory and Applications, Vol. 1, No. 1, 1991, p. 51-64 H. Hoppe, Surface reconstruction from unorganized points, PhD Thesis, Dept. of Computer Science and Engineering, University of Washington, 1994年6月H. Hoppe, Surface reconstruction from unorganized points, PhD Thesis, Dept. of Computer Science and Engineering, University of Washington, June 1994 Joseph O’Rourke, Computational Geometry In C (Second Edition), Cambridge University Press, 1998年Joseph O’Rourke, Computational Geometry In C (Second Edition), Cambridge University Press, 1998

しかしながら上述した従来の技術では、以下の問題があった。例えば、曲率推定及び領域成長法により、入力されるモデルを一連の領域に分割し、各領域を一つのパラメータ化された曲面をもって抽出する技術は、パラメータ化曲面を出力するものであり、適用範囲が狭く、予備処理以外に適用できない。   However, the conventional techniques described above have the following problems. For example, a technique that divides an input model into a series of regions by curvature estimation and region growth method and extracts each region with one parameterized curved surface outputs a parameterized curved surface. Is narrow and cannot be applied to other than pretreatment.

また、頂点の曲率を算出し、次に曲率の記号から種領域を生成し、次に領域成長アルゴリズムにより領域のパラメータを徐々に更新し、最後に自由パラメータ化曲面を出力する技術は、パラメータ化曲面を出力するものであり、適用範囲が狭い。また、かかる技術は、予備処理以外には適用できない。   The technique of calculating the curvature of the vertices, then generating the seed region from the curvature symbol, then gradually updating the region parameters with the region growth algorithm, and finally outputting the free parameterized surface is parameterized. It outputs a curved surface and has a narrow application range. Further, such a technique cannot be applied except for preliminary processing.

また、例えば、watershed法を三次元分割に適用する技術は、ノイズの干渉を受けやすい。また、入力されるモデルをまず粗く分割してから、徐々に正確な分割を求める技術は、理論的には優れる分割結果を得られるが、演算量が大きい。同様に、この方法にMDS変換を導入する技術は、理論的には優れる分割結果を得られるが、演算量が大きい。   In addition, for example, a technique that applies the watershed method to three-dimensional division is susceptible to noise interference. In addition, a technique for roughly dividing an input model first and then gradually obtaining an accurate division can provide a theoretically excellent division result, but has a large calculation amount. Similarly, the technique of introducing MDS conversion to this method can obtain a theoretically excellent division result, but has a large calculation amount.

また、スペクトラルクラスタリング法で三次元モデルを分割する技術は、自然な分割結果が得られないおそれがある。また、例えば、各頂点の曲率を算出し、曲率からシャープネス化エッジ及び頂点を判定する技術は、理論的には優れる分割結果を得られるが、演算量が大きい。   In addition, there is a possibility that a natural division result cannot be obtained with the technique of dividing a three-dimensional model by the spectral clustering method. In addition, for example, a technique for calculating the curvature of each vertex and determining the sharpening edge and vertex from the curvature can theoretically obtain an excellent division result, but requires a large amount of calculation.

すなわち、従来の三次元モデル分割の主な問題には、下記のことが含まれる。
(1)パラメータ化曲面を抽出する方法は、パラメータ化曲面を出力するものであり、適用範囲が狭く、予備処理手段以外に適用できない。
(2)頂点の曲率がノイズからの干渉を受けやすいので、分割結果の正確率が高くなれない。
(3)理論的には優れる分割結果が得られるが、演算量が大きい。
(4)得られた分割結果は、通常ではポリゴンからなる又はポリゴンの組み合わせからなる領域であり、独立な三次元実体ではない。
That is, the main problems of conventional three-dimensional model division include the following.
(1) The method of extracting a parameterized curved surface is to output a parameterized curved surface, which has a narrow application range and cannot be applied to other than pre-processing means.
(2) Since the curvature of the vertex is susceptible to interference from noise, the accuracy of the division result cannot be increased.
(3) Although a theoretically excellent division result can be obtained, the calculation amount is large.
(4) The obtained division result is usually an area composed of polygons or a combination of polygons, and is not an independent three-dimensional entity.

開示技術は、上記に鑑みてなされたものであって、従来技術の一つ又は複数の課題を解決し、少なくとも一つの有益な選択案を提供することを目的とする。例えば、独立な三次元実体の再構成ができる三次元モデル分割装置及び三次元モデル分割方法を提供することを目的とする。   The disclosed technology has been made in view of the above, and an object thereof is to solve one or more problems of the conventional technology and to provide at least one useful selection plan. For example, an object of the present invention is to provide a three-dimensional model dividing apparatus and a three-dimensional model dividing method capable of reconfiguring independent three-dimensional entities.

本願の開示する三次元モデル分割装置及び三次元モデル分割方法は、入力された三角形メッシュで表現される三次元モデルに含まれる、三角形同士が接続し、且つ、該三角形の法線方向が共通または相反する三角形を集めた平面を検出する。また、三次元モデル分割装置及び三次元モデル分割方法は、検出された平面から、該平面の各三角形の各辺のうち、1つの三角形のみに属する境界辺同士を接続して前記三次元モデルの輪郭である輪郭図形を抽出する。また、三次元モデル分割装置及び三次元モデル分割方法は、抽出された輪郭図形を重ならない複数の子図形に分割する。そして、三次元モデル分割装置及び三次元モデル分割方法は、分割された子図形毎に、それぞれが三角形メッシュで表現される三次元実体を再構成する。   The three-dimensional model dividing apparatus and the three-dimensional model dividing method disclosed in the present application are such that triangles included in a three-dimensional model represented by an input triangular mesh are connected to each other, and the normal directions of the triangles are common or Detect a plane that collects conflicting triangles. Further, the 3D model dividing apparatus and the 3D model dividing method connect the boundary sides belonging to only one triangle among the sides of each triangle of the plane from the detected plane, and A contour figure that is a contour is extracted. Further, the 3D model dividing apparatus and the 3D model dividing method divide the extracted contour graphic into a plurality of child graphics that do not overlap. Then, the three-dimensional model dividing device and the three-dimensional model dividing method reconstruct a three-dimensional entity represented by a triangular mesh for each divided child figure.

本願の開示する三次元モデル分割装置及び三次元モデル分割方法の一つの態様によれば、従来技術の一つ又は複数の課題を解決し、少なくとも一つの有益な選択案を提供することができるという効果を奏する。例えば、独立な三次元実体の再構成ができる三次元モデル分割装置及び三次元モデル分割方法を提供する。   According to one aspect of the three-dimensional model dividing apparatus and the three-dimensional model dividing method disclosed in the present application, it is possible to solve one or more problems of the prior art and provide at least one useful selection plan. There is an effect. For example, a 3D model dividing apparatus and a 3D model dividing method capable of reconfiguring independent 3D entities are provided.

図1Aは、開示技術の実施形態によるモデル分割方法の概要を示すフローチャートである。FIG. 1A is a flowchart illustrating an overview of a model dividing method according to an embodiment of the disclosed technology. 図1Bは、開示技術の実施形態によるモデル分割装置の概要を示す構成ブロック図である。FIG. 1B is a configuration block diagram illustrating an overview of a model dividing device according to an embodiment of the disclosed technology. 図2は、開示技術の実施形態による図1Aの平面検出ステップS101の概要を示すフローチャートである。FIG. 2 is a flowchart illustrating an overview of the plane detection step S101 of FIG. 1A according to an embodiment of the disclosed technology. 図3は、開示技術の一実施形態による三角形状の平面の法線方向と面積の算出の概要を示す説明図である。FIG. 3 is an explanatory diagram illustrating an outline of calculation of a normal direction and an area of a triangular plane according to an embodiment of the disclosed technology. 図4は、三次元モデルにおける三角形状の平面の隣接関係の概要を示す説明図である。FIG. 4 is an explanatory diagram showing an outline of the adjacency relationship between triangular planes in the three-dimensional model. 図5は、開示技術の実施形態による子平面の合併可能な条件の概要を示す説明図である。FIG. 5 is an explanatory diagram showing an outline of conditions under which child planes can be merged according to an embodiment of the disclosed technology. 図6は、開示技術の実施形態による子平面の合併可能な他の条件の概要を示す説明図である。FIG. 6 is an explanatory diagram showing an outline of another condition that allows the child planes to be merged according to an embodiment of the disclosed technology. 図7は、開示技術の実施形態による平面の内部辺と境界辺の概要を示す説明図である。FIG. 7 is an explanatory diagram illustrating an outline of the inner side and the boundary side of a plane according to an embodiment of the disclosed technology. 図8は、開示技術の実施形態による三次元モデルの輪郭図形の概要を示す説明図である。FIG. 8 is an explanatory diagram illustrating an outline of a contour figure of a three-dimensional model according to an embodiment of the disclosed technology. 図9は、輪郭図形を複数の分離する子図形に分割する一例を示す説明図である。FIG. 9 is an explanatory diagram showing an example of dividing the contour graphic into a plurality of child graphics to be separated. 図10は、切断面判定条件を例示する説明図である。FIG. 10 is an explanatory diagram illustrating cut surface determination conditions. 図11は、輪郭図形再分割部による処理の概要を示すフローチャートである。FIG. 11 is a flowchart showing an outline of processing by the contour figure subdivision unit. 図12は、輪郭図形再分割部の分割部による動作の概要を示すフローチャートである。FIG. 12 is a flowchart showing an outline of the operation of the dividing unit of the contour graphic subdivision unit. 図13は、残りの頂点を分類する処理の概要を示すフローチャートである。FIG. 13 is a flowchart showing an outline of processing for classifying the remaining vertices. 図14は、図13のステップS1305の処理をさらに詳しく示すフローチャートである。FIG. 14 is a flowchart showing in more detail the process of step S1305 of FIG. 図15は、頂点分類結果に基づき子図形を作成する手順を示すフローチャートである。FIG. 15 is a flowchart showing a procedure for creating a child graphic based on the vertex classification result. 図16は、開示技術の実施形態による平面を三角化する処理の概要を示すフローチャートである。FIG. 16 is a flowchart illustrating an overview of processing for triangulating a plane according to an embodiment of the disclosed technology. 図17は、開示技術の他の実施形態による輪郭図形分割方法の概要を示すフローチャートである。FIG. 17 is a flowchart illustrating an outline of a contour graphic dividing method according to another embodiment of the disclosed technology. 図18は、入力される三次元モデルの例を示す図である。FIG. 18 is a diagram illustrating an example of an input three-dimensional model. 図19は、入力されるモデルから検出された平面の構造を示す説明図である。FIG. 19 is an explanatory diagram illustrating a planar structure detected from an input model. 図20は、三次元モデルの輪郭図形を抽出する説明図である。FIG. 20 is an explanatory diagram for extracting a contour figure of a three-dimensional model. 図21は、輪郭図形を複数の子図形に分割する結果を示す説明図である。FIG. 21 is an explanatory diagram illustrating a result of dividing the contour graphic into a plurality of child graphics. 図22は、図21の4つの子図形から再構成された三次元モデルの結果を示す説明図である。FIG. 22 is an explanatory diagram showing a result of a three-dimensional model reconstructed from the four child figures of FIG. 図23は、切断面の頂点及び切断面と直接接続する頂点の分類結果を示す説明図である。FIG. 23 is an explanatory diagram illustrating the classification results of the vertices of the cut surface and the vertices directly connected to the cut surface. 図24は、頂点分類及びその新規追加頂点を示す説明図である。FIG. 24 is an explanatory diagram showing the vertex classification and the newly added vertex. 図25は、図24のモデルの分割結果を示す説明図である。FIG. 25 is an explanatory diagram showing a result of dividing the model shown in FIG.

以下、図面を参照して開示技術の具体的な実施形態を説明する。図1Aは開示技術の実施形態によるモデル分割方法の概要を示すフローチャートで、図1Bは開示技術の実施形態によるモデル分割装置の概要を示す構成ブロック図である。   Hereinafter, specific embodiments of the disclosed technology will be described with reference to the drawings. FIG. 1A is a flowchart illustrating an outline of a model dividing method according to an embodiment of the disclosed technique, and FIG. 1B is a configuration block diagram illustrating an outline of a model dividing apparatus according to an embodiment of the disclosed technique.

図1Aに示すように、開示技術の三次元モデル分割装置は、平面検出ステップS101と、輪郭図形抽出ステップS102と、輪郭図形分割ステップS103とを含む三次元モデル分割方法を実行する。三次元モデル分割装置が実行する平面検出ステップS101は、入力されるモデルのデータに基づき、該三角形モデルを含む全ての平面に関する情報を検出する。三次元モデル分割装置が実行する輪郭図形抽出ステップS102は、検出された三角形状の平面に関する情報に基づき、入力されるモデルに対応する輪郭線を得る。例えば、輪郭図形抽出ステップS102は、多角形からなる有界平面内部の接続線を削除して各平面の輪郭線を得る。そして、三次元モデルの頂点をノード、輪郭線を辺として三次元モデルの輪郭情報を図の形式で表現する。三次元モデル分割装置が実行する輪郭図形分割ステップS103は、入力されるモデルの幾何情報に基づき、輪郭図形を複数の重ならない子図形に分割した後に、子図形毎にそれぞれの対応する三角形メッシュで表現される三次元実体を再構成する。   As shown in FIG. 1A, the 3D model dividing apparatus according to the disclosed technique executes a 3D model dividing method including a plane detection step S101, a contour graphic extraction step S102, and a contour graphic division step S103. In the plane detection step S101 executed by the three-dimensional model dividing apparatus, information on all planes including the triangle model is detected based on the input model data. The contour graphic extraction step S102 executed by the three-dimensional model dividing apparatus obtains a contour line corresponding to the input model based on the information about the detected triangular plane. For example, in the contour graphic extraction step S102, the connection lines inside the bounded plane made up of polygons are deleted to obtain the contour lines of each plane. Then, the contour information of the three-dimensional model is expressed in the form of a figure with the vertex of the three-dimensional model as a node and the contour line as a side. The contour figure dividing step S103 executed by the three-dimensional model dividing apparatus is based on the input geometric information of the model, and after dividing the contour figure into a plurality of non-overlapping child figures, each child figure is subjected to a corresponding triangular mesh. Reconstruct the represented 3D entity.

開示技術の実施形態によれば、入力されるモデルは三角形メッシュで表現される。ここで、提供される三次元モデルは、基本データの要素に頂点の座標及び各三角形を構成する頂点のインデックスを有してもよい。これは、スキャニングによる点群(Point-Clouds)モデルは、予め三角化処理により三角形メッシュで表現される三次元モデルに変換することができるからである。また、各種のモデリングツールによるパラメータ化モデル、又は三角形ではない多角形メッシュで表現されるモデルも同様に、予め三角化処理により三角形メッシュで表現される三次元モデルに変換することができる。   According to an embodiment of the disclosed technology, the input model is represented by a triangular mesh. Here, the provided three-dimensional model may have the coordinates of the vertices and the indices of the vertices constituting each triangle as elements of the basic data. This is because the point cloud model by scanning can be converted into a three-dimensional model represented by a triangular mesh in advance by triangulation processing. Similarly, a parameterized model by various modeling tools or a model expressed by a polygon mesh that is not a triangle can be converted into a three-dimensional model expressed by a triangle mesh in advance by a triangulation process.

一方、図1Bに示すように、開示技術の一実施形態による三次元モデル分割装置は、平面検出部101、輪郭図形抽出部102及び輪郭図形分割部103を有する。ここで、平面検出部101は、例えば法線方向算出部1011、子平面取得部1012及び平面取得部1013を有してもよい。また、輪郭図形抽出部102は、辺取得部1021、辺分類部1022及び辺削除部1023を有してもよい。   On the other hand, as illustrated in FIG. 1B, the 3D model dividing apparatus according to an embodiment of the disclosed technique includes a plane detection unit 101, an outline graphic extraction unit 102, and an outline graphic division unit 103. Here, the plane detection unit 101 may include, for example, a normal direction calculation unit 1011, a child plane acquisition unit 1012, and a plane acquisition unit 1013. Further, the contour graphic extraction unit 102 may include a side acquisition unit 1021, a side classification unit 1022, and a side deletion unit 1023.

一実施形態では、輪郭図形分割部103は子図形取得部1031と再構成部1034を有する。また、別の実施形態では、輪郭図形分割部103は子図形取得部1031、穴処理部1032及び再構成部1034を有する。また、別の実施形態では、輪郭図形分割部103は子図形取得部1031、切断面処理部1033及び再構成部1034を有する。また、別の実施形態では、輪郭図形分割部103は子図形取得部1031、穴処理部1032、切断面処理部1033及び再構成部1034を有する。以下、図面を参照して三次元モデル分割装置の構成及び三次元モデル分割方法の処理手順を説明する。   In one embodiment, the contour graphic dividing unit 103 includes a child graphic acquiring unit 1031 and a reconstruction unit 1034. In another embodiment, the contour graphic dividing unit 103 includes a child graphic acquiring unit 1031, a hole processing unit 1032, and a reconstruction unit 1034. In another embodiment, the contour graphic dividing unit 103 includes a child graphic acquiring unit 1031, a cut surface processing unit 1033, and a reconstruction unit 1034. In another embodiment, the contour graphic dividing unit 103 includes a child graphic acquisition unit 1031, a hole processing unit 1032, a cut surface processing unit 1033, and a reconstruction unit 1034. The configuration of the 3D model dividing device and the processing procedure of the 3D model dividing method will be described below with reference to the drawings.

[平面検出]
図1Aに示すように、開示技術の一実施形態では、まずステップS101で、平面検出部101は三次元モデルを構成する平面を検出する。平面検出部101に三角形メッシュで表現される三次元モデルが入力されると、該モデルから頂点の三次元座標及び各三角形の頂点のインデックスを含むデータを提供する。これらのデータから、三角形を含む全ての平面が検出される。ここでの平面は有界平面のことであり、単一の多角形又は複数の多角形からなるものであってもよい。
[Plane detection]
As shown in FIG. 1A, in one embodiment of the disclosed technology, first, in step S101, the plane detection unit 101 detects planes that form a three-dimensional model. When a three-dimensional model expressed by a triangular mesh is input to the plane detection unit 101, data including the three-dimensional coordinates of the vertices and the indices of the vertices of each triangle is provided from the model. From these data, all planes including triangles are detected. The plane here is a bounded plane and may be a single polygon or a plurality of polygons.

図2は開示技術の三次元モデル分割装置が実行する図1Aの平面検出ステップS101の概要を示すフローチャートである。図2に示すように、まず三次元モデル分割装置は、ステップS201で、三角形毎に法線方向に関する情報を算出する。次に、三次元モデル分割装置は、ステップS202で、三角形同士の接続情報を取得すると共に、互いに接続されかつ方向が共通又は相反する三角形を集めることにより、一連の子平面を得る。最後に、三次元モデル分割装置は、ステップS203で、条件を満足する子平面を集めて、最終的な平面を得る。以下、本フローに係る各ステップを説明する。   FIG. 2 is a flowchart showing an outline of the plane detection step S101 of FIG. 1A executed by the three-dimensional model dividing apparatus of the disclosed technology. As shown in FIG. 2, the 3D model dividing apparatus first calculates information about the normal direction for each triangle in step S201. Next, in step S202, the three-dimensional model dividing apparatus obtains a series of child planes by acquiring connection information between triangles and collecting triangles that are connected to each other and have common or opposite directions. Finally, in step S203, the 3D model dividing apparatus collects child planes that satisfy the conditions, and obtains a final plane. Hereinafter, each step according to this flow will be described.

説明の便宜上、まず入力モデルの幾何データを示すいくつかの変数を定義する。V=(x,y,z),(i=1,...,nv)は、モデルの頂点に関する情報を示す。ただし、nvは、頂点の数を示し、Vは、i番目の頂点を示し、(x,y,z)は、頂点の三次元座標を示す。 For convenience of explanation, first, some variables indicating the geometric data of the input model are defined. V i = (x i , y i , z i ), (i = 1,..., Nv) indicates information related to the vertices of the model. Here, nv represents the number of vertices, V i represents the i-th vertex, and (x i , y i , z i ) represents the three-dimensional coordinates of the vertices.

=(vi1,vi2,vi3),(i=1,...,nf)は、モデルの三角形状の平面に関する情報を示す。ただし、nfは、三角形状の平面の数を示し、Fは、i番目の三角形を示し、(vi1,vi2,vi3)は、三角形の3つの頂点のインデックスを示す。 F i = (v i1 , v i2 , v i3 ), (i = 1,..., Nf) indicates information related to the triangular plane of the model. Here, nf represents the number of triangular planes, F i represents the i-th triangle, and (v i1 , v i2 , v i3 ) represents the indices of the three vertices of the triangle.

ND=(nix,niy,niz),(i=1,...,nf)は、モデルの三角形状の平面の法線方向を示す。ただし、NDは、i番目の三角形状の法線方向を示し、(nix,niy,niz)は、三角形の法線方向の3つの成分を示す。 ND i = (n ix , n iy , n iz ), (i = 1,..., Nf) indicates the normal direction of the triangular plane of the model. Here, ND i indicates the normal direction of the i-th triangular shape, and (n ix , n iy , n iz ) indicates three components in the normal direction of the triangle.

まず、三次元モデル分割装置が実行するステップS201の法線方向算出ステップを説明する。該ステップは各三角形状の平面の法線方向を算出する。現在、三角形状の平面の法線方向の算出には様々な算出方法が開示されている。本実施形態では、例えば、法線方向算出部1011は、次の手順に従って所定の三角形状の平面の法線方向と面積を算出する。図3は開示技術の一実施形態による三角形状の平面の法線方向と面積の算出の概要を示す説明図である。三角形の頂点の順番をA→B→Cと仮定する。まず、(式1)によりベクトルABとベクトルACを算出する。   First, the normal direction calculation step of step S201 executed by the 3D model dividing apparatus will be described. This step calculates the normal direction of each triangular plane. Currently, various calculation methods are disclosed for calculating the normal direction of a triangular plane. In the present embodiment, for example, the normal direction calculation unit 1011 calculates the normal direction and area of a predetermined triangular plane according to the following procedure. FIG. 3 is an explanatory diagram showing an outline of calculation of the normal direction and area of a triangular plane according to an embodiment of the disclosed technology. Assume that the order of the vertices of the triangle is A → B → C. First, a vector AB and a vector AC are calculated by (Equation 1).

Figure 0005445199
Figure 0005445199

続いて、ベクトルABとベクトルACとのベクトル積を(式2)より算出する。   Subsequently, a vector product of the vector AB and the vector AC is calculated from (Equation 2).

Figure 0005445199
Figure 0005445199

三角形の面積を(式3)より算出する。ただし、|ベクトルP|はベクトルPのノルムを示す。   The area of the triangle is calculated from (Equation 3). However, | vector P | indicates the norm of vector P.

Figure 0005445199
Figure 0005445199

三角形の法線方向を(式4)より算出する。   The normal direction of the triangle is calculated from (Equation 4).

Figure 0005445199
Figure 0005445199

なお、三角形の面積は他の方法で算出してもよい。例えば、三角形の3つの辺の長さをla、lb、lcとすると、三角形の面積は(式5)で得られる。ただし、s=(la+lb+lc)/2である。   The triangular area may be calculated by other methods. For example, if the lengths of the three sides of the triangle are la, lb, and lc, the area of the triangle can be obtained by (Equation 5). However, s = (la + lb + lc) / 2.

Figure 0005445199
Figure 0005445199

全ての三角形に対して上記処理を終了すると、三角形毎に法線方向と面積が得られる。ここで、各三角形の法線方向のベクトルは共に単位ベクトルである。   When the above processing is completed for all the triangles, the normal direction and the area are obtained for each triangle. Here, the vectors in the normal direction of each triangle are both unit vectors.

次に、三次元モデル分割装置が実行するステップS202の子平面取得ステップでは、子平面取得部1012は各三角形状の平面を対象とし、それと接続されかつ方向が相同又は相反する三角形状の平面を集めて一連の平面を取得する。本明細書では、方向が相同するとは、両方向の差が所定の閾値以下であることを意味する。方向がほぼ相反するとは、両方向の差とπとの差が所定の閾値以下であることを意味する。   Next, in the child plane acquisition step of step S202 executed by the three-dimensional model dividing apparatus, the child plane acquisition unit 1012 targets each triangular plane and connects the triangular planes that are connected to and have the same or opposite directions. Collect to get a series of planes. In this specification, that the directions are homologous means that the difference between the two directions is not more than a predetermined threshold value. That the directions are almost opposite means that the difference between the two directions and π is equal to or less than a predetermined threshold.

まず、三角形状の平面毎に、それと接続される三角形状の平面を求める。本実施形態では、2つの三角形状の平面は1本の共通した辺を有し、かつ2つの三角形状の平面における辺の方向が全く相反する場合、それらの平面が互いに接続されると判定する。この原則に基づき、各三角形Fの場合、それと接続される三角形状の平面が3つある。ここでL={li1,li2,li3},{i=1,2,...,nf}で示す。 First, for each triangular plane, a triangular plane connected thereto is obtained. In this embodiment, two triangular planes have one common side, and when the directions of the sides in the two triangular planes are completely opposite, it is determined that the planes are connected to each other. . Based on this principle, for each triangle F i there are three triangular planes connected to it. Where L i = {l i1 , l i2 , l i3 }, {i = 1, 2,. . . , Nf}.

図4は三次元モデルにおける三角形状の平面の隣接関係を模式的に示す説明図である。図4では、三角形Fと接続される3つの三角形状の平面をL1、L2、L3とする。三角形同士の相互接続関係は、上述した方法以外にも他の方法で判定してもよい。例えば、2つの三角形状の平面は共通した点を有する場合には、かかる平面が互いに接続されると判定する。この方法によれば、最終的な結果は、上述した方法による平面に関するデータと同じである。しかしながら、かかる法を採用した場合には、三角形毎に接続される三角形の数が増えるので、以降の処理における演算量が増大する。   FIG. 4 is an explanatory diagram schematically showing the adjacency relationship between triangular planes in the three-dimensional model. In FIG. 4, three triangular planes connected to the triangle F are denoted by L1, L2, and L3. The interconnection relationship between the triangles may be determined by other methods besides the method described above. For example, when two triangular planes have a common point, it is determined that the planes are connected to each other. According to this method, the final result is the same as the data for the plane according to the method described above. However, when such a method is adopted, the number of triangles connected to each triangle increases, so that the amount of calculation in the subsequent processing increases.

次に、各三角形状の平面Fについて、これと接続される三角形状の平面それぞれとFとがなす角度Ang={Angi1,Angi2,Angi3}を(式6)により算出する。ここで、ベクトルa・ベクトルbはベクトルaとベクトルbとの内積を表す。図4の場合では、三角形状の平面Fと三角形状の平面L1、L2、L3とがなす角度はそれぞれ0、0とπ/2であることがわかる。 Next, the plane F i of like each triangle, calculating the angle Ang i = eggplant respective flat triangular and the F i is connected thereto {Ang i1, Ang i2, Ang i3} to the (formula 6) . Here, the vector a and the vector b represent the inner product of the vector a and the vector b. In the case of FIG. 4, it can be seen that the angles formed by the triangular plane F and the triangular planes L1, L2, and L3 are 0, 0, and π / 2, respectively.

Figure 0005445199
Figure 0005445199

次に、適正な閾値を設定し、Fと接続され、かつ以下の条件を満足する三角形を集めて、三角形状の平面Fを対象とする子平面を取得する。ここでいう条件とは、三角形状の平面Fの法線方向と相同又は相反することを意味する、すなわち、Ang<=ath1又はAng>=ath2、ただし、ath1の数値が0に近く、ath2の数値がπに近い。図4の場合では、三角形Fを対象として取得された子平面は、F自体、L1及びL2という3つの三角形を含む。 Next, an appropriate threshold value is set, triangles connected to F i and satisfying the following conditions are collected, and a child plane with respect to the triangular plane F i is obtained. The condition here means that it is homologous or contradictory to the normal direction of the triangular plane F i , that is, Ang <= ath1 or Ang> = ath2, where the value of ath1 is close to 0 and ath2 Is close to π. In the case of FIG. 4, the child plane acquired for the triangle F includes three triangles of F itself, L1 and L2.

全ての三角形に対して上記処理を終了すると、三角形状の平面毎にこれを対象として集めて作成した子平面に関する情報が得られ、SubP={F,spi1,...,spij},(i=1,2,...,nf,0≦j≦3)と示す。 When the above processing is completed for all the triangles, information about child planes created by collecting the triangles for each triangle plane is obtained, and SubP i = {F i , sp i1 ,. . . , Sp ij }, (i = 1, 2,..., Nf, 0 ≦ j ≦ 3).

最後に、三次元モデル分割装置が実行するステップS203の平面取得ステップでは、平面取得部1013は以下の条件を満足する子平面を集めることにより、最終的な平面に関するデータを得る。前のステップで得られた各子平面からなる集合の大きさが1ないし4の範囲内であるが、このステップでは、子平面を合併するに伴って、子平面は広げられなくなるまで徐々に広げる。   Finally, in the plane acquisition step of step S203 executed by the 3D model dividing apparatus, the plane acquisition unit 1013 obtains data related to the final plane by collecting child planes that satisfy the following conditions. The size of the set of each child plane obtained in the previous step is in the range of 1 to 4, but in this step, as the child planes are merged, the child planes are gradually expanded until they cannot be expanded. .

2つの子平面の法線方向は相同又は相反すると共に、以下の条件のいずれかを満足すると、2つの子平面が一つの新しい子平面に合併される。全ての子平面がさらに合併できなくなるまで、この処理が繰り返される。   The normal directions of the two child planes are homologous or contradictory, and if either of the following conditions is satisfied, the two child planes are merged into one new child plane. This process is repeated until all child planes cannot be merged further.

2つの子平面における三角形状の平面からなる集合に、共通する三角形が存在する。子平面を合併可能と判定する条件を図5に示す。図5は、開示技術の実施形態による子平面の合併可能な条件の概要を示す説明図である。図5に示すように、F1とF2それぞれを対象として作成した子平面には、共通する三角形Fが存在している。   A common triangle exists in a set of triangular planes in two child planes. FIG. 5 shows conditions for determining that the child planes can be merged. FIG. 5 is an explanatory diagram showing an outline of conditions under which child planes can be merged according to an embodiment of the disclosed technology. As shown in FIG. 5, a common triangle F exists on the child planes created for F1 and F2, respectively.

2つの子平面の頂点からなる集合には、それぞれが2つの子平面に属する頂点をつなげる辺が少なくとも1本あり、かつ該辺が子平面の法線ベクトルに直交している。図5は子平面を合併可能とするという条件も模式的に示している。図5のように、F3とF4を対象として作成した子平面の頂点の間に接続を存在し、例えば2つの中空でない四角形をつなげる線が存在している。   The set of vertices of two child planes has at least one side connecting the vertices belonging to the two child planes, and the side is orthogonal to the normal vector of the child plane. FIG. 5 also schematically shows the condition that the child planes can be merged. As shown in FIG. 5, there is a connection between the vertices of the child planes created for F3 and F4, for example, a line connecting two non-hollow rectangles.

2つの子平面の三角形状の平面からなる集合には、それぞれが2つの異なる子平面に属し、かつ相互接続される三角形が少なくとも1対ある。図6は子平面を合併可能とするという他の条件を模式的に示している。図6のように、F1とF2それぞれを対象として作成した子平面に、2つの隣接する三角形状の平面であるF11とF21が存在している。このステップが終了すると、最終的な平面に関するデータを得る。最終的な平面に関するデータは、平面毎に、平面の面積、平面の法線方向、含まれる三角形からなる集合及び頂点からなる集合というデータを含む。   A set of triangular planes of two child planes has at least one pair of triangles each belonging to two different child planes and interconnected. FIG. 6 schematically shows another condition that the child planes can be merged. As shown in FIG. 6, there are two adjacent triangular planes F11 and F21 on the child plane created for F1 and F2, respectively. When this step is finished, data about the final plane is obtained. The data regarding the final plane includes, for each plane, data such as the area of the plane, the normal direction of the plane, a set of triangles included, and a set of vertices.

上記の平面検出方法は一例であり、他の平面検出方法であってもよい。例えば次の方法も適用できる。すなわち、全ての三角形状の平面に対する処理が終了するまで、以下の処理が繰り返される。まず、非共線の3つの頂点(或いは任意の三角形の3つの頂点)を選択して平面を作成する。次に、残りの頂点が該平面に入るか否かを判定する。そして、各三角形状の平面が該平面に入るか否かを判定する。この平面検出方法は前述した方法と比較すると、演算量が多くなる。   The plane detection method described above is an example, and other plane detection methods may be used. For example, the following method can also be applied. In other words, the following processing is repeated until the processing for all triangular planes is completed. First, a plane is created by selecting three non-collinear vertices (or three vertices of an arbitrary triangle). Next, it is determined whether or not the remaining vertices enter the plane. Then, it is determined whether each triangular plane enters the plane. Compared with the method described above, this plane detection method requires a large amount of computation.

[輪郭図形抽出]
図1Aに戻り、以下、三次元モデル分割装置が実行する輪郭図形抽出ステップS102を説明する。このステップでは、輪郭図形抽出部102は平面検出ステップS101で検出した平面に関するデータからモデルの輪郭情報を抽出する。このために、まず、平面毎の輪郭情報を抽出することにより、モデル全体の輪郭情報を得る。
[Outline figure extraction]
Returning to FIG. 1A, the contour graphic extraction step S102 executed by the three-dimensional model dividing apparatus will be described below. In this step, the contour graphic extraction unit 102 extracts the contour information of the model from the data relating to the plane detected in the plane detection step S101. For this purpose, first, the contour information of the entire model is obtained by extracting the contour information for each plane.

各平面について、以下の処理を実行して平面の輪郭情報を得る。まず、辺取得部1021は平面における全ての辺からなる集合を取得する。ここで、辺からなる集合は平面における各三角形の3本の辺を含む。図7は開示技術の実施形態による平面の内部辺と境界辺を示す説明図である。図7に示す平面に、13本の辺が含まれる。なお、1本の辺を取得する度に、下記の辺分類部1022で分類してもよい。   For each plane, the following processing is performed to obtain plane outline information. First, the edge acquisition unit 1021 acquires a set of all edges on the plane. Here, the set of sides includes three sides of each triangle on the plane. FIG. 7 is an explanatory diagram illustrating an inner side and a boundary side of a plane according to an embodiment of the disclosed technology. The plane shown in FIG. 7 includes 13 sides. Note that each time one edge is acquired, it may be classified by the following edge classification unit 1022.

次に、辺分類部1022は辺の種類を分類する。ここで、有界平面における辺は、内部辺と境界辺との2種類に分けられる。本実施例では、簡単な方法で辺の分類を行う。ある辺が該平面における2つの三角形に共通しているなら、該辺を内部辺に分類し、そうでなければ、該辺を境界辺に分類する。例えば、図7の三角形F1とF2とが共通する辺は内部辺であり、同じ理由により、他の数本の細線(点線を含む)も内部辺である。一方、太い線で示す辺は平面における一つの三角形のみに属するので、それらの辺は境界辺である。   Next, the side classification unit 1022 classifies the types of sides. Here, the side in the bounded plane is divided into two types, an internal side and a boundary side. In this embodiment, edge classification is performed by a simple method. If a side is common to two triangles in the plane, classify the side as an internal side, otherwise classify the side as a boundary side. For example, the side where the triangles F1 and F2 in FIG. 7 are common is the inner side, and for the same reason, several other thin lines (including dotted lines) are also the inner side. On the other hand, since the sides indicated by the thick lines belong to only one triangle in the plane, those sides are boundary sides.

最後に、辺削除部1023は平面における全ての内部辺を削除し、境界辺を保留する。それら境界辺同士は首尾接続でクローズド領域を構成する。それら境界辺は平面の輪郭情報を表している。   Finally, the edge deleting unit 1023 deletes all internal edges on the plane and reserves the boundary edges. These boundary sides constitute a closed region by successful connection. These boundary sides represent plane outline information.

全ての平面について上記処理を終了すると、全ての平面の境界辺に基づいてモデルの輪郭を構成する。図8は三次元モデルの輪郭図形を示す。本実施形態では、輪郭情報を図形の形式で記述し、モデルの頂点(黒い四角形で示す)を図形のノードとし、モデルの輪郭線を図形の辺とする。輪郭図形抽出方法として、類似する凸包(convex hull)を求める方法を用いて、平面における各三角形からなる領域のエッジを決定することもできる。この方法によれば、比較的に簡単なモデルでも正確な輪郭を得られる。   When the above processing is completed for all the planes, the contour of the model is constructed based on the boundary sides of all the planes. FIG. 8 shows an outline figure of a three-dimensional model. In this embodiment, the contour information is described in the form of a graphic, the vertex of the model (indicated by a black square) is a graphic node, and the model's contour is a graphic side. As a contour graphic extraction method, a method of obtaining a similar convex hull can be used to determine the edge of each triangle region on a plane. According to this method, an accurate contour can be obtained even with a relatively simple model.

[輪郭図形分割]
図1Aに戻り、三次元モデル分割装置が実行するステップS103で輪郭図形を分割する。一実施形態では、このステップは、子図形取得部1031が入力される輪郭図形を複数の重ならない子図形に分割する子図形取得ステップと、再構成部1034が各子図形の輪郭を再構成する、すなわち、子図形毎に相応する三次元実体を再構成する再構成ステップとを含む。すなわち、本実施形態では、輪郭図形分割部103は子図形取得部1031と再構成部1034で構成される。
[Outline figure division]
Returning to FIG. 1A, the contour figure is divided in step S103 executed by the three-dimensional model dividing apparatus. In one embodiment, this step includes a child graphic acquisition step in which the contour graphic input by the child graphic acquisition unit 1031 is divided into a plurality of non-overlapping child graphics, and the reconstruction unit 1034 reconstructs the contour of each child graphic. That is, a reconstruction step of reconstructing a corresponding three-dimensional entity for each child figure is included. That is, in the present embodiment, the contour graphic dividing unit 103 includes a child graphic acquisition unit 1031 and a reconstruction unit 1034.

本実施形態では、ステップS103で、まず、子図形取得部1031は、全ての頂点(輪郭図形の頂点と入力されるモデルの頂点とは一対一に対応しているので、特に区分する必要がない時に、それらを頂点と言う)を複数の子集合に割り当てる。ここで、一つの子集合における頂点と他の子集合における頂点とは繋がらない。言い換えれば、相互接続される頂点を一つの集合に割り当て、相互接続されない頂点を異なる集合に割り当てる。詳しくは、例えば、以下の手順1〜6を実行する。   In this embodiment, first, in step S103, the child figure acquisition unit 1031 does not need to be divided in particular since all the vertices (the vertices of the outline figure and the vertices of the input model correspond one-to-one. Assign them to multiple child sets. Here, vertices in one child set are not connected to vertices in another child set. In other words, interconnected vertices are assigned to one set and non-interconnected vertices are assigned to different sets. Specifically, for example, the following procedures 1 to 6 are executed.

手順1では、子集合の数をn=0に初期化し、ノードの処理マークをP=0(i=1,2...,nV)にする。ここで、nVはノードの数を示し、各頂点の処理マークを全て0に初期化する。つまり、すべての頂点が処理されていない旨を示す。 In the procedure 1, the number of child sets is initialized to n = 0, and the processing mark of the node is set to P i = 0 (i = 1, 2,..., NV). Here, nV indicates the number of nodes, and all the processing marks at each vertex are initialized to zero. That is, all the vertices are not processed.

手順2では、未処理のノードがあれば、子図形の数をn=n+1に更新し、一つの未処理のノードNodeを始点としてランダムに選択し、一つの集合S={Node}を初期化する。 In the procedure 2, if there is an unprocessed node, the number of child figures is updated to n = n + 1, one unprocessed node Node n is randomly selected as a starting point, and one set S n = {Node n } Is initialized.

手順3では、集合Sにおけるノードと接続され、かつ集合に存在しない全てのノードを集合Sに合併する。手順4では、Sが変わらないまで上記の手順3を繰り返す。手順5では、ノードの処理マークを更新し、Sに含まれる全てのノードの処理マークを1に設定する。つまり、それらのノードが処理された旨を示す。手順6では、全てのノードが処理されると、上記手順を終了し、そうでなければ、上記の手順2に移行する。 In Step 3, it is connected to the node in the set S n, and all nodes that do not exist in the set to merge the set S n. In step 4, repeat step 3 above until does not change S n. In Step 5, to update the process marks the nodes, it sets the process marks all the nodes included in the S n to 1. That is, it indicates that those nodes have been processed. In the procedure 6, when all the nodes are processed, the procedure is terminated. Otherwise, the procedure proceeds to the procedure 2.

次に、各子集合について、該子集合におけるノード及びノード同士の辺により新しい子図形を構成する。図9に示す輪郭図形は、3つの子図形に分割され、各ノードを菱形、星型、円形に示し、そのうち、黒い四角形で示すノードはそれらの子図形を作成する3つの始点である。次に、再構成部1034は子図形毎に相応する三次元実体を再構成する。三次元実体を再構成することは、三次元実体モデルを再構成することであり、本明細書ではこれらを区分しないことにする。   Next, for each child set, a new child figure is formed by the nodes in the child set and the sides of the nodes. The contour graphic shown in FIG. 9 is divided into three child graphics, and each node is shown in a diamond shape, a star shape, and a circle. Among them, a node indicated by a black square is three starting points for creating the child graphics. Next, the reconstruction unit 1034 reconstructs a corresponding three-dimensional entity for each child graphic. Reconstructing a three-dimensional entity means reconstructing a three-dimensional entity model, and these are not classified in this specification.

[第2の輪郭図形分割方法]
開示技術の三次元モデル分割装置が実行する別の輪郭図形分割方法では、前記ステップS103は更に穴処理部1032で行われる穴処理ステップを含む。開示技術の一実施形態では、穴処理部1032は例えば穴判定部と穴モデル校正部を有する。それに対応して、穴処理ステップは穴判定ステップと穴モデル校正ステップを含む。
[Second outline figure dividing method]
In another contour graphic dividing method executed by the three-dimensional model dividing apparatus according to the disclosed technique, the step S103 further includes a hole processing step performed by the hole processing unit 1032. In an embodiment of the disclosed technology, the hole processing unit 1032 includes, for example, a hole determination unit and a hole model calibration unit. Correspondingly, the hole processing step includes a hole determination step and a hole model calibration step.

具体的には、三次元モデル分割装置は、穴判定ステップでは、まず、再構成部1034で再構成された各子図形の対応する三次元実体モデルは最初の三次元物体において一つの穴に対応するか否かを判定する。本実施形態では、穴であれば、面の方向が物体の内部に向かい、穴でなければ、面の方向が物体の外部に向かうという基本的な判断ルールが適用される。   Specifically, in the three-dimensional model dividing device, in the hole determination step, first, the corresponding three-dimensional entity model of each child figure reconstructed by the reconstruction unit 1034 corresponds to one hole in the first three-dimensional object. It is determined whether or not to do. In the present embodiment, a basic determination rule is applied that the direction of the surface is directed to the inside of the object if it is a hole, and the direction of the surface is directed to the outside of the object if it is not a hole.

この判断ルールを適用し、以下の手順により、入力される三次元実体モデルが穴であるか否かを判定する。手順1では、それぞれが物体の表面の外側に向かう平面の面積及び物体の表面の内側に向かう平面の面積を表す2つの変数Cnt1=0,Cnt2=0を初期化する。手順2では、該輪郭図形におけるすべての平面に対して上記の手順1を実行し、Cnt1とCnt2の数値を更新する。   By applying this determination rule, it is determined whether or not the input three-dimensional entity model is a hole by the following procedure. In the procedure 1, two variables Cnt1 = 0 and Cnt2 = 0 are initialized, each representing the area of a plane that faces the outside of the surface of the object and the area of the plane that faces the inside of the surface of the object. In step 2, the above step 1 is executed for all planes in the contour graphic, and the values of Cnt1 and Cnt2 are updated.

各平面plに対して以下の処理を実行する。平面plにおける頂点と接続されかつ該平面に存在しない頂点は全て該平面の一側にあるか否かを判定する。該平面の一側にない場合には、Cnt1とCnt2の数値を更新しない。全て該平面の一側にあると判断すれば、さらにそれらの点が該平面のプラス側にあるか又はマイナス側にあるかを判定する。本実施形態では、それらの点が平面に対する関係を(式7)により判定する。   The following processing is executed for each plane pl. It is determined whether all the vertices connected to the vertices in the plane pl and not existing in the plane are on one side of the plane. If it is not on one side of the plane, the values of Cnt1 and Cnt2 are not updated. If it is determined that they are all on one side of the plane, it is further determined whether those points are on the plus side or the minus side of the plane. In the present embodiment, the relationship between these points and the plane is determined by (Equation 7).

Figure 0005445199
Figure 0005445199

(式7)では、ベクトルnPは該平面の法線方向を、ベクトルPは該平面における一つの点を、ベクトルLはベクトルPと接続されるが該平面plに存在しない一つの点をそれぞれ示す。d>0であれば、該点が該平面のプラス側にある、すなわち、平面と直接接続される頂点が該平面のプラス側にあると判定される。該平面が物体の表面の外方に向かうと、Cnt1=Cnt1+αplに更新する。ここで、αplは平面plの面積を示す。 In (Expression 7), the vector nP indicates the normal direction of the plane, the vector P indicates one point on the plane, and the vector L indicates one point that is connected to the vector P but does not exist on the plane pl. . If d> 0, it is determined that the point is on the plus side of the plane, that is, the vertex directly connected to the plane is on the plus side of the plane. When the plane is directed toward the outside of the surface of the object is updated to Cnt1 = Cnt1 + α pl. Here, α pl indicates the area of the plane pl.

d<0であれば、該点が該平面のマイナス側にある、すなわち、平面と直接接続される頂点が該平面のマイナス側にあると判定される。該平面が物体の表面の内方に向かうと、Cnt2=Cnt2+αplに更新する。ここで、αplは平面plの面積を示す。 If d <0, it is determined that the point is on the minus side of the plane, that is, the vertex directly connected to the plane is on the minus side of the plane. When the plane is directed inwardly of the surface of the object is updated to Cnt2 = Cnt2 + α pl. Here, α pl indicates the area of the plane pl.

全ての平面について上記処理を終了すると、Cnt1とCnt2の大きさにより、該図形の対応する物体は穴であるか否かを決定する。Cnt1>Cnt2であれば、入力される図形の対応する物体は穴ではないと判定される。一方、Cnt1<Cnt2であれば、穴であると判定される。   When the above processing is completed for all the planes, it is determined whether or not the corresponding object of the figure is a hole based on the sizes of Cnt1 and Cnt2. If Cnt1> Cnt2, it is determined that the corresponding object of the input figure is not a hole. On the other hand, if Cnt1 <Cnt2, the hole is determined.

次に、該実体が穴と判定されると、穴モデル校正部によりM1及びM2(穴モデル校正部により該実体の全ての三角形の法線方向を変更する。すなわち、各三角形の場合、法線方向を相反する方向に変更する。)における全ての三角形の法線方向を変更する。それによって、モデルをレンダリング・表示しやすいようにモデルの表面の方向を外方に向かわせる。   Next, when the entity is determined to be a hole, the hole model calibration unit changes M1 and M2 (the hole model calibration unit changes the normal direction of all triangles of the entity. That is, in the case of each triangle, the normal line is changed. Change the normal direction of all triangles in). Thereby, the direction of the surface of the model is directed outward so that the model can be easily rendered and displayed.

[第3の輪郭図形分割方法]
開示技術の三次元モデル分割装置が実行する別の輪郭図形分割方法では、輪郭図形分割部は子図形取得部1031、切断面処理部1033、再構成部1034を有する。言い換えれば、本実施形態のステップS103は、子図形取得ステップと、再構成ステップと、切断面処理ステップとを含む。子図形取得ステップでは、子図形取得部1031が入力された輪郭図形を複数の重ならない子図形に分割する。再構成ステップでは、再構成部1034が各子図形の対応する三次元実体を再構成する、すなわち、子図形毎に相応する三次元実体を再構成する。切断面処理ステップでは、再構成部1034で再構成された各子図形の対応する三次元実体に切断面が含まれるか否かを判定し、切断面が含まれれば、切断面処理を行う。
[Third outline figure dividing method]
In another contour graphic dividing method executed by the 3D model dividing apparatus according to the disclosed technique, the contour graphic dividing unit includes a child graphic acquiring unit 1031, a cut surface processing unit 1033, and a reconstruction unit 1034. In other words, step S103 of the present embodiment includes a child figure acquisition step, a reconstruction step, and a cut surface processing step. In the child figure acquisition step, the child figure acquisition unit 1031 divides the input contour figure into a plurality of non-overlapping child figures. In the reconstruction step, the reconstruction unit 1034 reconstructs the corresponding three-dimensional entity of each child graphic, that is, reconstructs a corresponding three-dimensional entity for each child graphic. In the cut surface processing step, it is determined whether or not the corresponding three-dimensional entity of each child figure reconstructed by the reconstruction unit 1034 includes a cut surface. If the cut surface is included, the cut surface processing is performed.

本実施例では、切断面処理部1033は、入力される輪郭図形における全ての切断面を判定する切断面判定部と、切断面判定部で判定された切断面に基づき、該切断面を含む輪郭図形を分割し新しい子図形を得る輪郭図形再分割部とを有する。輪郭図形再分割部は分割部と、分割部で分割された子図形が適正であるか否かを判定する適正判定部とをさらに有する。   In this embodiment, the cut surface processing unit 1033 includes a cut surface determination unit that determines all cut surfaces in the input contour graphic, and a contour that includes the cut surface based on the cut surfaces determined by the cut surface determination unit. An outline figure subdivision unit that divides the figure and obtains a new child figure. The contour graphic re-dividing unit further includes a dividing unit and an appropriateness determining unit that determines whether or not the child graphic divided by the dividing unit is appropriate.

以下、まず切断面処理部1033による切断面判定基準を説明し、一実施例では、一つの平面を切断面と判定する最も重要な条件は、現在の平面上の頂点を除き、他の頂点が現在の平面の両側に分布されることである。ある平面において、平面上の頂点を除き、他の頂点が共に平面の同一の側にあれば、該平面を切断面ではないと判定する。   In the following, first, the criteria for determining the cutting plane by the cutting plane processing unit 1033 will be described. In one embodiment, the most important condition for determining one plane as a cutting plane is that vertices other than the vertex on the current plane are excluded. It is distributed on both sides of the current plane. In a certain plane, except for the vertex on the plane, if both the other vertices are on the same side of the plane, it is determined that the plane is not a cut surface.

図10は、切断面判定条件を例示する説明図である。図10に示す輪郭図形の場合では、黒い平面を例にする。この平面には、円形で示す2つの頂点及び四角形で示す2つの頂点、合計4つの頂点がある。四角形で示す2つの頂点については、それぞれと接続されかつ黒い平面に属しない頂点が1つあり、この2つの頂点が黒い平面のプラス側にある。一方、円形で示す2つの頂点については、それぞれと接続されかつ黒い平面に属しない頂点が1つあり、この2つの頂点が黒い平面のマイナス側にある。以上が、該平面が切断面としての最も重要な条件である。   FIG. 10 is an explanatory diagram illustrating cut surface determination conditions. In the case of the contour figure shown in FIG. 10, a black plane is taken as an example. This plane has a total of four vertices, two vertices indicated by a circle and two vertices indicated by a rectangle. Regarding the two vertices indicated by the rectangles, there is one vertex that is connected to each other and does not belong to the black plane, and these two vertices are on the positive side of the black plane. On the other hand, for two vertices indicated by a circle, there is one vertex that is connected to each other and does not belong to the black plane, and these two vertices are on the negative side of the black plane. The above is the most important condition for the plane as a cut surface.

上述した最も重要な条件に加えて、以下(1)〜(3)という補助条件を設定してもよい。
(1)該平面の面積とモデル表面積との比がある設定される閾値を下回ってはいけない。閾値は一般的には1以下である。
(2)平面上のいかなる頂点も、それと接続される頂点同士の辺と平面とがなす角度は、ある設定される閾値を下回ってはいけない。閾値は一般的には0以上である。
(3)平面上のいかなる頂点も、これと接続される頂点同士の長さはある設定される閾値を下回ってはいけない。閾値は一般的には0を超える。更に、経験に基づき、新しい条件を選択又は設定してもよい。
In addition to the most important conditions described above, the following auxiliary conditions (1) to (3) may be set.
(1) The ratio between the area of the plane and the model surface area should not fall below a set threshold. The threshold is generally 1 or less.
(2) For any vertex on the plane, the angle formed between the side of the vertex connected to the plane and the plane must not fall below a certain threshold. The threshold is generally 0 or more.
(3) For any vertex on the plane, the length of vertices connected to the vertex should not be less than a certain threshold value. The threshold is generally greater than zero. Furthermore, new conditions may be selected or set based on experience.

以下、輪郭図形再分割部の処理を説明する。前述したように、輪郭図形再分割部は取得された切断面により、入力される輪郭図形を複数の子図形に分割する。入力される輪郭図形は、一般的に、一つの以上の切断面を有する。本実施例では、入力される輪郭図形を複数の子図形に分割しきるまで各切断面を順次に処理する。別の実施例では、全ての平面に対する処理が終了するまで処理する、すなわち、全ての切断面を処理したが、入力された輪郭図形がまだ分割されていない場合には、入力された輪郭図形を分割をしないまま処理を終了する。   Hereinafter, the processing of the contour figure subdivision unit will be described. As described above, the contour graphic subdivision unit divides the input contour graphic into a plurality of child graphics by the acquired cut surface. An input contour graphic generally has one or more cut surfaces. In the present embodiment, each cut surface is sequentially processed until the input contour graphic is divided into a plurality of child graphics. In another embodiment, processing is performed until all planes have been processed, that is, all cut surfaces have been processed, but if the input contour graphic is not yet divided, the input contour graphic is The process ends without dividing.

図11は輪郭図形再分割部による処理の概要を示すフローチャートである。図11に示すように、本実施例では、輪郭図形再分割部による処理は主に、以下の2つの処理からなる。
(1)ある選定された切断面により、入力される輪郭図形を複数の子図形に分割する。
(2)分割結果が適正かどうかを判定する。
FIG. 11 is a flowchart showing an outline of processing by the contour figure subdivision unit. As shown in FIG. 11, in the present embodiment, the processing by the contour figure re-dividing unit mainly includes the following two processes.
(1) An input contour graphic is divided into a plurality of child graphics by a selected cut surface.
(2) Determine whether the division result is appropriate.

また、切断面の処理順序について、以下(1)〜(3)のルールを適用することができる。もちろん、処理中では、経験に基づきルールを選択する又は新しいルールを設定することができる。
(1)切断面の面積により順序付けて、面積が広い切断面の処理を優先する。
(2)切断面の頂点の数により順序付けて、頂点の数が多い切断面の処理を優先する。
(3)切断面の外部から切断面と直接接続される辺と切断面とがなす角度により順序付けて、角度が大きい平面の処理を優先する。
Further, the following rules (1) to (3) can be applied to the processing order of the cut surfaces. Of course, during the process, rules can be selected or new rules can be set based on experience.
(1) Order according to the area of the cut surface, and give priority to the processing of the cut surface with a large area.
(2) Order according to the number of vertices of the cut surface, and give priority to the processing of the cut surface having a large number of vertices.
(3) Priority is given to processing of a plane having a large angle by ordering according to the angle formed between the side directly connected to the cut surface and the cut surface from outside the cut surface.

図11に示すように、まず、三次元モデル分割装置は、ステップS1101で、変数iをi=1に初期化し、最初に選定された切断面から処理を開始する。次に、三次元モデル分割装置は、ステップS1102で、i番目の切断面候補により、入力される輪郭図形を分割する。次に、三次元モデル分割装置は、ステップS1103で、分割結果が適正かどうかを判定し、適正であれば(ステップS1104、Yes)、ステップS1106で分割結果を出力する。一方、三次元モデル分割装置は、分割結果が適正でなければ(ステップS1104、No)、ステップS1105で、次の切断面候補をiで示す。すなわち、三次元モデル分割装置は、i=i+1とする。次に、三次元モデル分割装置は、ステップS1107で、全ての切断面が処理されたか否かを判定する。具体的には、三次元モデル分割装置は、iは切断面の数nより大きいか否かを判定する。全ての切断面が処理されたら(ステップS1107、Yes)、三次元モデル分割装置は、ステップS1108で分割が成功しない旨の通知や報告を出力する。例えば、三次元モデル分割装置は、通知や報告は、テキストや音声や映像の形態で出力される。まだ全ての切断面が処理されていなければ(ステップS1107、No)、三次元モデル分割装置は、ステップS1102に戻る。   As shown in FIG. 11, first, in step S1101, the three-dimensional model dividing apparatus initializes a variable i to i = 1, and starts processing from the first selected cutting plane. Next, in step S1102, the 3D model dividing apparatus divides the input contour graphic by the i-th cutting plane candidate. Next, in step S1103, the 3D model dividing apparatus determines whether or not the division result is appropriate. If the division result is appropriate (Yes in step S1104), the division result is output in step S1106. On the other hand, if the division result is not appropriate (No in step S1104), the 3D model dividing apparatus indicates the next cut plane candidate as i in step S1105. That is, the three-dimensional model dividing apparatus sets i = i + 1. Next, in step S1107, the 3D model dividing apparatus determines whether all cut surfaces have been processed. Specifically, the three-dimensional model dividing apparatus determines whether i is larger than the number n of cut surfaces. When all the cut surfaces have been processed (step S1107, Yes), the 3D model dividing apparatus outputs a notification or report that the division is not successful in step S1108. For example, the 3D model dividing apparatus outputs notifications and reports in the form of text, audio, or video. If all the cut surfaces have not yet been processed (step S1107, No), the 3D model dividing apparatus returns to step S1102.

開示技術の実施形態では、三次元モデル分割装置は、分割されるモデル又は子図形に複数の切断面が含まれる場合に、該モデルに対応する輪郭図形を複数の子図形に適正に分割するまでそれらの切断面を順次に処理する。適正判定を通して、全ての切断面候補による分割結果が共に適正ではなければ、分割されるモデルは、分割をあきらめ、そのまま最終的な分割結果の一部として出力する。また、ある切断面の場合では、分割結果が適正ではなければ、該切断面による分割結果を放棄すると共に、その他の切断面により入力される輪郭図形の分割を行う。   In the embodiment of the disclosed technology, the three-dimensional model division apparatus, when a divided model or child figure includes a plurality of cut surfaces, until the contour figure corresponding to the model is properly divided into a plurality of child figures. Those cut surfaces are processed sequentially. If the division results of all the cutting plane candidates are not appropriate through the appropriateness determination, the model to be divided gives up the division and outputs it as a part of the final division result. In the case of a certain cut surface, if the division result is not appropriate, the division result by the cut surface is abandoned and the contour figure input by the other cut surfaces is divided.

以下、選定された切断面により輪郭図形を分割する処理を説明する。図12は輪郭図形再分割部における分割部による動作を示すフローチャートである。説明の便宜上、次のことを仮定する。切断面をCp(i=1,2,...,nC)とする。nCは検出された切断面の数を示し、該切断面には、切断面における頂点情報PC={pvi1,pvi2,...,pvin}と切断面の法線方向ベクトルNC、及び場合によって切断面の面積αCなどのデータ情報が含まれる。また、CとCは、切断面にある2種類の頂点からなる集合を示す。また、SとSは、切断面の外部にある2種類の頂点からなる集合を示す。また、proデータ配列は、点の処理マークを示す。 Hereinafter, the process of dividing the contour graphic by the selected cut surface will be described. FIG. 12 is a flowchart showing the operation of the dividing unit in the contour figure subdividing unit. For convenience of explanation, the following is assumed. The cut surface Cp i (i = 1,2, ... , nC) to. nC indicates the number of detected cut planes, and the cut planes include vertex information PC i = {pv i1 , pv i2,. . . , Pv in }, the normal vector NC of the cut surface, and possibly data information such as the area αC i of the cut surface. C 1 and C 2 indicate a set of two types of vertices on the cut surface. S 1 and S 2 indicate a set of two types of vertices outside the cut surface. Also, the pro data array indicates a point processing mark.

本実施例では、まず、分割部は、切断面の左側(一側)にある点を探し、次に切断面の右側(他側)にある点を探す。分割部は、左側の点及び切断面にある点を複数の子図形にカプセル化し、右側の点及び切断面にある点を複数の子図形にカプセル化する。   In this embodiment, first, the dividing unit searches for a point on the left side (one side) of the cut surface, and then searches for a point on the right side (other side) of the cut surface. The dividing unit encapsulates the left point and the point on the cut surface into a plurality of child figures, and encapsulates the right point and the point on the cut surface into a plurality of child figures.

別の実施例では、輪郭図形再分割部は、輪郭を複数の子図形に適正に分割するまで各切断面候補を順次に処理する。ある所定の切断面について、まず、切断面にある頂点及び切断面にある頂点と直接接続される頂点を含む切断面付近の頂点を、2つの子集合に割り当てる。次に、切断面付近の頂点以外の頂点について、それら頂点を2つの子集合に割り当てる。例えば、それらの頂点と2つの子集合における頂点との接続関係、及びそれらの頂点と切断面との位置関係に基づき、2つの子集合における頂点同士に切断面に亘る接続がないように割り当てる。   In another embodiment, the contour graphic subdivision unit sequentially processes each cutting plane candidate until the contour is properly divided into a plurality of child graphics. For a given cut surface, first, vertices near the cut surface including the vertexes on the cut surface and the vertices directly connected to the vertices on the cut surface are assigned to two child sets. Next, for vertices other than the vertices near the cut surface, these vertices are assigned to two child sets. For example, based on the connection relationship between the vertices and the vertices in the two child sets and the positional relationship between the vertices and the cut surface, the vertices in the two child sets are assigned so that there is no connection across the cut surface.

以下、図12を参照し、本実施例による分割部の処理を詳しく説明する。図12に示すように、まず、分割部は、ステップS1201で、頂点の処理マークをpro=false,k=1,2,...,nkに初期化する。ここで、nkは輪郭図形における頂点の数であり、全ての頂点がまだ処理されていないことを表す。 Hereinafter, with reference to FIG. 12, the processing of the dividing unit according to the present embodiment will be described in detail. As shown in FIG. 12, first, in step S <b> 1201, the dividing unit sets the vertex processing marks to pro k = false, k = 1, 2,. . . , Nk. Here, nk is the number of vertices in the contour graphic and represents that all vertices have not been processed yet.

次に、分割部は、ステップS1202で、切断面にある頂点を分類する。分割部は、ステップS1202では、切断面にある各頂点と切断面以外の頂点との接続関係により、切断面にある頂点を第1向き頂点と第2向き頂点との2種類に分類し、それぞれをCとCで表す。C={ベクトルC11,ベクトルC12,...,ベクトルCn1}であり、C={ベクトルC21,ベクトルC22,...,ベクトルCn2}である。ここで、n1、n2は2つの集合の大きさを示す。このために、分割部は、次の3つの手順を実行する。 Next, in step S1202, the dividing unit classifies the vertices on the cut surface. In step S1202, the dividing unit classifies the vertices on the cut surface into two types of vertices in the first direction and second vertices according to the connection relationship between the vertices on the cut surface and the vertices other than the cut surface. Is represented by C 1 and C 2 . C 1 = {vector C 11 , vector C 12 ,. . . , Vector C n1 } and C 2 = {vector C 21 , vector C 22 ,. . . , Vector C n2 }. Here, n1 and n2 indicate the sizes of the two sets. For this purpose, the dividing unit executes the following three procedures.

分割部は、手順1では、第1向き集合Cと第2向き集合Cという2つの空集合を初期化する。分割部は、手順2では、切断面にある各頂点を順次処理して分類する。切断面にある一つの頂点をベクトルPとし、該頂点と直接接続されるが該切断面に入らない頂点からなる集合をS={ベクトルL,ベクトルL,...,ベクトルLnl}とする。ここで、nlは点の数である。集合Sにおける各頂点ベクトルL(ここで、j=1,2,...,nl)について、辺ベクトルP→ベクトルLと切断面の法線方向との内積d=(ベクトルL−ベクトルP)・ベクトルNCを算出する。dは0より大きければ、該頂点を第1向き集合Cに入れる一方、dは0より小さければ、該頂点を第2向き集合Cに入れる。すなわち、一部の頂点が2つの集合に包含される可能性がある。 Dividing unit, in step 1, and initializes the first direction set C 1 and two empty set of second direction set C 2. In step 2, the dividing unit sequentially processes and classifies each vertex on the cut surface. One vertex on the cutting plane is set as a vector P, and a set of vertices directly connected to the vertex but not entering the cutting plane is defined as S = {vector L 1 , vector L 2 ,. . . , Vector L nl }. Here, nl is the number of points. For each vertex vector L j (where j = 1, 2,..., Nl) in the set S, the inner product d j = (vector L j of the edge vector P → vector L j and the normal direction of the cut surface) -Vector P)-Vector NC is calculated. If d j is greater than 0, the vertex is placed in the first direction set C 1 , while if d j is less than 0, the vertex is placed in the second direction set C 2 . That is, some vertices may be included in the two sets.

分割部は、手順3では、切断面にある各頂点の処理マークをそれら頂点が処理された旨を示すtrueに更新する。図10に示すように、黒い切断面にある4つの頂点が2種類に分けられ、そのうち、Cは四角形で示す2つの頂点を、Cは円形で示す2つの頂点をそれぞれ含む。 In step 3, the dividing unit updates the processing mark of each vertex on the cut surface to true indicating that the vertex has been processed. As shown in FIG. 10, the four vertices on the black cut surface are divided into two types, of which C 1 includes two vertices indicated by squares and C 2 includes two vertices indicated by circles.

次に、分割部は、ステップS1203で、切断面にある頂点と直接接続されるが該切断面に入らない頂点を、第1向き側頂点と第2向き側頂点に分類する。このステップでは、平面における頂点と直接接続されるが切断面に入らない頂点は2種類に分けられ、それぞれをSとSで表す。S={ベクトルs11,ベクトルs12,...,ベクトルssl}であり、S={ベクトルs21,ベクトルs22,...,ベクトルss2}である。ここで、s1、s2はそれぞれ2つの集合の大きさを表す。分割部は、次の手順によりこの2つの頂点からなる集合を得られる。 Next, in step S1203, the dividing unit classifies vertices that are directly connected to the vertices on the cut surface but do not enter the cut surface into first-direction vertices and second-direction vertices. In this step, vertices that are directly connected to the vertices on the plane but do not enter the cut surface are divided into two types, which are denoted by S 1 and S 2 , respectively. S 1 = {vector s 11 , vector s 12 ,. . . , Vector s sl }, and S 2 = {vector s 21 , vector s 22 ,. . . , Vector s s2 }. Here, s1 and s2 each represent the size of two sets. The dividing unit can obtain a set of these two vertices by the following procedure.

分割部は、手順1では、第1向き側集合Sと第2向き側集合Sという2つの空集合を初期化する。分割部は、手順2では、集合Cにおける各頂点ベクトルc1i(ここで、i=1,2,...,nl)を順次に処理する。例えば、分割部は、頂点ベクトルc1iについて、頂点ベクトルc1iと接続されるが該切断面に属しない頂点からなる集合をT={ベクトルt11,ベクトルt12,...,ベクトルttl}とする。ここで、tlは、点の数を表す。Tの各頂点ベクトルt1j(ここで、j=1,2,...,tl)を順次に処理し、辺ベクトルc1i→ベクトルt1jと切断面の法線方向との内積がプラスであり、かつ集合Sにベクトルt1jが含まなければ、ノードベクトルt1jを集合Sに入れる。 Dividing unit, in step 1, and initializes the first orientation side set S 1 and two empty set of second orientation side set S 2. In step 2, the dividing unit sequentially processes each vertex vector c 1i (where i = 1, 2,..., Nl) in the set C 1 . For example, for the vertex vector c 1i , the dividing unit defines a set of vertices connected to the vertex vector c 1i but not belonging to the cut surface as T 1 = {vector t 11 , vector t 12 ,. . . , Vector t tl }. Here, tl represents the number of points. Each vertex vector t 1j of T 1 (where j = 1, 2,..., Tl) is sequentially processed, and the inner product of the edge vector c 1i → vector t 1j and the normal direction of the cut surface is positive. , and the and the set S 1 unless contains vector t 1j, add node vector t 1j in the set S 1.

分割部は、手順3では、集合Cにおける各頂点ベクトルc2i(ここで、i=1,2,...,n2)を順次に処理する。分割部は、頂点ベクトルc2iについて、頂点ベクトルc2iと接続されるが該切断面に属しない頂点からなる集合をT={ベクトルt21,ベクトルt22,...,ベクトルtt2}とする。ここで、t2は、点の数を表す。Tの各頂点ベクトルt2j(ここで、j=1,2,...,tl)を順次に処理し、辺ベクトルc2i→ベクトルt2jと切断面の法線方向との内積がプラスであり、かつ集合Sにベクトルt2jが含まなければ、ノードベクトルt2jを集合Sに入れる。 In step 3, the dividing unit sequentially processes each vertex vector c 2i (where i = 1, 2,..., N2) in the set C 2 . Dividing section, the vertex vectors c 2i, vertex vectors but is connected to the c 2i a set consisting of vertices that do not belong to該切section T 2 = {vector t 21, the vector t 22,. . . , Vector t t2 }. Here, t2 represents the number of points. Each vertex vector t 2j of T 2 (where j = 1, 2,..., Tl) is sequentially processed, and the inner product of the edge vector c 2i → vector t 2j and the normal direction of the cut surface is positive. , and the and the set S 2 if included vector t 2j, add node vector t 2j in the set S 2.

分割部は、手順4では、集合Sと集合Sにおける各頂点の処理マークをそれらの頂点が処理された旨を示すtrueに更新する。なお、上記4つの手順は必ずしも説明の順に実行されるものではなく、幾つかの手順は同時に実行されてもよく、また、順序通りに実行される場合でも、実行される順序を説明の順とは変更してもよい。 Dividing section, in Step 4, it is updated to true indicating a processing mark of each vertex in the set S 1 and set S 2 indicating that their vertices have been processed. Note that the above four procedures are not necessarily executed in the order of explanation, and some procedures may be executed at the same time. Even when they are executed in order, the order of execution is the same as the order of explanation. May be changed.

図10に示すように、黒い切断面にある4つの頂点と直接接続される4つの頂点が2種類に分けられる。そのうち、集合Sは2つの頂点を含み、図10に示すように、この2つの頂点は破線により円形で示す2つの頂点と接続される。一方、集合Sは2つの頂点を含み、この2つの頂点は実線により四角形で示す2つの頂点と接続される。次に、分割部は、ステップS1204で、残りの頂点を分類する。最後に、分割部は、ステップS1205で、分類の結果に基づき、輪郭図形を分割する。 As shown in FIG. 10, the four vertices directly connected to the four vertices on the black cut surface are divided into two types. Of these, the set S 1 includes two vertices, as shown in FIG. 10, the two vertices are connected to the two vertices indicated by the circle with broken lines. Meanwhile, the set S 2 includes two vertices, the two vertices are connected to the two vertices indicated by squares with solid lines. Next, in step S1204, the dividing unit classifies the remaining vertices. Finally, in step S1205, the dividing unit divides the contour graphic based on the classification result.

分割部は、ステップS1204において、頂点がどの側にあるかに基づき、頂点を直接分類することで実施形態を簡略化することができる。この実施形態は構造の簡単なモデルに適用できる。以下、ステップS1204の簡略化した実施形態の処理手順を詳しく説明する。分割部は、ステップS1204では、残りの頂点を分類する。ここで残りの頂点は、未処理の頂点、すなわち、切断面の外部にあり、かつ切断面にある頂点と接続される辺がない部分の頂点を意味する。かかる処理には、三次元モデル分割装置は、図13に示す各ステップを実行する。図13は残りの頂点を分類する処理の概要を示すフローチャートである。   In step S1204, the dividing unit can simplify the embodiment by directly classifying the vertices based on which side the vertices are located. This embodiment can be applied to a simple model of the structure. Hereinafter, the processing procedure of the simplified embodiment of step S1204 will be described in detail. In step S1204, the dividing unit classifies the remaining vertices. Here, the remaining vertices mean unprocessed vertices, that is, vertices that are outside the cut surface and have no sides connected to the vertices on the cut surface. For such processing, the three-dimensional model dividing apparatus executes the steps shown in FIG. FIG. 13 is a flowchart showing an outline of processing for classifying the remaining vertices.

図13に示すように、まず、三次元モデル分割装置は、ステップS1301で、全ての未処理頂点を2つの集合XとXに割り当てる。ここで、Xは集合Sの頂点を始点として展開して得られる点からなる集合を有する。また、Xは集合Sの頂点を始点として展開して得られる点からなる集合を有する。このような(XとX)2つの集合を得るために、下記の手順1〜4を実行する。手順1では、XとXという2つの空集合を初期化する。手順2では、集合Sの頂点と接続され、かつ処理されない頂点をすべて集合Xに分類し、集合Sの頂点と接続され、かつ処理されない頂点をすべて集合Xに分類する。手順3では、Xが変更しなくなるまで、Xの頂点を始点として展開し、Xの頂点と接続され、かつ処理されない頂点をすべてその内部に包含する。また、Xが変更しなくなるまで、Xの頂点を始点として展開し、Xの頂点と接続され、かつ処理されない頂点をすべてその内部に包含する。手順4では、XとXの各頂点が1回しか現れないようにXとXを処理する。 As shown in FIG. 13, the 3D model dividing apparatus first assigns all unprocessed vertices to two sets X 1 and X 2 in step S1301. Here, X 1 has a set of points obtained by expanding the vertex of the set S 1 as a starting point. X 2 has a set of points obtained by expanding the vertex of the set S 2 as a starting point. In order to obtain such two sets (X 1 and X 2 ), the following steps 1 to 4 are performed. In procedure 1, two empty sets X 1 and X 2 are initialized. In the procedure 2, all the vertices connected to the vertices of the set S 1 and not processed are classified into the set X 1 , and all the vertices connected to the vertices of the set S 2 and not processed are classified into the set X 2 . In the procedure 3, until X 1 is not changed, the vertex of X 1 is expanded as a start point, and all vertices connected to the vertex of X 1 and not processed are included therein. Until X 2 is not changed, the vertex of X 2 is expanded as a starting point, and all vertices that are connected to the vertex of X 2 and are not processed are included therein. In step 4, each vertex of X 1 and X 2 are processed only the X 1 and X 2 so as not to appear once.

次に、三次元モデル分割装置は、ステップS1302で、集合XとXとの共通の点を求めて集合XC=X∩X={ベクトルxc,ベクトルxc,...,ベクトルxcnc}を構成する。ここで、ncは共通の点の数を表す。 Next, in step S1302, the three-dimensional model dividing apparatus obtains a common point between the sets X 1 and X 2 and sets XC = X 1 ∩X 2 = {vector xc 1 , vector xc 2 ,. . . , Vector xc nc }. Here, nc represents the number of common points.

次に、三次元モデル分割装置は、ステップS1303で、集合XCは空であるか否かを判定する。具体的には、三次元モデル分割装置は、ncは0であるか否かを判定する。XCは空であると判定されると(ステップS1303、Yes)、三次元モデル分割装置は、ステップS1304に移行し、集合XとXそれぞれを第1向き側集合Sと第2向き側集合Sに合併する。一方、XCは空ではないと判定されると(ステップS1303、No)、三次元モデル分割装置は、ステップS1305に移行し、集合XCから頂点候補を求めると共に、未処理頂点を分類してから、ステップS1301に移行する。三次元モデル分割装置は、全ての頂点について上記処理を終了するまで上記手順を繰り返す。 Next, in step S1303, the 3D model dividing apparatus determines whether the set XC is empty. Specifically, the 3D model dividing apparatus determines whether nc is 0 or not. If XC is determined to be empty (step S1303, Yes), the three-dimensional model divided device, the process proceeds to step S1304, it sets X 1 and X 2, respectively the first direction side set S 1 second orientation side to merge the set S 2. On the other hand, if it is determined that XC is not empty (step S1303, No), the 3D model dividing apparatus proceeds to step S1305, obtains vertex candidates from the set XC, and classifies unprocessed vertices. The process moves to step S1301. The three-dimensional model dividing apparatus repeats the above procedure until the above processing is completed for all vertices.

三次元モデル分割装置が実行するステップS1305は、共通の点からなる集合XCから適正の頂点を求め、未処理頂点を更に分類する。このために、本実施形態では、図14に示す手順によって処理される。図14は、図13のステップS1305の処理を詳しく示す図である。図14に示すように、まず、三次元モデル分割装置は、ステップS1501で集合XCから全ての頂点候補からなる集合を求める。次に、三次元モデル分割装置は、ステップS1502で集合候補から最適な頂点を求め、最後にステップS1503で、ステップS1502で選定された頂点により適当な処理を実行し、未処理頂点を更に分類する。つまり、共通の頂点があれば、すなわち、XCが空でなければ、集合Xと集合Xの頂点同士に切断面に亘る接続が存在することを意味する。したがって、三次元モデル分割装置は、それら頂点を求めると共に、新しい頂点を適当に追加し、残りの頂点を継続分類することにより、それら頂点を2つの子集合に割り当てる。 In step S1305 executed by the three-dimensional model dividing apparatus, appropriate vertices are obtained from the set XC including common points, and the unprocessed vertices are further classified. For this reason, in this embodiment, processing is performed according to the procedure shown in FIG. FIG. 14 is a diagram showing in detail the process of step S1305 of FIG. As shown in FIG. 14, first, the 3D model dividing apparatus obtains a set of all vertex candidates from the set XC in step S1501. Next, in step S1502, the 3D model dividing apparatus obtains an optimum vertex from the set candidate, and finally, in step S1503, an appropriate process is performed using the vertex selected in step S1502, thereby further classifying unprocessed vertices. . That is, if there is a common vertex, that is, if XC is not empty, it means that there is a connection across the cutting plane between the vertices of the set X 1 and the set X 2 . Therefore, the 3D model dividing apparatus assigns the vertices to the two child sets by obtaining the vertices, adding new vertices appropriately, and continuing classification of the remaining vertices.

以下、三次元モデル分割装置が実行する全ての頂点候補からなる集合CVを求めるステップS1501の処理を詳しく説明する。三次元モデル分割装置が実行するこのステップは、以降の処理に備えるステップである。三次元モデル分割装置は、集合XCから全ての頂点候補からなる集合を求め、求められた集合をCV={ベクトルcv,ベクトルcv,...,ベクトルcvnc}で表す。ここで、ncは頂点候補の数を示す。本実施形態による方法では、三次元モデル分割装置は、ある特別な条件を満足する頂点のみを頂点候補とする。集合XCにおけるいずれかの頂点ベクトルPを例にし、それと接続される頂点からなる集合をL={ベクトルL,ベクトルL,...,ベクトルLnl}とする。該頂点がノード候補であるか否かを判定するために、三次元モデル分割装置は、切断面における頂点からいずれかの頂点ベクトルCを補助ノードと選択する。次に、三次元モデル分割装置は、dとdを(式8)より算出する。 Hereinafter, the process of step S1501 for obtaining a set CV composed of all vertex candidates executed by the 3D model dividing apparatus will be described in detail. This step executed by the three-dimensional model dividing apparatus is a step for preparing for the subsequent processing. The three-dimensional model dividing apparatus obtains a set of all vertex candidates from the set XC, and the obtained set is represented by CV = {vector cv 1 , vector cv 2 ,. . . , Vector cv nc }. Here, nc indicates the number of vertex candidates. In the method according to the present embodiment, the three-dimensional model dividing apparatus sets only vertices that satisfy certain special conditions as vertex candidates. Taking one of the vertex vectors P in the set XC as an example, let L = {vector L 1 , vector L 2 ,. . . , Vector L nl }. In order to determine whether or not the vertex is a node candidate, the 3D model dividing apparatus selects any vertex vector C from the vertices on the cut plane as an auxiliary node. Next, the three-dimensional model dividing apparatus calculates d and d k from (Equation 8).

Figure 0005445199
Figure 0005445199

ここで、|ベクトルa|はベクトルaのノルムを示し、ベクトルa・ベクトルbは2つのベクトルの内積をそれぞれ示す。頂点ベクトルPは、以下に示す3つの条件のうち、いずれか1つを満足した場合に、頂点候補だと考えられる。   Here, | vector a | represents the norm of vector a, and vector a and vector b represent inner products of two vectors, respectively. The vertex vector P is considered a vertex candidate when any one of the following three conditions is satisfied.

(条件1)|d|≦εとし、εは0に近い値であり、かつ∋k、d>0又はd<0を満足する条件である。すなわち、条件1では、頂点ベクトルPは切断面にあり、該点を境にし、それと接続されかつ切断面の両側にある各頂点を2つの集合に割り当てる。 (Condition 1) | d | ≦ ε, where ε is a value close to 0 and satisfies ∋k, d k > 0 or d k <0. That is, in the condition 1, the vertex vector P is on the cutting plane, and each vertex connected to the vertex and on both sides of the cutting plane is assigned to two sets.

(条件2)|d|>λかつd>0とし、λは0以上1以下の値であり、かつ∋k、|d|≦ε又はd<0かつ|d|>λを満足する条件である。すなわち、条件2では、頂点ベクトルPは切断面のプラス側にあり、該点と接続される頂点には切断面のマイナス側にある頂点が存在する。この場合、いくつかの頂点を追加して分類しなければならない。それら頂点は切断面に亘る接続線と切断面との交点であり、それら交点を境にし、ベクトルP及びベクトルPと接続されかつ切断面のマイナス側にある頂点を2つの集合に割り当てる。 (Condition 2) | d |> λ and d> 0, λ is a value of 0 to 1, and satisfies ∋k, | d k | ≦ ε or d k <0 and | d k |> λ It is a condition to do. That is, in condition 2, the vertex vector P is on the plus side of the cut surface, and the vertex connected to the point has a vertex on the minus side of the cut surface. In this case, some vertices must be added and classified. These vertices are the intersections of the connection line and the cutting plane across the cutting plane, and the vector P and the vertex on the negative side of the cutting plane that are connected to the vector P and assigned to the two sets are assigned to the two sets.

(条件3)|d|>λかつd<0とし、λは0以上1以下の値であり、かつ∋k、|d|≦ε又は|d|>λかつd>0を満足する条件である。すなわち、条件3では、ベクトルPは切断面のマイナス側にあり、該点と接続される頂点には切断面のプラス側にある頂点が存在する。この場合、いくつかの頂点を追加して分類しなければならない。それら頂点は切断面に亘る接続線と切断面との交点であり、それら交点を境にし、ベクトルP及びベクトルPと接続されかつ切断面のプラス側にある頂点を2つの集合に割り当てる。 (Condition 3) | d |> λ and d <0, where λ is a value between 0 and 1, and satisfies ∋k, | d k | ≦ ε or | d k |> λ and d> 0 It is a condition. That is, in condition 3, the vector P is on the minus side of the cut surface, and the vertex connected to the point has a vertex on the plus side of the cut surface. In this case, some vertices must be added and classified. These vertices are the intersections of the connection line and the cut surface across the cut plane, and the vector P and the vertex connected to the vector P and on the plus side of the cut plane are assigned to the two sets at the intersection.

以下、三次元モデル分割装置が実行する集合候補から最適な頂点を選択するステップS1502の処理を詳しく説明する。三次元モデル分割装置が実行するこのステップは集合候補から最適な一つの頂点を求め、以降の処理に備えるステップである。本実施形態では、S=S∪Sの頂点から最も距離が近い頂点ベクトルspが最適な頂点とする。本実施形態では、三次元モデル分割装置は、輪郭図形の全ての辺の長さを1とし、頂点間の最も短い経路で2つの頂点間の距離を測定する。三次元モデル分割装置は、下記の手順により頂点ベクトルspを決定する。 Hereinafter, the process of step S1502 for selecting the optimum vertex from the set candidates executed by the 3D model dividing apparatus will be described in detail. This step executed by the three-dimensional model dividing apparatus is a step for obtaining one optimum vertex from the set candidate and preparing for the subsequent processing. In the present embodiment, the vertex vector sp closest to the vertex of S = S 1 ∪S 2 is the optimum vertex. In the present embodiment, the three-dimensional model dividing apparatus measures the distance between two vertices along the shortest path between vertices, with the length of all sides of the contour figure being 1. The three-dimensional model dividing apparatus determines the vertex vector sp by the following procedure.

三次元モデル分割装置は、CVの各頂点ベクトルcv(ここで、k=1,2,...,nc)から集合Sまでの距離を算出する。ここで、三次元モデル分割装置は、ベクトルcvからSまでの距離を(式9)により算出する。ここで、dis(ベクトルcv,ベクトルs)は頂点ベクトルcvからベクトルsまでの最も短い距離を表す。 The three-dimensional model dividing apparatus calculates the distance from each vertex vector cv k (where k = 1, 2,..., Nc) of the CV to the set S. Here, the three-dimensional model dividing apparatus calculates the distance from the vector cv k to S using (Equation 9). Here, dis (vector cv k , vector s) represents the shortest distance from the vertex vector cv k to the vector s.

Figure 0005445199
Figure 0005445199

ベクトルspを(式10)により決定する。   The vector sp is determined by (Equation 10).

Figure 0005445199
Figure 0005445199

以下、三次元モデル分割装置が実行するステップ1503で選定された頂点について、未処理頂点の種類情報の決定を説明する。選定された頂点候補は上記の3つの条件のいずれかを満足する可能性がある。三次元モデル分割装置は、異なる条件を満足する頂点に対して異なる処理を実行する。処理手順の説明に先立って、選択された頂点をベクトルPとし、それと接続される頂点からなる集合をL={ベクトルL,ベクトルL,...,ベクトルLnl}とする。次に、三次元モデル分割装置は、算出されたd及びd(ここで、k=1,2,...,nl)により下記の処理1〜3を実行する。 Hereinafter, determination of the type information of unprocessed vertices for the vertices selected in step 1503 executed by the 3D model dividing apparatus will be described. The selected vertex candidate may satisfy any of the above three conditions. The three-dimensional model dividing apparatus executes different processes for vertices that satisfy different conditions. Prior to the description of the processing procedure, a selected vertex is set as a vector P, and a set of vertices connected to the selected vertex is set as L = {vector L 1 , vector L 2 ,. . . , Vector L nl }. Next, the three-dimensional model dividing apparatus executes the following processes 1 to 3 based on the calculated d and d k (where k = 1, 2,..., Nl).

(処理1)頂点が条件1を満足すれば、三次元モデル分割装置は、下記の動作をする。
(1)三次元モデル分割装置は、頂点ベクトルPを集合CとCに追加し、該ノードの点処理マークをtrueに更新する。
(2)三次元モデル分割装置は、これと接続される各頂点を分類する。ここで、k=1,2,...,nlである。if(|d|≦ε)の場合には、三次元モデル分割装置は、頂点ベクトルcvを集合C、Cに追加する。elseif(d<0)の場合には、三次元モデル分割装置は、頂点ベクトルcvを集合Sに追加する。elseの場合には、三次元モデル分割装置は、頂点ベクトルcvを集合Sに追加する。
(3)三次元モデル分割装置は、集合Lの各頂点の処理マークをtrueに更新する。
(Process 1) If the vertex satisfies the condition 1, the three-dimensional model dividing apparatus performs the following operation.
(1) The 3D model dividing apparatus adds the vertex vector P to the sets C 1 and C 2 and updates the point processing mark of the node to true.
(2) The 3D model dividing apparatus classifies each vertex connected to the 3D model dividing apparatus. Here, k = 1, 2,. . . , Nl. In the case of if (| d k | ≦ ε), the 3D model dividing apparatus adds the vertex vector cv k to the sets C 1 and C 2 . If elseif of (d k <0), the three-dimensional model divided apparatus adds the vertex vector cv k in the set S 2. In the case of else, the 3D model dividing apparatus adds the vertex vector cv k to the set S 1 .
(3) The three-dimensional model dividing device updates the processing mark at each vertex of the set L to true.

(処理2)頂点が条件2を満足すれば、三次元モデル分割装置は、下記の動作をする。
(1)三次元モデル分割装置は、頂点ベクトルPを集合Sに追加し、該ノードの点処理マークをtrueに更新する。
(2)三次元モデル分割装置は、これと接続される各頂点を分類する。ここで、k=1,2,...,nlである。if(|d|≦ε)の場合には、三次元モデル分割装置は、頂点ベクトルcvを集合C、Cに追加する。elseif(d<0)の場合には、三次元モデル分割装置は、頂点ベクトルcvを集合Sに追加する。三次元モデル分割装置は、辺ベクトルP→ベクトルcvと切断面との交点ベクトルcを算出する。三次元モデル分割装置は、ベクトルP、ベクトルcv、ベクトルcの間の接続関係及び関係する平面情報を更新する。三次元モデル分割装置は、ベクトルcを集合C、Cに追加する。
(3)三次元モデル分割装置は、集合Lの各頂点の処理マークをtrueに更新する。
(Process 2) If the vertex satisfies the condition 2, the 3D model dividing apparatus performs the following operation.
(1) Three-dimensional model divided device adds the vertex vector P in the set S 1, to update the point processing mark of the node to true.
(2) The 3D model dividing apparatus classifies each vertex connected to the 3D model dividing apparatus. Here, k = 1, 2,. . . , Nl. In the case of if (| d k | ≦ ε), the 3D model dividing apparatus adds the vertex vector cv k to the sets C 1 and C 2 . If elseif of (d k <0), the three-dimensional model divided apparatus adds the vertex vector cv k in the set S 2. The three-dimensional model dividing apparatus calculates an intersection vector c between the edge vector P → vector cv k and the cut surface. The three-dimensional model dividing apparatus updates the connection relationship between the vector P, the vector cv k , and the vector c and the related plane information. The three-dimensional model dividing apparatus adds the vector c to the sets C 1 and C 2 .
(3) The three-dimensional model dividing device updates the processing mark at each vertex of the set L to true.

(処理3)頂点が条件3を満足すれば、三次元モデル分割装置は、下記の動作をする。
(1)三次元モデル分割装置は、頂点ベクトルPを集合Sに追加し、該ノードの点処理マークをtrueに更新する。
(2)三次元モデル分割装置は、これと接続される各頂点を分類する。ここで、k=1,2,...,nlである。if(|d|≦ε)の場合には、三次元モデル分割装置は、頂点ベクトルcvを集合C、Cに追加する。elseif(d>0)の場合には、三次元モデル分割装置は、頂点ベクトルcvを集合Sに追加する。三次元モデル分割装置は、辺ベクトルP→ベクトルcvと切断面との交点ベクトルcを算出する。三次元モデル分割装置は、ベクトルP、ベクトルcv、ベクトルcの間の接続関係及び関係する平面情報を更新する。三次元モデル分割装置は、ベクトルcを集合C、Cに追加する。
(3)三次元モデル分割装置は、集合Lの各頂点の処理マークをtrueに更新する。
(Process 3) If the vertex satisfies the condition 3, the 3D model dividing apparatus performs the following operation.
(1) Three-dimensional model divided device adds the vertex vector P into set S 2, and updates the point processing mark of the node to true.
(2) The 3D model dividing apparatus classifies each vertex connected to the 3D model dividing apparatus. Here, k = 1, 2,. . . , Nl. In the case of if (| d k | ≦ ε), the 3D model dividing apparatus adds the vertex vector cv k to the sets C 1 and C 2 . In the case of elseif (d k > 0), the 3D model dividing apparatus adds the vertex vector cv k to the set S 1 . The three-dimensional model dividing apparatus calculates an intersection vector c between the edge vector P → vector cv k and the cut surface. The three-dimensional model dividing apparatus updates the connection relationship between the vector P, the vector cv k , and the vector c and the related plane information. The three-dimensional model dividing apparatus adds the vector c to the sets C 1 and C 2 .
(3) The three-dimensional model dividing device updates the processing mark at each vertex of the set L to true.

以上からわかるように、処理2と処理3で説明した処理手順は共に接続及び関係する平面情報を更新する必要がある。三次元モデル分割装置は、選定されたノード候補をベクトルPとし、ベクトルPと接続されるk番目の頂点をベクトルcvとし、d、dの記号が相反であれば、辺ベクトルP→ベクトルcvと切断面との交点ベクトルcを算出する。そして、三次元モデル分割装置は、交点を新規のノードとして輪郭図形に追加すると共に、接続情報及び関係する平面情報を更新する。 As can be seen from the above, both the processing procedures described in the processing 2 and the processing 3 need to update connection and related plane information. If the selected node candidate is a vector P, the k-th vertex connected to the vector P is a vector cv k, and the symbols d and d k are contradictory, the edge vector P → vector An intersection vector c between cv k and the cut surface is calculated. Then, the 3D model dividing apparatus adds the intersection as a new node to the contour graphic and updates the connection information and related plane information.

まず、三次元モデル分割装置は、次の手順に従って接続情報を更新する。
(1)三次元モデル分割装置は、頂点ベクトルPとベクトルcvの間のつながりをカットする。
(2)三次元モデル分割装置は、ベクトルPとベクトルc,ベクトルcvとベクトルcの間のつながりを加える。
(3)三次元モデル分割装置は、ベクトルPとベクトルcvと共に接続される全ての頂点を求め、それら頂点とベクトルcの間のつながりを加える。
First, the 3D model dividing apparatus updates connection information according to the following procedure.
(1) The three-dimensional model dividing device cuts the connection between the vertex vector P and the vector cv k .
(2) The three-dimensional model dividing apparatus adds a connection between the vector P and the vector c, and the vector cv k and the vector c.
(3) The three-dimensional model dividing device obtains all vertices connected together with the vector P and the vector cv k , and adds a connection between the vertices and the vector c.

次に、三次元モデル分割装置は、以下の処理に従って関係する平面情報データを更新する。まず、三次元モデル分割装置は、新規追加された頂点ベクトルcを切断面に追加する。次に、三次元モデル分割装置は、ベクトルP及びベクトルcvを共に含む全ての平面を求め、それら平面に頂点ベクトルcを追加する。 Next, the 3D model dividing apparatus updates related plane information data according to the following processing. First, the three-dimensional model dividing apparatus adds the newly added vertex vector c to the cut surface. Next, the 3D model dividing apparatus obtains all planes including both the vector P and the vector cv k and adds the vertex vector c to these planes.

図13と図14に示す手順を併せて参照して、一つの頂点候補の処理が終了し、関係情報の更新が終了する度に、三次元モデル分割装置は、ステップS1301で集合XとXを取得し、XとXには共通の点があるか否かを判定する。共通の点があれば、三次元モデル分割装置は、ステップS1305で、全ての頂点の処理を終える又はXとXには共通の点がないまで分割を続行する。三次元モデル分割装置が実行する前記ステップS1204の処理により、平面上の頂点がCとCの2種類に分けられ、平面の外部にあるノードがSとSの2種類に分けられる。 Referring to the procedures shown in FIGS. 13 and 14 together, every time the processing of one vertex candidate is completed and the update of the relationship information is completed, the 3D model dividing apparatus acquires sets X 1 and X in step S1301. 2 acquires, for X 1 and X 2 determines whether there is a common point. If there is a common point, the three-dimensional model divided device, in step S1305, the or X 1 and X 2 completing the process for all the vertices to continue splitting until no common points. The processing at step S1204 that the three-dimensional model divided apparatus executes, the vertex of the plane is divided into two kinds of C 1 and C 2, a node that is external to the plane is divided into two types of S 1 and S 2 .

以下、三次元モデル分割装置が実行するステップS1205を詳しく説明する。図15は頂点分類結果に基づき子図形を作成する手順の概要を示すフローチャートである。三次元モデル分割装置は、ステップS1205で、まずCとSを合併して第1分割部分の点集合CSを得て、CとSを合併して第2分割部分の点集合CSを得る。次に、三次元モデル分割装置は、図15に示すステップに従って、2つの点集合CS、CSを個別に処理して、複数の新しい子図形を得る。図15では、(C、S、CS)は(C、S、CS)又は(C、S、CS)のいずれかを示す。 Hereinafter, step S1205 executed by the 3D model dividing apparatus will be described in detail. FIG. 15 is a flowchart showing an outline of a procedure for creating a child graphic based on the vertex classification result. Three-dimensional model divided device, in step S1205, first, to obtain a C 1 and point set CS 1 of the first divided portion complicated by S 1, the set point of the second divided portion merged with C 2 and S 2 get the CS 2. Next, the three-dimensional model dividing apparatus individually processes the two point sets CS 1 and CS 2 according to the steps shown in FIG. 15 to obtain a plurality of new child figures. In FIG. 15, (C, S, CS) indicates either (C 1 , S 1 , CS 1 ) or (C 2 , S 2 , CS 2 ).

図15に示すように、まず、三次元モデル分割装置は、ステップS1601で、CSにおける頂点を複数の子集合に割り当てる。このステップで、まず、CSの頂点をノードとし、切断面に属しない頂点同士のつながりにより、切断面における頂点と切断面の外部にある頂点との接続線を辺とし、一つの構造図Gを構成する。つまり、構造図Gには切断面における各頂点同士の接続線が含まれない。   As shown in FIG. 15, the 3D model dividing apparatus first assigns vertices in CS to a plurality of child sets in step S1601. In this step, first, the vertex of CS is a node, and the connection between the vertices that do not belong to the cut surface is the side of the connection line between the vertex on the cut surface and the vertex outside the cut surface, and Configure. That is, the structural diagram G does not include connection lines between vertices on the cut surface.

次に、子図形取得部1031によって、構造図Gを複数の分離する子図形に分割し、CSの全ての頂点を複数の子集合に分割する。分割された子集合をSubS={ベクトルpi1,ベクトルpi2,...,ベクトルpni}(i=1,2,...,ns)で表す。ここで、nsは、子集合の数を示し、niはi番目の子集合の頂点の数を示す。これに伴って、SubC={ベクトルpci1,ベクトルpci2,...,ベクトルpcni}、SubPS={ベクトルpsi1,ベクトルpsi2,...,ベクトルpsni}が得られる。ここで、ciはi番目の子図形の切断面にある頂点の数を示し、siはi番目の子図形の切断面の外部にある頂点の数を示す。 Next, the child figure acquisition unit 1031 divides the structural diagram G into a plurality of child figures to be separated, and divides all vertices of CS into a plurality of child sets. The divided child sets are denoted by SubS i = {vector p i1 , vector p i2 ,. . . , Vector p ni } (i = 1, 2,..., Ns). Here, ns indicates the number of child sets, and ni indicates the number of vertices of the i-th child set. Accordingly, SubC i = {vector pc i1 , vector pc i2 ,. . . , Vector pc ni }, SubPS i = {vector ps i1 , vector ps i2 ,. . . , Vector ps ni }. Here, ci represents the number of vertices on the cut surface of the i-th child graphic, and si represents the number of vertices outside the cut surface of the i-th child graphic.

次に、三次元モデル分割装置は、ステップS1602及びステップS1603で、子集合毎に、切断面に属する頂点同士の接続関係を更新して、新しい子図形を構成する。所定の切断面によって、入力される輪郭図形の頂点はCSとCSの2種類に分けられ、各種頂点は共に複数の部分からなるので、その接続情報に基づき、更に複数の子図形に分割する必要がある。このような場合は、実際にも存在し、例えば、切断面の上方に2つ以上の直方体が存在する場合などが挙げられる。 Next, in step S1602 and step S1603, the three-dimensional model dividing apparatus updates the connection relationship between the vertices belonging to the cut surface for each child set, and configures a new child figure. The predetermined cutting plane, the vertex of the contour shapes that are input is divided into two types of CS 1 and CS 2, since the various vertices are both comprised of a plurality of parts, based on the connection information, further divided into a plurality of child graphic There is a need to. Such a case actually exists, for example, a case where two or more rectangular parallelepipeds exist above the cut surface.

三次元モデル分割装置が実行するこのステップは、子集合SubS(i=1,2,...,ns)毎に相応する図Gを作成する。このために、三次元モデル分割装置は、まず、SubSの各頂点をノードとしてGに追加し、SubSの各頂点の間にある辺をGに追加する。 This step performed by the three-dimensional model dividing apparatus creates a corresponding figure G i for each child set SubS i (i = 1, 2,..., Ns). For this purpose, the 3D model dividing apparatus first adds each vertex of SubS i as a node to G i, and adds an edge between each vertex of SubS i to G i .

次に、三次元モデル分割装置は、下記の処理より、SubCの頂点の間に必要とする辺を追加することにより、有界な閉平面を構成する。まず、三次元モデル分割装置は、SubCと共通の頂点を有し、かつ、この数が2以上である全ての平面(切断面を含まない)を求め、求めた平面をpl(ここで、k=1,2,...,nk)で表し、nkはそのような平面の数を表す。 Next, the 3D model dividing apparatus forms a bounded closed plane by adding necessary edges between the vertices of SubC i by the following processing. First, the 3D model dividing apparatus obtains all planes (not including cut surfaces) having vertices in common with SubC i and having this number of 2 or more, and the obtained planes are designated as pl k (where , K = 1, 2,..., Nk), where nk represents the number of such planes.

次に、三次元モデル分割装置は、各平面pl(ここで、k=1,2,...,nk)について、該平面とSubCと共通の点が2つあれば、それら点をベクトルcとベクトルcで表す。この対となる頂点の間にそれらをつなげる辺がなければ、三次元モデル分割装置は、その辺を構造図Gに追加する。 Next, for each plane pl k (where k = 1, 2,..., Nk), if there are two points common to the plane and SubC i , the 3D model dividing apparatus determines these points. This is represented by vector c 1 and vector c 2 . Without edges connect them during the vertex to be the this pair, the three-dimensional model divided apparatus adds the edges to the structure diagram G i.

適正判定部は図形を分割して得る一連の子図形が適正であるか否かを判定する。本実施形態では、各子図形が三次元実体を作成する条件を有するか否かを判定するルールを次のように設定する。ある子図形Gを例にして、該子図形の全ての頂点を含む平面をPL={pl,pl,...,pl}(ここで、k=1,2,...,np)とする。ここで、npは平面の数を示す。PV={v,v,...,v}(ここで、k=1,2,...,nv)は頂点を示す。Gは下記の条件1〜4を全部満足して始めて、該子図形は三次元実体を作成する条件を有するようになる。 The appropriateness determination unit determines whether or not a series of child figures obtained by dividing a figure is appropriate. In the present embodiment, a rule for determining whether or not each child graphic has a condition for creating a three-dimensional entity is set as follows. Taking a child figure G as an example, a plane including all vertices of the child figure is denoted by PL = {pl 1 , pl 2 ,. . . , Pl k } (where k = 1, 2,..., Np). Here, np indicates the number of planes. PV = {v 1 , v 2 ,. . . , V k } (where k = 1, 2,..., Nv) indicates vertices. G begins to satisfy all of the following conditions 1 to 4, and the child figure has a condition for creating a three-dimensional entity.

(条件1)頂点の数は4以上、平面の数は4以上である。
(条件2)各平面に少なくとも3つの非共線の頂点が含まれる。
(条件3)各輪郭線は少なくとも2つの異なる平面に属する。
(条件4)各平面上の頂点は首尾接続で閉領域を構成しなければならない。
(Condition 1) The number of vertices is 4 or more, and the number of planes is 4 or more.
(Condition 2) Each plane includes at least three non-collinear vertices.
(Condition 3) Each contour line belongs to at least two different planes.
(Condition 4) The vertices on each plane must form a closed region with a successful connection.

前述したように切断面により分割されなかった子図形については、上記の判定を行わない。輪郭図形を複数の分離する子図形に分割する際に、一つ目の条件で判定してもよく、主に自由な点又は自由な平面を処理するためである。   As described above, the above determination is not performed for the child figures that are not divided by the cut surface. When the contour graphic is divided into a plurality of separated child graphics, the determination may be made under the first condition, mainly for processing a free point or a free plane.

以下、再構成部及び再構成ステップを説明する。再構成部及び再構成ステップは、入力される輪郭図形について対応する三次元実体を再構成する。かかる処理は、主に2つのステップを有する。まず、再構成部は、図形分割中で変化を生じた平面に三角化処理を実施して新しい三角形を作成する。次に、再構成部は、三次元物体の表面の法線方向を一致させるように、新たに作成された三角形の法線方向を校正する。   Hereinafter, the reconstruction unit and the reconstruction step will be described. The reconstruction unit and the reconstruction step reconstruct a corresponding three-dimensional entity for the input contour graphic. Such processing mainly has two steps. First, the reconstruction unit creates a new triangle by performing triangulation processing on a plane that has changed during figure division. Next, the reconstruction unit calibrates the normal direction of the newly created triangle so that the normal direction of the surface of the three-dimensional object matches.

三次元モデルを再構成する方法は様々あり、例えば、序列画像、深さデータ、スケルトンや輪郭などに基づく再構成方法がある。好ましくは、実施例では、次の再構成方法が適用される。   There are various methods for reconstructing a three-dimensional model. For example, there are reconstruction methods based on a sequence image, depth data, skeleton, contour, and the like. Preferably, in the embodiment, the following reconstruction method is applied.

図形分割中では、各平面は変化有りの平面と変化無しの平面という2種類に分類される。三角化処理では、再構成部は、変化有りの平面のみに三角化アルゴリズムを適用して、新しい三角形状の平面を作成し、最終の三次元物体の完全性(閉合性)を確保する。一方、変化無しの平面について、再構成部は、本実施例では従来の三角形データを適用する。以下、変化有りの平面を三角化する方法を中心に説明する。図16は開示技術の実施形態による平面を三角化する処理を示すフローチャートである。   During figure division, each plane is classified into two types: a plane with change and a plane without change. In the triangulation process, the reconstruction unit applies the triangulation algorithm only to the plane with change to create a new triangular plane, and ensures the integrity (closeness) of the final three-dimensional object. On the other hand, the reconstruction unit applies the conventional triangle data in the present embodiment for the plane without change. Hereinafter, a method for triangulating the plane with change will be mainly described. FIG. 16 is a flowchart illustrating a process for triangulating a plane according to an embodiment of the disclosed technology.

改めて三角化処理を行う平面をpl(ここで、i=1,2,...,nl)と定義する。ここで、nlは変化有りの平面の数を示し、ベクトルvik,(ここで、k=1,2,...,nk)はpl番目の平面上の点の数を示す。まず、三次元モデル分割装置が実行するステップS1601で、該平面にある全ての多角形を求める。平面上の各頂点は終始間違いなく接続されているので、三次元モデル分割装置は、次の手順に従って全ての多角形を検出し、検出された多角形をL={li,li,...,liin}(ここで、i=1,2,...,n)で表す。nは多角形の数を示し、Lにおける頂点序列は各多角形の頂点序列を示す。 A plane on which the triangulation process is performed again is defined as pl i (where i = 1, 2,..., Nl). Here, nl indicates the number of planes with change, and vector v ik , (where k = 1, 2,..., Nk) indicates the number of points on the pl i th plane. First, in step S1601 executed by the 3D model dividing apparatus, all polygons on the plane are obtained. Since the vertices on the plane are definitely connected from beginning to end, the 3D model dividing apparatus detects all polygons according to the following procedure, and detects the detected polygons as L i = {li 1 , li 2 , . . . , Li in } (where i = 1, 2,..., N). n indicates the number of polygons, and the vertex order in L i indicates the vertex order of each polygon.

三次元モデル分割装置は、多角形の数nを0に初期化し(n=0)、頂点の処理マークp=false(ここで、k=1,2,...,nk)は全ての頂点がまだ処理されていない旨を示す。三次元モデル分割装置は、多角形の数をn=n+1に更新し、未処理の頂点ベクトルvを始点としてランダムに選択し、それと接続される頂点のうちのいずれかに沿って徐々に延出し、頂点ベクトルvに戻るまで延出する。三次元モデル分割装置は、その得られた頂点序列をL={l,l,...,lnn}とし、n番目の多角形の頂点序列を表す。三次元モデル分割装置は、L={l,l,...,lnn}の頂点処理マークをそれら頂点が処理された旨を示すtrueに更新する。全ての頂点は共に処理されたら終了する。そうでなければ、三次元モデル分割装置は、上記手順の2に移行する。 The three-dimensional model dividing apparatus initializes the number n of polygons to 0 (n = 0), and vertex processing marks p k = false (where k = 1, 2,..., Nk) Indicates that the vertex has not yet been processed. Three-dimensional model divided unit updates the number of polygons to n = n + 1, randomly selected vertex vectors v r untreated as a starting point, therewith gradually extending along one of the vertices to be connected out, extending until it returns to the vertex vectors v r. The three-dimensional model dividing apparatus uses the obtained vertex order as L n = {l 1 , l 2 ,. . . , L nn } and represents the vertex order of the nth polygon. The three-dimensional model dividing apparatus has L n = {l 1 , l 2 ,. . . , L nn } is updated to true indicating that the vertices have been processed. When all vertices have been processed together, the process ends. Otherwise, the 3D model dividing apparatus proceeds to 2 of the above procedure.

次に、三次元モデル分割装置が実行するステップS1602では、多角形同士の包含関係を決定し、多角形を改めて構成する。前述した三次元モデル分割装置が実行するステップにより、平面上の各多角形が検出され、検出されたn個の多角形をL={li,li,...,liin}(ここで、i=1,2,...,n)とする。多角形の数が1の場合に、三次元モデル分割装置は、該多角形の頂点の順序が反時計方向か時計方向かを判定し、時計方向であれば反時計方向に変換する。 Next, in step S1602 executed by the three-dimensional model dividing apparatus, the inclusion relationship between polygons is determined, and the polygons are reconfigured. Each of the polygons on the plane is detected by the steps executed by the above-described three-dimensional model dividing apparatus, and the detected n polygons are expressed as L i = {li 1 , li 2 ,. . . , Li in } (where i = 1, 2,..., N). When the number of polygons is 1, the three-dimensional model dividing device determines whether the order of the vertexes of the polygon is counterclockwise or clockwise, and converts it to counterclockwise if it is clockwise.

多角形の数が1より大きければ、三次元モデル分割装置は、多角形同士の包含関係行列としてINi,j,i,j,...,nを算出する。INi,j=trueであれば、i番目の多角形にj番目の多角形が包含まれる。本実施例では、多角形Lの全ての頂点が、すべて別の多角形Lの内部にあれば、多角形Lは多角形Lを包含するという。以下、行列INi,j,i,j,...,nに基づきそれら多角形を構成し直すことを説明する。 If the number of polygons is greater than 1, the three-dimensional model dividing apparatus uses IN i, j , i, j,. . . , N is calculated. If IN i, j = true, the i-th polygon includes the j-th polygon. In the present embodiment, if all the vertices of the polygon L j are all inside another polygon L i , the polygon L i is said to include the polygon L j . Hereinafter, the matrices IN i, j , i, j,. . . , N to reconstruct these polygons.

まず、三次元モデル分割装置は、全ての簡単な多角形Poly(ここで、i=1,2,...,ni)を求める。ここでいう簡単な多角形とは、他の多角形を包含しない、かつ他の多角形に包含されない多角形である。外部多角形を求め、求めた多角形をPoly(ここで、k=1,2,...,nk)で表す。nkは外部多角形の数を示す。ここでいう外部多角形とは、いかなる他の多角形にも包含されないが、他の多角形を包含する多角形である。 First, the three-dimensional model dividing apparatus obtains all simple polygons Poly i (where i = 1, 2,..., Ni). A simple polygon here is a polygon which does not include other polygons and is not included in other polygons. An external polygon is obtained, and the obtained polygon is represented by Poly k (where k = 1, 2,..., Nk). nk indicates the number of external polygons. The external polygon referred to here is a polygon that is not included in any other polygon but includes another polygon.

三次元モデル分割装置は、各外部多角形を対象として一連の複雑な多角形を構成する。ここでいう各複雑な多角形は、一つの外部多角形及び該外部多角形に囲まれる多角形を含む。外部多角形Poly(ここで、k=1,2,...,nk)を例にし、該外部多角形に囲まれる多角形をLP={lpk1,lpk2,...lpkn}とする。knはPolyに囲まれる多角形の数を表し、そうすると、複雑な多角形をCPoly={Poly,LP}(ここで、k=1,2,...,nk)で表す。 The three-dimensional model dividing device forms a series of complex polygons for each external polygon. Each complicated polygon referred to here includes one external polygon and a polygon surrounded by the external polygon. An external polygon Poly k (where k = 1, 2,..., Nk) is taken as an example, and a polygon surrounded by the external polygon is expressed as LP k = {lp k1 , lp k2,. . . lp kn }. kn represents the number of polygons surrounded by Poly k , and then a complex polygon is represented by CPoly k = {Poly k , LP k } (where k = 1, 2,..., nk).

三次元モデル分割装置は、各簡単な多角形の頂点序列を反時計方向で並べる。三次元モデル分割装置は、複雑な多角形毎に、外部多角形を反時計方向で並べ、内部多角形を時計方向で並べる。次に、三次元モデル分割装置は、ステップS1603で、多角形を三角化する。一つの多角形を一連の多角形に変換する方法は様々である。まず、三次元モデル分割装置は、入力される多角形から一連の台形を得て、次に台形に適当な対角線を追加して、入力される多角形を一連の簡単な多角形に変換する。最後に、三次元モデル分割装置は、簡単な多角形を三角化するアルゴリズムにより一連の重ならない三角形を得る。開示技術の実施形態では、前段のステップで説明した簡単な多角形(単一の凹多角形又は凸多角形)及び複雑な多角形(すなわち、穴のある場合)を処理する方法を用いる。この方法では、三次元モデル分割装置は、走査線方法によりまず多角形を一連の台形に変換し、次に、ある台形に対角線を追加する。そして、三次元モデル分割装置は、対角線により多角形を一連の簡単な多角形に変換し、最後に簡単な多角形を三角化して最終の三角形序列を得る。   The three-dimensional model dividing device arranges the vertex order of each simple polygon in the counterclockwise direction. The three-dimensional model dividing apparatus arranges the outer polygon in the counterclockwise direction and the inner polygon in the clockwise direction for each complex polygon. Next, the 3D model dividing apparatus triangulates the polygon in step S1603. There are various ways to convert a polygon into a series of polygons. First, the 3D model dividing apparatus obtains a series of trapezoids from input polygons, and then adds an appropriate diagonal line to the trapezoids to convert the input polygons into a series of simple polygons. Finally, the 3D model dividing apparatus obtains a series of non-overlapping triangles by an algorithm that triangulates simple polygons. Embodiments of the disclosed technology use a method for processing simple polygons (single concave or convex polygons) and complex polygons (ie, with holes) described in the previous step. In this method, the three-dimensional model dividing apparatus first converts a polygon into a series of trapezoids by a scanning line method, and then adds a diagonal line to a certain trapezoid. Then, the three-dimensional model dividing apparatus converts the polygon into a series of simple polygons by diagonal lines, and finally triangulates the simple polygons to obtain the final triangle order.

以下、三次元モデル分割装置が実行する方向校正ステップを説明する。三次元モデル分割装置が実行する該ステップは、三次元実体の表面の方向を一致するように新たに作成された三角形の方向を校正する。平面検出部の説明と同様に、三角形メッシュで表現される三次元モデルでは、各辺が2つの三角形に共通であり、かつ2つの三角形における方向が全く相反している。該ステップは上記制限条件に基づき新たに作成された多角形の法線方向を校正するものである。全ての三角形をF={ベクトルvi1,ベクトルvi2,ベクトルvi3}(ここで、i=1,2,...,nF)とする。 Hereinafter, the direction calibration step executed by the 3D model dividing apparatus will be described. The step executed by the three-dimensional model dividing apparatus calibrates the direction of the newly created triangle so as to match the direction of the surface of the three-dimensional entity. Similar to the description of the plane detection unit, in the three-dimensional model represented by a triangular mesh, each side is common to two triangles, and the directions in the two triangles are completely opposite. This step is to calibrate the normal direction of the newly created polygon based on the above limiting conditions. Let all triangles be F i = {vector v i1 , vector v i2 , vector v i3 } (where i = 1, 2,..., NF).

具体的な手順は次の通りとする。手順1では、三次元モデル分割装置は、三角形状の平面の処理マークをpro=true(ここで、i=1,2,...,nF)に初期化する。手順2では、三次元モデル分割装置は、新たに作成された三角形状の平面の処理マークをfalseに設定する。手順3では、三次元モデル分割装置は、全ての未処理の三角形状の平面UF={Fu1,Fu2,...,Fun}を求めて、unは未処理の平面の数を表す。手順4では、三次元モデル分割装置は、集合UFは空であれば終了し、そうでなければ次の手順5に移行する。手順5では、三次元モデル分割装置は、次の手順に従って、UFの各三角形状の平面Fukを順次処理する。処理が終了すると、三次元モデル分割装置は、上記の手順3に移行する。 The specific procedure is as follows. In procedure 1, the three-dimensional model dividing apparatus initializes a processing mark on a triangular plane to pro i = true (where i = 1, 2,..., NF). In step 2, the three-dimensional model dividing apparatus sets a newly created processing mark for a triangular plane to false. In procedure 3, the three-dimensional model dividing apparatus performs processing for all unprocessed triangular planes UF = {F u1 , F u2,. . . , F un }, where un represents the number of unprocessed planes. In step 4, the 3D model dividing apparatus ends if the set UF is empty, and otherwise moves to the next step 5. In step 5, the 3D model dividing apparatus sequentially processes each triangular plane F uk of the UF according to the following procedure. When the process is completed, the 3D model dividing apparatus proceeds to the above-described procedure 3.

三次元モデル分割装置は、三角形状の平面Fukと共通の辺を有しかつ処理済みの三角形状の面Fを求める。Fが求められなかったら、三次元モデル分割装置は、次の未処理の三角形を処理する。三角形Fuk及びFにおいて共通の辺の方向が同じであれば、三次元モデル分割装置は、この2つの三角形において共通の辺の方向を相反するようにFukの頂点の順位を変更し、該三角形状の平面の処理マークをtrueに更新する。 The three-dimensional model dividing apparatus obtains a processed triangular surface F * having a side common to the triangular plane F uk and processed. If F * is not found, the 3D model divider processes the next unprocessed triangle. If the directions of the common sides in the triangles F uk and F * are the same, the three-dimensional model dividing device changes the order of the vertices of F uk so that the directions of the common sides in the two triangles are opposite to each other. The processing mark on the triangular plane is updated to true.

手順6では、三次元モデル分割装置は、全ての三角形状の平面の処理マークがtrueになるまで上記の手順3に移行する。   In step 6, the three-dimensional model dividing apparatus proceeds to the above step 3 until the processing marks on all the triangular planes become true.

[第4の輪郭図形分割方法]
最後に、図17を参照して、開示技術の三次元モデル分割装置が実行する他の実施形態による輪郭図形分割方法を説明する。三次元モデル分割装置が実行するこの実施形態による輪郭図形分割方法は、穴処理ステップだけでなく、切断面処理ステップも含む。しかし、図面では穴処理を実施した後に切断面処理を実施するが、二者の処理順序には特に制限がなく、同時に実行してもよく、また、切断面処理を実行した後に穴処理を実行してもよい。
[Fourth outline figure dividing method]
Finally, with reference to FIG. 17, a contour graphic dividing method according to another embodiment executed by the three-dimensional model dividing apparatus of the disclosed technology will be described. The contour figure dividing method according to this embodiment executed by the three-dimensional model dividing apparatus includes not only a hole processing step but also a cut surface processing step. However, in the drawing, the cut surface processing is performed after the hole processing is performed. However, the processing order of the two is not particularly limited, and may be executed at the same time, or the hole processing is performed after the cutting surface processing is performed. May be.

図17に示すように、まず、ステップS1701で、輪郭図形をいくつかの分離する子図形に分割し、その詳しい処理は前述した子図形分離ステップを参照し説明を省略する。次に、ステップS1702で、子図形毎に対応する三次元実体を再構成する。次に、ステップS1703で、各子図形について、該子図形の対応する実体は穴であるか否かを判定し、穴であれば(ステップS1704、Yes)、ステップS1710でモデルの法線方向を変更し、該子図形の対応する三次元実体を出力する(ステップS1711)。穴でなければ(ステップS1704、No)、次に可能性のある全ての切断面(又は分割面という)を検出する(ステップS1705)。ステップS1703とS1704は穴処理ステップに対応し、その詳しい処理は前述した処理手順を参照し、説明を省略する。   As shown in FIG. 17, first, in step S1701, the contour graphic is divided into several child graphics to be separated, and the detailed processing will be described with reference to the child graphic separation step described above. Next, in step S1702, a three-dimensional entity corresponding to each child graphic is reconstructed. Next, in step S1703, for each child graphic, it is determined whether or not the corresponding entity of the child graphic is a hole. If it is a hole (Yes in step S1704), the normal direction of the model is changed in step S1710. The corresponding three-dimensional entity of the child figure is output (step S1711). If it is not a hole (step S1704, No), then all possible cut surfaces (or divided surfaces) are detected (step S1705). Steps S1703 and S1704 correspond to the hole processing step, and the detailed processing refers to the processing procedure described above, and the description thereof is omitted.

切断面が検出されると(ステップS1706、No)、ステップS1707で、切断面により子図形を複数のより小さい子図形に分割する。次に、ステップS1708で、適正判定を行う、すなわち、ステップS1707で行われた分割は成功したか否かを判定する。成功したと判定されると(ステップS1708、Yes)、ステップS1709で、新たに作成された子図形に対応する三次元実体を再構成する。また、ステップS1703に戻り、新しい三次元実体について穴処理及び切断面処理を継続実施する。一方、ステップS1708で分割は成功しなかったと判定されると、該三次元実体を出力し、それ以上分割しないようにする(ステップS1711)。   When the cut surface is detected (No in step S1706), the child graphic is divided into a plurality of smaller child graphics by the cut surface in step S1707. Next, in step S1708, the appropriateness determination is performed, that is, it is determined whether or not the division performed in step S1707 is successful. If it is determined that the process has succeeded (Yes in step S1708), a three-dimensional entity corresponding to the newly created child graphic is reconstructed in step S1709. Returning to step S1703, hole processing and cut surface processing are continued for the new three-dimensional entity. On the other hand, if it is determined in step S1708 that the division has not been successful, the three-dimensional entity is output so that no further division is performed (step S1711).

もちろん、図17に示すフローチャートでは、切断面処理を複数回実施してもよく、各切断面について順次実施し、一つの切断面は分割が成功しなかったと判定されると(ステップS1708、No)、該子図形の対応する三次元実体をそのまま出力せず、未処理の切断面がない又は分割が成功するまで、次の切断面により分割を続行する。   Of course, in the flowchart shown in FIG. 17, the cut surface processing may be performed a plurality of times, and each cut surface is sequentially performed, and when it is determined that one cut surface has not been successfully divided (step S1708, No). The corresponding three-dimensional entity of the child figure is not output as it is, and the division is continued with the next cut surface until there is no unprocessed cut surface or the division is successful.

しかし、図17に示す実施形態では、子図形を分離すると、すなわち、ステップS1701が終了した次第、各子図形に三次元実体を構成する(ステップS1702)。しかし、まず各子図形に穴処理及び切断面処理を実施し、最後に各子図形に三次元実体をまとめて再構成することもできる。   However, in the embodiment shown in FIG. 17, when the child figures are separated, that is, as soon as step S1701 is completed, a three-dimensional entity is formed in each child figure (step S1702). However, it is also possible to first perform hole processing and cut surface processing on each child graphic and finally reconstruct a three-dimensional entity in each child graphic.

開示技術の三次元モデル分割装置が実行する実施形態では、モデル分割中では複雑な演算及び処理がないので、効率が高い。また、再構成ステップが導入され、再構成された各三次元実体モデルを三角形メッシュで表現するので、出力結果が三次元実体となっている。また、分割結果に適正判定を導入するので、耐ノイズ性が更に強化される。   In the embodiment executed by the three-dimensional model dividing apparatus according to the disclosed technology, there is no complicated calculation and processing during model division, so that the efficiency is high. In addition, since a reconstruction step is introduced and each reconstructed three-dimensional entity model is expressed by a triangular mesh, the output result is a three-dimensional entity. In addition, since the appropriateness determination is introduced into the division result, noise resistance is further enhanced.

[適用例]
以下、一例を用いて、三次元モデル分割装置が実行する三次元モデルの分割処理を説明する。図18は入力される三次元モデルの例を示す図である。該モデルは52個の頂点と108個の三角形で物体の表面を構成する。この入力されるモデルには2つの穴がある。
[Application example]
Hereinafter, the 3D model dividing process executed by the 3D model dividing apparatus will be described using an example. FIG. 18 is a diagram illustrating an example of an input three-dimensional model. The model constitutes the surface of an object with 52 vertices and 108 triangles. This input model has two holes.

まず、三次元モデル分割装置は、モデルに関係するデータに基づき、各三角形状の平面の面積や法線方向などのデータを算出する。次に、三次元モデル分割装置は、互いに接続され、かつ方向が相同又は相反する三角形を組み合わせて、該モデルを構成する平面データを得る。本実施例では、2つの三角形の法線でなす角度は0.001より小さければ、2つの三角形状の平面の方向が相同と判断される。一方、2つの三角形の法線でなす角度はπ-0.001より大きければ、2つの三角形状の平面の方向が相反と判断される。   First, the three-dimensional model dividing apparatus calculates data such as the area and normal direction of each triangular plane based on data related to the model. Next, the three-dimensional model dividing apparatus obtains plane data constituting the model by combining triangles connected to each other and having the same or opposite directions. In this embodiment, if the angle formed by the normal lines of the two triangles is smaller than 0.001, the directions of the two triangular planes are determined to be homologous. On the other hand, if the angle formed by the normal lines of the two triangles is larger than π−0.001, the directions of the two triangular planes are determined to be contradictory.

図19は入力されるモデルから検出された平面の構造を示す。図18に示す入力されるモデルから合計29個の平面が検出され、各平面には、平面上の頂点のインデックス、三角形状の平面のインデックス、平面の面積及び平面の法線方向に関係する情報が含まれる。最終に得られた平面データは次の表1に示す。検出された12番目の平面を例にし、その平面に関係するデータを図19に示す。12番目の平面には、インデックスがそれぞれ55と58である三角形状の平面が2つ、インデックスがそれぞれ19、20、33、34である頂点が4つ含まれる。   FIG. 19 shows the structure of the plane detected from the input model. A total of 29 planes are detected from the input model shown in FIG. 18, and each plane has information related to the vertex index on the plane, the index of the triangular plane, the area of the plane, and the normal direction of the plane. Is included. The plane data finally obtained is shown in Table 1 below. The detected 12th plane is taken as an example, and data relating to that plane is shown in FIG. The twelfth plane includes two triangular planes with indexes 55 and 58, respectively, and four vertices with indexes 19, 20, 33, and 34, respectively.

Figure 0005445199
Figure 0005445199

次に、三次元モデル分割装置は、得られた平面データから、入力されるモデルの対応する輪郭図形を抽出する。各平面の内部の直線を削除し、図20(a)に示す結果を得る。図20(b)は三次元モデルの頂点をノードとし、各平面の輪郭線を辺として構成する輪郭図形を示す。入力されるモデルの対応する輪郭図形に52個のノードと78本の辺が含まれる。   Next, the 3D model dividing apparatus extracts a contour figure corresponding to the input model from the obtained plane data. The straight line inside each plane is deleted to obtain the result shown in FIG. FIG. 20 (b) shows a contour figure configured with a vertex of the three-dimensional model as a node and a contour line of each plane as a side. The corresponding contour figure of the input model includes 52 nodes and 78 sides.

(輪郭図形を分割する各ステップ)
次に、三次元モデル分割装置は、得られた輪郭図形に基づき、入力されたモデルを複数の部分に分割する。次に、三次元モデル分割装置が実行する輪郭図形を分割する各ステップを説明する。
(Each step to divide the outline figure)
Next, the three-dimensional model dividing device divides the input model into a plurality of parts based on the obtained contour graphic. Next, each step of dividing the contour graphic executed by the 3D model dividing apparatus will be described.

(ステップ1:輪郭図形を複数の分離する子図形に分割する)三次元モデル分割装置が実行するこのステップでは、相互接続されるノードを集めて複数の分離する子図形を得る。図21に示すように、入力されるモデルの対応する輪郭図形は4つの分離する子図形に分割され、各子図形の頂点を菱形、五角の星型、円形、星型でそれぞれ示す。ここで、四角形で示す頂点は、各子図形を作成する時にランダムに選択された始点を表す。各子図形のノードからなる集合を以下に示す。各数字は三次元モデルの対応する頂点のインデックスを表す。S={7,8,9,10,11,12,13,14}、S={39,40,41,42,43,44,45,46}、S={1,2,3,4,5,6,47,48,49,50,51,52}、S={15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38}。 (Step 1: Divide the contour figure into a plurality of separated child figures) In this step executed by the 3D model dividing apparatus, nodes to be interconnected are collected to obtain a plurality of separated child figures. As shown in FIG. 21, the corresponding contour figure of the input model is divided into four separate child figures, and the vertices of each child figure are indicated by diamonds, pentagonal stars, circles, and stars, respectively. Here, the vertices indicated by squares represent start points randomly selected when each child graphic is created. A set of nodes of each child figure is shown below. Each number represents the index of the corresponding vertex of the 3D model. S 1 = {7, 8, 9, 10, 11, 12, 13, 14 }, S 2 = {39, 40, 41, 42, 43, 44, 45, 46}, S 3 = {1, 2, 3, 4 , 5, 6, 47, 48, 49, 50, 51, 52}, S 4 = {15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 , 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38}.

(ステップ2:各子図形の対応する三次元実体を再構成する)三次元モデル分割装置が実行するこのステップでは、各子図形の対応する三次元実体がそれぞれ再構成され、かつ再構成された三次元実体は三次元実体の形状を三角形メッシュで表現するものである。まず、各子図形について、それぞれの全ての頂点を含む平面を求め、これら平面に変化があるか否かを判定する。ある平面に2つ以上の子図形の頂点が含まれれば、該平面を変化有りの平面とする。結果を表2に示す。   (Step 2: Reconstruct the corresponding three-dimensional entity of each child figure) In this step executed by the 3D model dividing apparatus, the corresponding three-dimensional entity of each child figure is reconstructed and reconstructed. A three-dimensional entity represents the shape of a three-dimensional entity with a triangular mesh. First, for each child graphic, a plane including all the vertices is obtained, and it is determined whether or not there is a change in these planes. If two or more child vertices are included in a plane, the plane is changed. The results are shown in Table 2.

Figure 0005445199
Figure 0005445199

次に、三次元モデル分割装置は、各子図形について、変化有りの全ての平面を三角化する。子図形1の場合では、平面{24,25,26,27}は三角化を必要としないので、そのまま従来の三角形で集合{83,84,85,86,87,88,89,90}を構成できる。しかし、平面{4,7}は新たに三角化される必要があり、新たに作成された三角形として(7,9,13)と(7,13,10)と(8,11,14)と(8,14,12)とがある。したがって、子図形1の対応する三次元実体は8個の頂点及び12個の三角形で構成される。   Next, the three-dimensional model dividing apparatus triangulates all the planes with changes for each child figure. In the case of the child figure 1, the plane {24, 25, 26, 27} does not need to be triangulated. Can be configured. However, the plane {4, 7} needs to be newly triangulated, and (7, 9, 13), (7, 13, 10), (8, 11, 14) are newly created triangles. (8, 14, 12). Therefore, the corresponding three-dimensional entity of the child figure 1 is composed of 8 vertices and 12 triangles.

子図形2の場合では、平面{20,21,22,23}は三角化を必要としないので、そのまま従来の三角形で集合{75,76,77,78,79,80,81,82}を構成できる。しかし、平面{4,7}は新たに三角化される必要があり、新たに作成された三角形として(39,41,45)と(39,45,42)と(40,43,46)と(40,46,44)とがある。したがって、子図形2の対応する三次元実体は8個の頂点及び12個の三角形で構成される。   In the case of the child figure 2, the plane {20, 21, 22, 23} does not need to be triangulated, so that the set {75, 76, 77, 78, 79, 80, 81, 82} can be formed by the conventional triangle as it is. Can be configured. However, the plane {4, 7} needs to be newly triangulated, and (39, 41, 45), (39, 45, 42) and (40, 43, 46) are newly created triangles. (40, 46, 44). Therefore, the corresponding three-dimensional entity of the child figure 2 is composed of 8 vertices and 12 triangles.

子図形3の場合では、平面{1,2,3,5,6,28}は三角化を必要としないので、従来の三角形状の平面をそのまま利用して、三角形からなる集合{1,2,3,4,5,6,12,14,21,22,30,31,35,36,91,93}を構成できる。しかし、平面{4,7}は新たに三角化され、三角形として(1,2,48)と(1,48,47)と(5,6,52)と(5,52,51)とを新たに得る必要がある。したがって、子図形3の対応する三次元実体は12個の頂点及び20個の三角形で構成される。   In the case of the child figure 3, since the plane {1, 2, 3, 5, 6, 28} does not need to be triangulated, a set of triangles {1, 2, using the conventional triangular plane as it is. , 3, 4, 5, 6, 12, 14, 21, 22, 30, 31, 35, 36, 91, 93}. However, the plane {4,7} is newly triangulated, and (1,2,48), (1,48,47), (5,6,52) and (5,52,51) are formed as triangles. Need to get new. Therefore, the corresponding three-dimensional entity of the child figure 3 is composed of 12 vertices and 20 triangles.

子図形4の場合では、平面{8,9,10,11,12,13,14,15,16,17,18,19,29}は三角化を必要としない。すなわち、そのまま従来の三角形で集合{46,47,48,50,51,52,54,55,56,57,58,59,60,62,63,65,66,67,69,70,71,72,73,74}を構成できる。しかし、平面4は新たに三角化される。そして、三角形として(16,18,20)、(16,20,34)、(16,34,36)、(16,36,38)、(16,38,32)、(16,32,30)、(16,30,28)、(16,28,26)、(16,26,24)と(16,24,22)を新たに作成する必要がある。したがって、子図形4の対応する三次元実体は24個の頂点及び34個の三角形で構成される。   In the case of the child figure 4, the plane {8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 29} does not require triangulation. That is, a set of conventional triangles {46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, 62, 63, 65, 66, 67, 69, 70, 71 as they are. , 72, 73, 74}. However, the plane 4 is newly triangulated. And as a triangle, (16, 18, 20), (16, 20, 34), (16, 34, 36), (16, 36, 38), (16, 38, 32), (16, 32, 30) ), (16, 30, 28), (16, 28, 26), (16, 26, 24) and (16, 24, 22) need to be newly created. Therefore, the corresponding three-dimensional entity of the child figure 4 is composed of 24 vertices and 34 triangles.

最後に、三次元モデル分割装置は、新たに作成された三角形の方向を校正する。子図形1の場合では、最初の三角形において、83番目の三角形は(10,13,14)であり、モデルの表面の方向の一致性を保証するために、新たに作成された三角形(7,13,10)の方向を変えない。同じ理由で、(7,9,13)の方向も変えない。90番目の三角形は(11,9,8)であり、新たに作成された三角形(8,11,14)の方向を(8,14,11)に変える必要がある。同じ理由で、(8,14,12)の方向も(8,12,14)に変える必要がある。   Finally, the three-dimensional model dividing device calibrates the direction of the newly created triangle. In the case of the child figure 1, in the first triangle, the 83rd triangle is (10, 13, 14), and in order to guarantee the consistency of the direction of the surface of the model, a newly created triangle (7, Do not change the direction of 13,10). For the same reason, the direction of (7, 9, 13) is not changed. The 90th triangle is (11, 9, 8), and it is necessary to change the direction of the newly created triangle (8, 11, 14) to (8, 14, 11). For the same reason, it is necessary to change the direction of (8, 14, 12) to (8, 12, 14).

上記と同様な方法により、三次元モデル分割装置は、子図形2、子図形3と子図形4について新たに作成された三角形の方向を変える。図22は図21の4つの子図形から再構成された三次元モデルの結果を示す説明図である。図22に再構成された三次元実体M1、M2、M3、M4を示す。   By the same method as described above, the three-dimensional model dividing apparatus changes the direction of the triangle newly created for the child figure 2, the child figure 3, and the child figure 4. FIG. 22 is an explanatory diagram showing the result of a three-dimensional model reconstructed from the four child figures of FIG. FIG. 22 shows the reconstructed three-dimensional entities M1, M2, M3, and M4.

(ステップ3:再構成された実体を分割できなくなるまで継続分割する)三次元モデル分割装置が実行するこのステップでは、再構成された三次元実体を全てのモデルが共に分割できなくなるまで継続分割する。まず、三次元モデル分割装置は、この4つのモデルは穴であるか否かを判定する。判定結果はM1とM2が穴であり、他の2つのモデルが穴ではないとする。M1とM2における全ての三角形の方向を変えることにより、モデルの表面の方向を外方に向かわせ、この2つのモデルを出力し、それ以上分割しないようにする。   (Step 3: Continue dividing until the reconstructed entity cannot be divided) In this step executed by the 3D model dividing apparatus, the reconstructed 3D entity is continuously divided until all models cannot be divided together. . First, the three-dimensional model dividing apparatus determines whether or not these four models are holes. The determination result is that M1 and M2 are holes, and the other two models are not holes. By changing the direction of all triangles in M1 and M2, the direction of the surface of the model is directed outwards, and the two models are output and are not further divided.

次に、三次元モデル分割装置は、モデルM3とモデルM4に切断面候補があるか否かを判定する。このステップでは、ある平面が切断面であるか否かを判定する際に、以下のルールを適用する。
(1)モデルの頂点が該切断面の両側にある、
(2)切断面の面積が表面積の百分の一より小さくない、
(3)切断面にある頂点と切断面の外部にある頂点をつなげてなる全ての辺と切断面とがなす角度は30度以上である。
Next, the 3D model dividing apparatus determines whether or not there are cut surface candidates in the models M3 and M4. In this step, the following rules are applied when determining whether or not a certain plane is a cut plane.
(1) The vertices of the model are on both sides of the cut surface.
(2) The area of the cut surface is not smaller than one hundredth of the surface area;
(3) The angle formed by all sides connecting the vertices on the cut surface and the vertices outside the cut surface and the cut surface is 30 degrees or more.

三次元モデル分割装置は、上記条件に基づき判定を行うと、モデルM3に2つの切断面がある可能性があれば、続いて分割をする。一方、M4に切断面がないので、該モデルをそのまま出力し、それ以上分割しないようにする。   When the determination is made based on the above conditions, the three-dimensional model dividing apparatus performs division if there is a possibility that the model M3 has two cut surfaces. On the other hand, since there is no cut surface in M4, the model is output as it is and is not further divided.

次に、三次元モデル分割装置は、モデルM3を分割する。前段のステップで得られたモデルM3に含まれる頂点序列はS={1,2,3,4,5,6,47,48,49,50,51,52}である。分割するに先立って、頂点、三角形の各頂点のインデックス及び平面データ情報を更新する。その結果、頂点序列はS1={1,2,3,4,5,6,7,8,9,10,11,12}となり、三角形状の平面に関するデータは次に示す表3の通りとする。 Next, the three-dimensional model dividing device divides the model M3. The vertex order included in the model M3 obtained in the previous step is S 3 = {1, 2, 3, 4, 5, 6, 47, 48, 49, 50, 51, 52}. Prior to the division, the indices of the vertices and triangles and the plane data information are updated. As a result, the vertex order is S1 = {1,2,3,4,5,6,7,8,9,10,11,12}, and the data regarding the triangular plane is as shown in Table 3 below. To do.

Figure 0005445199
Figure 0005445199

平面に関するデータは次に示す表4の通りとする。   The data regarding the plane is as shown in Table 4 below.

Figure 0005445199
Figure 0005445199

図23は、切断面の頂点及び切断面と直接接続する頂点の分類結果を示す説明図である。図23に示すように、P8とP3は切断面候補と検出される。本実施例では、面積の最も広い平面、すなわち、平面P8を優先に処理する。   FIG. 23 is an explanatory diagram illustrating the classification results of the vertices of the cut surface and the vertices directly connected to the cut surface. As shown in FIG. 23, P8 and P3 are detected as cutting plane candidates. In this embodiment, the plane having the largest area, that is, the plane P8 is processed with priority.

まず、三次元モデル分割装置は、12個の頂点の処理マークをfalseに初期化する。pro=false(ここで、k=1,2,...12)は全ての頂点が処理されないことを表す。次に、三次元モデル分割装置は、切断面における4つの頂点をC1={4,10}とC2={5,11}との2種類に分ける。図23に示すように、C1を四角形、C2を円形で示す。点の処理マークをpro=true,x∈C∪Cに更新する。 First, the three-dimensional model dividing apparatus initializes the processing marks of 12 vertices to false. pro k = false (where k = 1, 2,... 12) indicates that all vertices are not processed. Next, the three-dimensional model dividing apparatus divides the four vertices on the cut surface into two types of C1 = {4, 10} and C2 = {5, 11}. As shown in FIG. 23, C1 is shown as a rectangle and C2 is shown as a circle. The point processing mark is updated to pro x = true, xεC 1 ∪C 2 .

三次元モデル分割装置は、切断面における4つの頂点と直接接続され、かつ切断面に入らない頂点をX={3,9}とX={6,12}との2種類に分ける。図23に示すように、Xを星型、Xを菱形で示す。点の処理マークをpro=true,x∈X∪Xに更新する。 The three-dimensional model dividing apparatus divides vertices that are directly connected to four vertices on the cut surface and do not enter the cut surface into two types of X 1 = {3, 9} and X 2 = {6, 12}. As shown in FIG. 23 shows the X 1 star, the X 2 by diamonds. The point processing mark is updated to pro x = true, xεX 1 ∪X 2 .

三次元モデル分割装置は、他の頂点を2種類に分ける。X={3,9}の頂点を始点として延出し、未処理の頂点で集合PX={1,2,7,8}を構成すると共に、X={6,12}の頂点を始点として延出し、未処理の頂点で集合PX={7,8,1,2}を構成する。三次元モデル分割装置は、PX∩PXの結果としてPX={1,2,7,8}を算出する。 The three-dimensional model dividing apparatus divides other vertices into two types. The vertices of X 1 = {3,9} are extended as starting points, and the set PX 1 = {1,2,7,8} is composed of unprocessed vertices, and the vertices of X 2 = {6,12} A set PX 2 = {7,8,1,2} is formed with the unprocessed vertices as the start point. The three-dimensional model dividing apparatus calculates PX = {1, 2, 7, 8} as a result of PX 1 ∩PX 2 .

三次元モデル分割装置は、集合PXから適当なノードを選択し、他の頂点を更に分類する。判定を通して、この4つの頂点が共に頂点候補とされてもよく、かつ各頂点からX又はXまでの最も短い距離は共に1である。そこで、三次元モデル分割装置は、一つの頂点を任意に選択して処理することができる。本実施例では、1つ目の頂点である頂点1が選択され処理される。頂点1と接続される未処理頂点は2と7とがあり、直線1→2は切断面と交わり、直線1→7は切断面と平行する。三次元モデル分割装置は、直線1→2と切断面との交点を13番目の頂点として算出する。図24に示すように、頂点1、2を五角の星型で、交点を上方へ向かう三角形でそれぞれ示す。三次元モデル分割装置は、頂点の分類情報を更新することにより、頂点1を切断面のプラス側に位置させ、頂点1を集合Xに追加してX={1,3,9}を得る。また、三次元モデル分割装置は、頂点2を集合Xに追加してX={2,6,12}を得る。また、三次元モデル分割装置は、新規追加された13番目の頂点を集合CとCに追加した結果、C1={4,10,13}とC2={5,11,13}とを得る。頂点1、2と13に関する点の処理マークがtrueに更新される。三次元モデル分割装置は、頂点同士の接続関係及び平面データを次のように更新する。頂点1と2の間のつながりを削除し、頂点1と13の間及び頂点2と13の間のつながりを追加し、切断面である8番目の平面に頂点13を追加し、平面2、4に頂点13を追加する。 The three-dimensional model dividing apparatus selects an appropriate node from the set PX, and further classifies other vertices. Through the determination, both of these four vertices may be considered as vertex candidates, and the shortest distance from each vertex to X 1 or X 2 is both 1. Therefore, the three-dimensional model dividing apparatus can arbitrarily select and process one vertex. In the present embodiment, vertex 1, which is the first vertex, is selected and processed. The unprocessed vertices connected to the vertex 1 are 2 and 7, and the straight line 1 → 2 intersects the cut surface, and the straight line 1 → 7 is parallel to the cut surface. The three-dimensional model dividing apparatus calculates the intersection of the straight line 1 → 2 and the cut surface as the thirteenth vertex. As shown in FIG. 24, the vertices 1 and 2 are indicated by pentagonal star shapes, and the intersection points are indicated by upward triangles. The three-dimensional model dividing apparatus updates the vertex classification information so that the vertex 1 is positioned on the plus side of the cut surface, and the vertex 1 is added to the set X 1 to set X 1 = { 1, 3, 9}. obtain. Also, the three-dimensional model dividing apparatus adds vertex 2 to the set X 2 to obtain X 2 = {2, 6, 12}. In addition, as a result of adding the newly added thirteenth vertex to the sets C 1 and C 2 , the 3D model dividing apparatus obtains C 1 = {4, 10, 13} and C 2 = {5, 11, 13}. obtain. The processing marks of points related to the vertices 1, 2, and 13 are updated to true. The three-dimensional model dividing apparatus updates the connection relation between the vertices and the plane data as follows. The connection between the vertices 1 and 2 is deleted, the connection between the vertices 1 and 13 and the connection between the vertices 2 and 13 are added, and the vertex 13 is added to the eighth plane which is the cut plane, and the planes 2 and 4 Vertex 13 is added to.

三次元モデル分割装置は、X={1,3,9}とX={2,6,12}に基づき延出し、未処理の頂点で集合PX={7,8}とPX={8,7}構成し、PX∩PXの結果としてPX={7,8}を算出する。三次元モデル分割装置は、判定を通して、この2つの頂点が共に頂点候補として次の処理をすることがわかる。本実施例では、頂点8を選択する。頂点8と直接接続される未処理頂点は7しかなく、直線8→7は平面の両側に亘る。三次元モデル分割装置は、直線8→7と切断面との交点を14番目の頂点として算出する。図24に示すように、頂点7、8を下方へ向かう三角形で、交点を上方へ向かう三角形でそれぞれ示す。次に、三次元モデル分割装置は、頂点7、8と14の分類情報を更新することにより、8番目の頂点を切断面のマイナス側に位置させ、頂点8を集合Xに追加してX={2,6,8,12}を得る。また、三次元モデル分割装置は、7番目の頂点をXに追加してX={1,3,9}を得る。また、三次元モデル分割装置は、新規追加された13番目の頂点を集合CとCに追加した結果、C1={4,10,13,14}とC2={5,11,13,14}とを得る。頂点7、8と14に関する点の処理マークをtrueに更新する。三次元モデル分割装置は、頂点同士の接続関係及び平面データを次のように更新する。頂点7と8の間のつながりを削除し、頂点7と14の間及び頂点8と14の間のつながりを追加する。切断面である8番目の平面に頂点14を追加し、平面4、5に頂点14を追加する。以上により、全ての頂点に関する点の処理マークがtrueに更新される。この場合の平面データは次に示す表5の通りとする。 The three-dimensional model dividing apparatus extends based on X 1 = { 1 , 3, 9} and X 2 = {2, 6, 12}, and sets PX 1 = {7, 8} and PX 2 with unprocessed vertices. = {8,7} and calculate PX = {7,8} as a result of PX 1 ∩PX 2 . Through the determination, the three-dimensional model dividing apparatus shows that the two vertices both perform the following processing as vertex candidates. In this embodiment, the vertex 8 is selected. There are only 7 unprocessed vertices directly connected to the vertex 8, and the straight line 8 → 7 extends to both sides of the plane. The three-dimensional model dividing apparatus calculates the intersection of the straight line 8 → 7 and the cut surface as the fourteenth vertex. As shown in FIG. 24, the vertices 7 and 8 are indicated by triangles that are directed downward, and the intersection points are indicated by triangles that are directed upward. Next, the three-dimensional model divided device, by updating the classification information of the vertices 7,8 and 14, is positioned on the negative side of the cut surface of the eighth vertex, add vertex 8 to the set X 2 X 2 = { 2, 6, 8, 12} is obtained. In addition, the three-dimensional model division apparatus adds the seventh vertex to X 1 to obtain X 1 = { 1, 3, 9}. Further, the three-dimensional model divided device, result of adding 13 th vertices newly added to the set C 1 and C 2, C1 = {4,10,13,14} and C2 = {5,11,13, 14}. The processing marks of the points related to the vertices 7, 8 and 14 are updated to true. The three-dimensional model dividing apparatus updates the connection relation between the vertices and the plane data as follows. Delete the connection between vertices 7 and 8, and add the connection between vertices 7 and 14 and between vertices 8 and 14. The vertex 14 is added to the eighth plane which is the cut surface, and the vertex 14 is added to the planes 4 and 5. As described above, the processing marks of points related to all the vertices are updated to true. The plane data in this case is as shown in Table 5 below.

Figure 0005445199
Figure 0005445199

三次元モデル分割装置は、集合C1={4,10,13,14}及びC2={5,11,13,14}それぞれをX={1,3,7,9}及びX={2,6,12}と合併する。三次元モデル分割装置は、平面P8を切断面として全ての頂点を分類した結果である集合CX={4,10,13,14,1,3,7,9}及びCX={5,11,13,14,2,6,8,12}を得る。 The three-dimensional model dividing apparatus converts the sets C1 = {4, 10, 13, 14} and C2 = {5, 11, 13, 14} respectively to X 1 = { 1, 3, 7, 9} and X 2 = { 2,6,12}. The three-dimensional model dividing apparatus sets CX 1 = {4, 10, 13, 14, 1 , 3, 7, 9} and CX 2 = {5, which are the results of classifying all the vertices with the plane P8 as a cut surface. 11, 13, 14, 2, 6, 8, 12} are obtained.

次に、三次元モデル分割装置は、CX={4,10,13,14,1,3,7,9}とCX={5,11,13,14,2,6,8,12}に基づき、子図形を作成する。集合CXの頂点4及び13の場合、切断面と2番目の平面との交点が4及び13しかないので、三次元モデル分割装置は、4と13の間のつながりを追加する。同様に、三次元モデル分割装置は、頂点13と14の間、及び頂点14と10の間のつながりをそれぞれ追加する。三次元モデル分割装置は、子図形2について、頂点5と13の間、頂点13と14の間及び頂点11と14の間のつながりをそれぞれ追加する。次に、三次元モデル分割装置は、各集合の頂点及び接続関係に基づき2つの子図形を作成する。ここで、各子図形に8個の頂点と12本の辺が含まれる。 Next, the three-dimensional model dividing apparatus includes CX 1 = {4, 10, 13, 14, 1 , 3, 7, 9} and CX 2 = {5, 11, 13, 14, 2, 6, 8, 12 }, A child figure is created. In the case of the vertices 4 and 13 of the set CX 1 , the intersection between the cut plane and the second plane is only 4 and 13, so the 3D model dividing apparatus adds a connection between 4 and 13. Similarly, the 3D model dividing apparatus adds connections between the vertices 13 and 14 and between the vertices 14 and 10, respectively. The three-dimensional model dividing apparatus adds connections between the vertices 5 and 13, the vertices 13 and 14, and the vertices 11 and 14 for the child figure 2. Next, the 3D model dividing apparatus creates two child figures based on the vertices and connection relationships of each set. Here, each child figure includes 8 vertices and 12 sides.

次に、三次元モデル分割装置は、該分割結果が有効だと判定され、2つの三次元実体を再構成する。図25に示すように、2つの三次元実体をそれぞれをM5とM6で表す。この2つの実体は共に8個の頂点と12本の三角形状の平面を含むので、2つの直方体である。次に、三次元モデル分割装置は、M5とM6は共に切断面候補を有しないと判定で分かり、以上で入力されるモデルへの分割を終了する。結果、三次元モデル分割装置は、M1、M2、M4、M5、M6の計5つの部分を得る。   Next, the three-dimensional model dividing apparatus determines that the division result is valid, and reconstructs two three-dimensional entities. As shown in FIG. 25, two three-dimensional entities are represented by M5 and M6, respectively. Since both of these two entities include eight vertices and twelve triangular planes, they are two rectangular parallelepipeds. Next, the three-dimensional model dividing apparatus determines that both M5 and M6 do not have cutting plane candidates, and ends the division into the input model. As a result, the three-dimensional model dividing apparatus obtains a total of five parts M1, M2, M4, M5, and M6.

当然、当業者は開示技術を下記のように理解すべきである。本明細書のフローチャート又は他の形態で記述される如何なる処理又は方法記述又はブロックは共に、単純なハードウエアで実現する部材、要素、装置、部等と理解できる。また該処理の具体的な論理機能又は手順が1つ以上の実行可能な指令を実現するコードモジュール、コードセグメント、コード部をも含む。すなわち、ソフトウエアで実現することもできる。また、ソフトウエアとハードウエアを組み合わせて実現することもできる。   Of course, those skilled in the art should understand the disclosed technology as follows. Any process or method description or block described in the flowcharts or other forms of this specification can be understood to be a member, element, apparatus, unit, etc., realized by simple hardware. The specific logical function or procedure of the process also includes a code module, a code segment, and a code part that realize one or more executable instructions. That is, it can be realized by software. It can also be realized by combining software and hardware.

本明細書のフローチャート又は他の形態で記述されるロジック及び/又は手順は、例えば、ロジック機能を実現するための実行可能な指令の記載だと理解できる。指令実行システムや設備や装置に用いられる任意なコンピュータ読み取り可能な媒体によりそれらロジック及び/又は手順を実現することもできる。例えば、コンピュータ・システム、プロセッサーを備えるシステム、又は、指令実行システムや設備や装置から該指令を呼び出して実行する他のシステムである。   The logic and / or procedures described in the flowcharts or other forms herein can be understood as descriptions of executable instructions for implementing a logic function, for example. These logics and / or procedures can be realized by any computer-readable medium used in the command execution system, equipment, and apparatus. For example, a computer system, a system including a processor, or another system that calls and executes a command from a command execution system, equipment, or device.

本明細書の記載では、「コンピュータ読み取り可能な媒体」は、指令実行システムや設備や装置に用いられるプログラムを記憶・送信・伝送・配信することができるいずれかの装置である。コンピュータ読み取り可能な媒体は電気・磁気・光学・電磁気・赤外線又は半導体システム、設備、装置又は伝送媒体であってもよいが、それらに限らない。   In the description of the present specification, a “computer-readable medium” is any device capable of storing, transmitting, transmitting, and distributing a program used in a command execution system, equipment, or device. The computer readable medium may be, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, equipment, devices, or transmission media.

コンピュータ読み取り可能な媒体の具体的な実施例として、1本以上のリード線を有する電気的接続(電気)、フレキシブルディスク(磁気)、ランダムアクセスメモリ(RAM)(電気)、読出し専用メモリ(ROM)(電気)、消去可能なプログラミング読出し専用メモリ(EPROM又はフラッシュメモリ)(電気)、光ファイバー(光学)、携帯型光ディスク読出し専用メモリ(CD-ROM)(光学)などが挙げられる。   Specific examples of computer readable media include electrical connection (electrical) with one or more leads, flexible disk (magnetic), random access memory (RAM) (electrical), read only memory (ROM) (Electric), erasable programming read only memory (EPROM or flash memory) (electric), optical fiber (optical), portable optical disk read only memory (CD-ROM) (optical), and the like.

コンピュータ読み取り可能な媒体はプログラムが印刷された紙材又は他の媒体であってもよい。なぜなら、例えば、紙材又は他の媒体を光学的に走査して該プログラムを取得してから、コンパイリング・解釈する或いは必要に応じて適当の形態で該プログラムに他の処理を実施することにより、該プログラムをコンピュータのメモリに記憶することができるからである。   The computer readable medium may be a paper material or other medium on which a program is printed. For example, by optically scanning paper or other media to obtain the program and then compiling and interpreting or performing other processing on the program in an appropriate form as needed This is because the program can be stored in the memory of a computer.

前述した明細書では、実施例を参照して開示技術を記載している。しかし、特許請求の範囲に限られる開示技術の範囲を逸脱しない前提で種々の変形や変更を実施できることが当業者は理解できる。   In the foregoing specification, the disclosed technology is described with reference to examples. However, those skilled in the art can understand that various modifications and changes can be made without departing from the scope of the disclosed technology limited to the scope of the claims.

以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。   The following supplementary notes are further disclosed with respect to the embodiments including the above examples.

(付記1)三次元モデル分割装置が、
入力された三角形メッシュで表現される三次元モデルに含まれる、三角形同士が接続し、且つ、該三角形の法線方向が共通または相反する三角形を集めた平面を検出する平面検出ステップと、
前記平面検出ステップによって検出された平面から、該平面の各三角形の各辺のうち、1つの三角形のみに属する境界辺同士を接続して前記三次元モデルの輪郭である輪郭図形を抽出する輪郭図形抽出ステップと、
前記輪郭図形抽出ステップによって抽出された輪郭図形を重ならない複数の子図形に分割する輪郭図形分割ステップと、
前記輪郭図形分割ステップによって分割された子図形毎に、それぞれが三角形メッシュで表現される三次元実体を再構成する三次元実体再構成ステップと
を実行することを特徴とする三次元モデル分割方法。
(Supplementary note 1) 3D model dividing device
A plane detection step for detecting a plane in which triangles included in a three-dimensional model expressed by an input triangle mesh are connected to each other and the normal directions of the triangles are common or opposite to each other are collected;
A contour graphic that extracts a contour graphic that is an outline of the three-dimensional model by connecting boundary sides belonging to only one triangle among the respective sides of each triangle of the plane from the plane detected by the plane detection step An extraction step;
A contour graphic dividing step for dividing the contour graphic extracted by the contour graphic extracting step into a plurality of child graphics that do not overlap;
A three-dimensional model dividing method comprising: executing a three-dimensional entity reconstruction step of reconstructing a three-dimensional entity represented by a triangular mesh for each child graphic divided by the contour graphic dividing step.

(付記2)前記三次元モデル分割装置が、
前記平面検出ステップで、前記三角形の法線方向が共通または相反する三角形を集めた平面同士が、少なくとも、共通する三角形を有する場合、または、頂点をつなげる辺が少なくとも1本有り且つ該辺が法線ベクトルに直交している場合、あるいは、異なる2平面に属し且つ相互接続される三角形が1対以上ある場合、のいずれかである場合に、該平面同士を合併することを特徴とする付記1に記載の三次元モデル分割方法。
(Supplementary Note 2) The three-dimensional model dividing apparatus includes:
In the plane detection step, the planes in which triangles having the same or opposite normal directions of the triangles have at least one common triangle, or there is at least one side connecting the vertices, and the side is a normal Appendix 1 characterized by merging planes when they are orthogonal to a line vector, or when there are one or more pairs of triangles belonging to two different planes and interconnected The three-dimensional model dividing method described in 1.

(付記3)前記三次元モデル分割装置が、
前記三次元実体再構成ステップによって再構成された三次元実体モデル又は前記各子図形の対応する三次元実体が穴であるか否かを、表面の外側に向かう平面の面積と内側に向かう平面の面積の大小から判定する穴判定ステップと、
前記穴判定ステップによって前記三次元実体再構成ステップで再構成されたいずれかの三次元実体モデルが穴であると判定されると、この再構成された三次元実体モデルの全ての三角形の法線方向を相反する方向に変更する、或いは、いずれかの子図形の対応する三次元実体が穴であると判定されると、子図形の対応する三次元実体の全ての三角形の法線方向を相反する方向に変更する穴モデル校正ステップと
を更に実行することを特徴とする付記1に記載の三次元モデル分割方法。
(Supplementary Note 3) The three-dimensional model dividing apparatus includes:
Whether the 3D entity model reconstructed by the 3D entity reconstruction step or the corresponding 3D entity of each child figure is a hole, the area of the plane toward the outside of the surface and the plane of the plane toward the inside A hole determination step for determining from the size of the area;
When it is determined that any 3D entity model reconstructed in the 3D entity reconstruction step by the hole determination step is a hole, normals of all triangles of the reconstructed 3D entity model are determined. If the direction is changed to the opposite direction, or if the corresponding 3D entity of any child figure is determined to be a hole, the directions of the normals of all triangles of the corresponding 3D entity of the child figure are opposite. The three-dimensional model dividing method according to appendix 1, further comprising: a hole model calibration step for changing to

(付記4)前記三次元モデル分割装置が、
前記三次元実体再構成ステップによって再構成された三次元実体モデルに切断面が含まれるか否かを、四角形の平面の2つの頂点の各々が該平面に属さない一つの頂点を持ち、且つ四角形の平面の異なる2つの頂点の各々が該平面に属さない一つの頂点を持ち、それらの該平面に属さない頂点の位置が該四角形の平面から相対する側にあるか否かで判定する、或いは、前記各子図形の対応する前記三次元実体に切断面が含まれるか否かを判定する切断面判定ステップと、
前記切断面判定ステップによって前記三次元実体再構成ステップで再構成されたいずれかの三次元実体モデルに切断面が含まれると判定されると、該切断面により該切断面を含む三次元実体モデルを2つ以上の子図形に分割する一方、前記切断面判定ステップでは、いずれかの子図形に切断面が含まれると判定されると、該切断面により該切断面を含む子図形を2つ以上の子図形に分割する輪郭図形再分割ステップと
を更に実行することを特徴とする付記1に記載の三次元モデル分割方法。
(Supplementary Note 4) The three-dimensional model dividing apparatus includes:
Whether or not the three-dimensional entity model reconstructed by the three-dimensional entity reconstruction step includes a cutting plane is determined by determining whether each of the two vertices of the quadrangular plane has one vertex that does not belong to the plane, and the quadrilateral Each of two different vertices of the plane has one vertex that does not belong to the plane, and the position of the vertex that does not belong to the plane is on the side opposite to the plane of the rectangle, or , A cutting plane determination step for determining whether or not a cutting plane is included in the corresponding three-dimensional entity of each child figure;
When it is determined that any of the three-dimensional entity models reconstructed in the three-dimensional entity reconstruction step includes a cut surface by the cut surface determination step, the three-dimensional entity model including the cut surface by the cut surface Is divided into two or more child figures, and in the cutting plane determination step, when it is determined that any of the child figures includes a cutting plane, the cutting plane includes two or more child figures including the cutting plane. The three-dimensional model division method according to appendix 1, further comprising: a contour figure subdivision step for dividing the figure into child figures.

(付記5)前記三次元モデル分割装置が、
前記輪郭図形再分割ステップによって分割された子図形が適正であるか否かを判定し、適正でなければ、該切断面を放棄する適正判定ステップを更に実行することを特徴とする付記4に記載の三次元モデル分割方法。
(Supplementary Note 5) The three-dimensional model dividing apparatus includes:
The supplementary determination 4 further includes a step of determining whether or not the child graphic divided by the contour graphic subdivision step is appropriate and, if not, performing an appropriateness determination step of abandoning the cut surface. 3D model division method.

(付記6)前記三次元モデル分割装置が、
前記輪郭図形再分割ステップによって分割された子図形が、頂点の数が4以上、平面の個数が4以上、かつ、各平面に少なくとも3つの非共線の頂点が含まれる、かつ、各輪郭線が少なくとも2つの異なる平面に属する、かつ、各平面上の頂点が首尾接続で一つの閉領域を構成しなければならない、という条件を全て満足した場合に、該子図形を適正と判定する付記5に記載の三次元モデル分割方法。
(Supplementary Note 6) The three-dimensional model dividing apparatus includes:
The child graphic divided by the contour graphic subdivision step has four or more vertices, four or more planes, and each plane includes at least three non-collinear vertices, and each contour line Supplementary note 5 that determines that the child figure is appropriate when all of the conditions that belong to at least two different planes and that the vertices on each plane must form a closed region with a successful connection are satisfied The three-dimensional model dividing method described in 1.

(付記7)前記平面検出ステップは、
前記入力される三次元モデルにおける各三角形状の平面の法線方向を算出する法線方向算出ステップと、
前記法線方向算出ステップによって算出された各三角形状の平面の法線方向に基づき、互いに接続されかつ方向が相同又は相反する三角形状の平面を集めて子平面を取得する子平面取得ステップと、
前記子平面取得ステップによって取得された子平面を集めて平面を取得する平面取得ステップと
を含むことを特徴とする付記1に記載の三次元モデル分割方法。
(Supplementary note 7) The plane detection step includes:
A normal direction calculating step of calculating a normal direction of each triangular plane in the input three-dimensional model;
Based on the normal direction of each triangular plane calculated by the normal direction calculation step, a child plane acquisition step for acquiring a child plane by collecting triangular planes connected to each other and having the same or opposite directions, and
The three-dimensional model dividing method according to claim 1, further comprising: a plane acquisition step of collecting planes obtained by the child plane acquisition step and acquiring planes.

(付記8)前記平面取得ステップは、
前記2つの子平面の法線方向が相同又は相反し、かつ、前記2つの子平面の間には共通の三角形、又は共通の辺、又はこの2つの子平面のそれぞれに属する頂点を接続してなりかつ前記2つの子平面の法線方向に直交する直線が存在する、という条件を満足する2つの子平面を平面に合併する付記7に記載の三次元モデル分割方法。
(Appendix 8) The plane acquisition step includes:
The normal directions of the two child planes are homologous or contradictory, and a common triangle, a common edge, or a vertex belonging to each of the two child planes is connected between the two child planes. The three-dimensional model dividing method according to appendix 7, wherein the two child planes satisfying the condition that there is a straight line orthogonal to the normal direction of the two child planes are merged into the plane.

(付記9)前記輪郭図形抽出ステップは、
各平面における全ての辺の集合を取得する辺取得ステップと、
前記辺取得ステップによって取得された各辺を内部辺又は境界辺に分類する辺分類ステップと、
前記辺分類ステップによって分類された境界辺を保留し、内部辺を削除する辺削除ステップと
を含むことを特徴とする付記1に記載の三次元モデル分割方法。
(Supplementary note 9) The contour graphic extraction step includes:
An edge acquisition step of acquiring a set of all edges in each plane;
A side classification step of classifying each side acquired by the side acquisition step into an internal side or a boundary side;
The three-dimensional model dividing method according to claim 1, further comprising: an edge deleting step of holding the boundary edge classified by the edge classification step and deleting an internal edge.

(付記10)前記切断面判定ステップは該平面上の頂点以外の頂点がそれぞれ該平面の両側にある平面を切断面と判定する付記4に記載の三次元モデル分割方法。 (Supplementary note 10) The three-dimensional model division method according to supplementary note 4, wherein the cutting plane determination step determines a plane having vertices other than the vertices on the plane on both sides of the plane as a cutting plane.

(付記11)前記輪郭図形再分割ステップは、
切断面における頂点を第1向き頂点集合と第2向き頂点集合に割り当てて、前記第1向き頂点集合における頂点はそれを切断面以外の頂点と接続してなる接続線が第1方向にあるものであり、前記第2向き頂点集合における頂点はそれを切断面以外の頂点と接続してなる接続線が第2方向にあるものである切断面頂点割当ステップと、
切断面以外の頂点を第1向き側頂点集合と第2向き側頂点集合に割り当てて、前記第1向き側頂点集合における頂点は第1向き頂点集合における頂点と直接又は間接に接続するものであり、前記第2向き側頂点集合における頂点は第2向き頂点集合における頂点と直接又は間接に接続するものである切断面以外頂点割当ステップと、
第1向き頂点集合における頂点と直接接続しない前記第1向き側頂点集合における頂点と、第2向き頂点集合における頂点と直接接続しない前記第2向き側頂点集合における頂点との接続関係に基づき、前記第1向き側頂点集合と第2向き側頂点集合との間に切断面に亘る接続がないように前記切断面に頂点を追加する切断面頂点追加ステップと、
前記第1向き頂点集合と第2向き頂点集合及び前記第1向き側頂点集合と第2向き側頂点集合とに基づき、切断面を含む前記三次元実体モデル又は切断面を含む前記子図形を2つ以上の子図形に分割する子図形分割ステップと
を含むことを特徴とする付記4に記載の三次元モデル分割方法。
(Supplementary Note 11) The contour figure subdivision step includes:
A vertex in the cut plane is assigned to a first-direction vertex set and a second-direction vertex set, and the vertex in the first-direction vertex set has a connection line in the first direction connecting it to a vertex other than the cut surface A cutting plane vertex assignment step in which a vertex in the second-direction vertex set has a connecting line formed by connecting it to a vertex other than the cutting plane in the second direction;
Vertices other than the cutting plane are assigned to the first-direction vertex set and the second-direction vertex set, and the vertices in the first-direction vertex set are directly or indirectly connected to the vertices in the first-direction vertex set. A vertex assignment step other than a cutting plane in which the vertices in the second direction side vertex set are directly or indirectly connected to the vertices in the second direction vertex set;
Based on a connection relationship between a vertex in the first-direction vertex set that is not directly connected to a vertex in the first-direction vertex set and a vertex in the second-direction vertex set that is not directly connected to a vertex in the second-direction vertex set, A cutting plane vertex adding step of adding a vertex to the cutting plane so that there is no connection across the cutting plane between the first facing side vertex set and the second facing side vertex set;
Based on the first-direction vertex set, the second-direction vertex set, and the first-direction-side vertex set and the second-direction-side vertex set, the child figure including the three-dimensional entity model including the cut surface or the cut surface is represented by 2 The three-dimensional model dividing method according to claim 4, further comprising a child figure dividing step of dividing the figure into two or more child figures.

(付記12)前記切断面頂点追加ステップは、前記第1向き側頂点集合の第1向き頂点集合における頂点と直接接続しない頂点と、前記第2向き側頂点集合の第2向き頂点集合における頂点と直接接続しない頂点との直接接続は前記切断面に交差するか否かを判定し、交差すれば、切断面に新規の頂点を追加すると共に、新規に追加された前記頂点を利用し、前記第1向き側頂点集合の第1向き頂点集合における頂点と直接接続しない頂点と、前記第2向き側頂点集合の第2向き頂点集合における頂点と直接接続しない頂点との間に直接接続する関係をなくすようにして、更に新規に追加された前記頂点それぞれを第1向き頂点集合と第2向き頂点集合に組み入れることを特徴とする付記11に記載の三次元モデル分割方法。 (Supplementary Note 12) The cutting plane vertex adding step includes: a vertex that is not directly connected to a vertex in the first direction vertex set of the first direction side vertex set; and a vertex in the second direction vertex set of the second direction side vertex set; It is determined whether or not a direct connection with a vertex that is not directly connected intersects the cut surface, and if it intersects, a new vertex is added to the cut surface, the newly added vertex is used, and the first Eliminate a direct connection relationship between a vertex that is not directly connected to a vertex in the first direction vertex set of the one-direction side vertex set and a vertex that is not directly connected to a vertex in the second direction vertex set of the second direction-side vertex set In this way, the three-dimensional model dividing method according to appendix 11, wherein each of the newly added vertices is incorporated into a first-direction vertex set and a second-direction vertex set.

(付記13)入力された三角形メッシュで表現される三次元モデルに含まれる、三角形同士が接続し、且つ、該三角形の法線方向が共通または相反する三角形を集めた平面を検出する平面検出部と、
前記平面検出部によって検出された平面から、該平面の各三角形の各辺のうち、1つの三角形のみに属する境界辺同士を接続して前記三次元モデルの輪郭である輪郭図形を抽出する輪郭図形抽出部と、
前記輪郭図形抽出部によって抽出された輪郭図形を重ならない複数の子図形に分割する輪郭図形分割部と、
前記輪郭図形分割部によって分割された子図形毎に、それぞれが三角形メッシュで表現される三次元実体を再構成する三次元実体再構成部と
を有することを特徴とする三次元モデル分割装置。
(Additional remark 13) The plane detection part which detects the plane which collected the triangle which the triangles which are included in the three-dimensional model expressed with the input triangle mesh connected, and the normal direction of this triangle is common or opposite is collected. When,
A contour graphic that extracts a contour graphic that is an outline of the three-dimensional model by connecting boundary sides belonging to only one triangle among the respective sides of each triangle of the plane from the plane detected by the plane detection unit An extractor;
A contour graphic dividing unit that divides the contour graphic extracted by the contour graphic extracting unit into a plurality of child graphics that do not overlap;
A three-dimensional model dividing apparatus comprising: a three-dimensional entity reconstructing unit that reconstructs a three-dimensional entity represented by a triangular mesh for each child graphic divided by the contour graphic dividing unit.

101 平面検出部
1011 法線方向算出部
1012 子平面取得部
1013 平面取得部
102 輪郭図形抽出部
1021 辺取得部
1022 辺分類部
1023 辺削除部
103 輪郭図形分割部
1031 子図形取得部
1032 穴処理部
1033 切断面処理部
1034 再構成部
DESCRIPTION OF SYMBOLS 101 Plane detection part 1011 Normal direction calculation part 1012 Child plane acquisition part 1013 Plane acquisition part 102 Contour figure extraction part 1021 Edge acquisition part 1022 Edge classification part 1023 Edge deletion part 103 Contour figure division part 1031 Child figure acquisition part 1032 Hole processing part 1033 Cutting surface processing unit 1034 Reconfiguration unit

Claims (7)

三次元モデル分割装置が、
入力された三角形メッシュで表現される三次元モデルに含まれる、三角形同士が接続し、且つ、該三角形の法線方向が共通または相反する三角形を集めた平面を検出する平面検出ステップと、
前記平面検出ステップによって検出された平面から、該平面の各三角形の各辺のうち、1つの三角形のみに属する境界辺同士を接続して前記三次元モデルの輪郭である輪郭図形を抽出する輪郭図形抽出ステップと、
前記輪郭図形抽出ステップによって抽出された輪郭図形を重ならない複数の子図形に分割する輪郭図形分割ステップと、
前記輪郭図形分割ステップによって分割された子図形毎に、それぞれが三角形メッシュで表現される三次元実体を再構成する三次元実体再構成ステップと
を実行することを特徴とする三次元モデル分割方法。
3D model divider
A plane detection step for detecting a plane in which triangles included in a three-dimensional model expressed by an input triangle mesh are connected to each other and the normal directions of the triangles are common or opposite to each other are collected;
A contour graphic that extracts a contour graphic that is an outline of the three-dimensional model by connecting boundary sides belonging to only one triangle among the respective sides of each triangle of the plane from the plane detected by the plane detection step An extraction step;
A contour graphic dividing step for dividing the contour graphic extracted by the contour graphic extracting step into a plurality of child graphics that do not overlap;
A three-dimensional model dividing method comprising: executing a three-dimensional entity reconstruction step of reconstructing a three-dimensional entity represented by a triangular mesh for each child graphic divided by the contour graphic dividing step.
前記三次元モデル分割装置が、
前記三次元実体再構成ステップによって再構成された三次元実体モデル又は前記各子図形の対応する三次元実体が穴であるか否かを、表面の外側に向かう平面の面積と内側に向かう平面の面積の大小から判定する穴判定ステップと、
前記穴判定ステップによって前記三次元実体再構成ステップで再構成されたいずれかの三次元実体モデルが穴であると判定されると、この再構成された三次元実体モデルの全ての三角形の法線方向を相反する方向に変更する、或いは、いずれかの子図形の対応する三次元実体が穴であると判定されると、子図形の対応する三次元実体の全ての三角形の法線方向を相反する方向に変更する穴モデル校正ステップと
を更に実行することを特徴とする請求項1に記載の三次元モデル分割方法。
The three-dimensional model dividing device comprises:
Whether the 3D entity model reconstructed by the 3D entity reconstruction step or the corresponding 3D entity of each child figure is a hole, the area of the plane toward the outside of the surface and the plane of the plane toward the inside A hole determination step for determining from the size of the area;
When it is determined that any 3D entity model reconstructed in the 3D entity reconstruction step by the hole determination step is a hole, normals of all triangles of the reconstructed 3D entity model are determined. If the direction is changed to the opposite direction, or if the corresponding 3D entity of any child figure is determined to be a hole, the directions of the normals of all triangles of the corresponding 3D entity of the child figure are opposite. The three-dimensional model dividing method according to claim 1, further comprising the step of:
前記三次元モデル分割装置が、
前記三次元実体再構成ステップによって再構成された三次元実体モデルに切断面が含まれるか否かを、平連続した2つの頂点の各々と接続され、かつ、該平面に属さない頂点が1つあり、ならびに、平連続した異なる2つの頂点の各々と接続され、かつ、該平面に属さない頂点が1つあり、それらの該平面に属さない頂点の位置が該平面から相対する側にあるか否かで判定する、或いは、前記各子図形の対応する前記三次元実体に切断面が含まれるか否かを判定する切断面判定ステップと、
前記切断面判定ステップによって前記三次元実体再構成ステップで再構成されたいずれかの三次元実体モデルに切断面が含まれると判定されると、該切断面により該切断面を含む三次元実体モデルを2つ以上の子図形に分割する一方、前記切断面判定ステップでは、いずれかの子図形に切断面が含まれると判定されると、該切断面により該切断面を含む子図形を2つ以上の子図形に分割する輪郭図形再分割ステップと
を更に実行することを特徴とする請求項1に記載の三次元モデル分割方法。
The three-dimensional model dividing device comprises:
Whether it includes cutting plane in a three-dimensional real model reconstructed by the three-dimensional entity reconstruction step, is connected to each of the two consecutive vertices on the flat surface, and the vertices that does not belong to the plane There but one, and are connected with each successive two different vertices on the flat surface, and has one vertex that do not belong to the plane, the position of the vertex is the plane that do not belong to those of the flat surfaces A cutting plane determination step for determining whether or not a cutting plane is included in the corresponding three-dimensional entity of each child figure,
When it is determined that any of the three-dimensional entity models reconstructed in the three-dimensional entity reconstruction step includes a cut surface by the cut surface determination step, the three-dimensional entity model including the cut surface by the cut surface Is divided into two or more child figures, and in the cutting plane determination step, when it is determined that any of the child figures includes a cutting plane, the cutting plane includes two or more child figures including the cutting plane. The three-dimensional model dividing method according to claim 1, further comprising: a contour figure subdivision step for dividing the figure into child figures.
前記三次元モデル分割装置が、
前記輪郭図形再分割ステップによって分割された子図形が三次元実体を作成する条件を有するか否かを判定し、三次元実体を作成する条件を有さなければ、該切断面を放棄する適正判定ステップを更に実行することを特徴とする請求項3に記載の三次元モデル分割方法。
The three-dimensional model dividing device comprises:
The child graphic divided by the contour graphic subdivision step determines whether Luke not the having a condition to create a three-dimensional entity, if no conditions to create a three-dimensional entity relinquishes The sections sectional The three-dimensional model dividing method according to claim 3, further comprising executing an appropriateness determining step.
前記三次元モデル分割装置が、
前記輪郭図形再分割ステップによって分割された子図形が、頂点の数が4以上、平面の個数が4以上、かつ、各平面に少なくとも3つの非共線の頂点が含まれる、かつ、各輪郭線が少なくとも2つの異なる平面に属する、かつ、各平面上の頂点が首尾接続で一つの閉領域を構成しなければならない、という条件を全て満足した場合に、該子図形を適正と判定する請求項4に記載の三次元モデル分割方法。
The three-dimensional model dividing device comprises:
The child graphic divided by the contour graphic subdivision step has four or more vertices, four or more planes, and each plane includes at least three non-collinear vertices, and each contour line The child figure is determined to be appropriate when all the conditions that belong to at least two different planes and the vertexes on each plane must constitute a closed region with a successful connection are satisfied. 5. The three-dimensional model dividing method according to 4.
前記輪郭図形再分割ステップは、
切断面における頂点を第1向き頂点集合と第2向き頂点集合に割り当てて、前記第1向き頂点集合における頂点はそれを切断面以外の頂点と接続してなる接続線が第1方向にあるものであり、前記第2向き頂点集合における頂点はそれを切断面以外の頂点と接続してなる接続線が第2方向にあるものである切断面頂点割当ステップと、
切断面以外の頂点を第1向き側頂点集合と第2向き側頂点集合に割り当てて、前記第1向き側頂点集合における頂点は第1向き頂点集合における頂点と直接又は間接に接続するものであり、前記第2向き側頂点集合における頂点は第2向き頂点集合における頂点と直接又は間接に接続するものである切断面以外頂点割当ステップと、
第1向き頂点集合における頂点と直接接続しない前記第1向き側頂点集合における頂点と、第2向き頂点集合における頂点と直接接続しない前記第2向き側頂点集合における頂点との接続関係に基づき、前記第1向き側頂点集合と第2向き側頂点集合との間に切断面に亘る接続がないように前記切断面に頂点を追加する切断面頂点追加ステップと、
前記第1向き頂点集合と第2向き頂点集合及び前記第1向き側頂点集合と第2向き側頂点集合とに基づき、切断面を含む前記三次元実体モデル又は切断面を含む前記子図形を2つ以上の子図形に分割する子図形分割ステップと
を実行することを特徴とする請求項3に記載の三次元モデル分割方法。
The contour figure subdivision step includes:
A vertex in the cut plane is assigned to a first-direction vertex set and a second-direction vertex set, and the vertex in the first-direction vertex set has a connection line in the first direction connecting it to a vertex other than the cut surface A cutting plane vertex assignment step in which a vertex in the second-direction vertex set has a connecting line formed by connecting it to a vertex other than the cutting plane in the second direction;
Vertices other than the cutting plane are assigned to the first-direction vertex set and the second-direction vertex set, and the vertices in the first-direction vertex set are directly or indirectly connected to the vertices in the first-direction vertex set. A vertex assignment step other than a cutting plane in which the vertices in the second direction side vertex set are directly or indirectly connected to the vertices in the second direction vertex set;
Based on a connection relationship between a vertex in the first-direction vertex set that is not directly connected to a vertex in the first-direction vertex set and a vertex in the second-direction vertex set that is not directly connected to a vertex in the second-direction vertex set, A cutting plane vertex adding step of adding a vertex to the cutting plane so that there is no connection across the cutting plane between the first facing side vertex set and the second facing side vertex set;
Based on the first-direction vertex set, the second-direction vertex set, and the first-direction-side vertex set and the second-direction-side vertex set, the child figure including the three-dimensional entity model including the cut surface or the cut surface is represented by 2 The three-dimensional model dividing method according to claim 3, wherein a child figure dividing step of dividing the figure into two or more child figures is executed.
入力された三角形メッシュで表現される三次元モデルに含まれる、三角形同士が接続し、且つ、該三角形の法線方向が共通または相反する三角形を集めた平面を検出する平面検出部と、
前記平面検出部によって検出された平面から、該平面の各三角形の各辺のうち、1つの三角形のみに属する境界辺同士を接続して前記三次元モデルの輪郭である輪郭図形を抽出する輪郭図形抽出部と、
前記輪郭図形抽出部によって抽出された輪郭図形を重ならない複数の子図形に分割する輪郭図形分割部と、
前記輪郭図形分割部によって分割された子図形毎に、それぞれが三角形メッシュで表現される三次元実体を再構成する三次元実体再構成部と
を有することを特徴とする三次元モデル分割装置。
A plane detection unit for detecting a plane in which triangles included in a three-dimensional model represented by an input triangle mesh are connected to each other and the normal directions of the triangles are common or opposite to each other are collected;
A contour graphic that extracts a contour graphic that is an outline of the three-dimensional model by connecting boundary sides belonging to only one triangle among the respective sides of each triangle of the plane from the plane detected by the plane detection unit An extractor;
A contour graphic dividing unit that divides the contour graphic extracted by the contour graphic extracting unit into a plurality of child graphics that do not overlap;
A three-dimensional model dividing apparatus comprising: a three-dimensional entity reconstructing unit that reconstructs a three-dimensional entity represented by a triangular mesh for each child graphic divided by the contour graphic dividing unit.
JP2010029493A 2009-02-12 2010-02-12 3D model dividing apparatus and 3D model dividing method Active JP5445199B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200910006405.5 2009-02-12
CN200910006405.5A CN101807308B (en) 2009-02-12 2009-02-12 Three-dimensional model segmenting device and method

Publications (2)

Publication Number Publication Date
JP2010186479A JP2010186479A (en) 2010-08-26
JP5445199B2 true JP5445199B2 (en) 2014-03-19

Family

ID=42609089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010029493A Active JP5445199B2 (en) 2009-02-12 2010-02-12 3D model dividing apparatus and 3D model dividing method

Country Status (2)

Country Link
JP (1) JP5445199B2 (en)
CN (1) CN101807308B (en)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944239B (en) * 2009-07-08 2016-03-23 富士通株式会社 Three-dimensional model dividing method, device and comprise the image processing system of this device
CN102298795B (en) * 2011-08-10 2013-10-30 华侨大学 Three-dimensional segmenting method for STL (Standard Template Library) triangular network model
CN103295216B (en) * 2012-02-24 2016-01-06 富士通株式会社 For identifying method and apparatus and the image processing system in the space in three-dimensional model
CN103854275B (en) * 2012-11-30 2017-06-09 富士通株式会社 Overall space division methods and equipment and image processing system in threedimensional model
WO2015172309A1 (en) * 2014-05-13 2015-11-19 Siemens Product Lifecycle Management Software Inc. Geodesic sketching on curved surfaces
US10055857B2 (en) * 2014-08-29 2018-08-21 Ati Technologies Ulc Extension of the MPEG/SC3DMC standard to polygon meshes
CN104154877B (en) * 2014-09-03 2016-07-06 中国人民解放军国防科学技术大学 A kind of complicated convex-surface type object dimensional is rebuild and volume measuring method
CN105184868B (en) * 2015-09-01 2018-10-12 广东顺德中山大学卡内基梅隆大学国际联合研究院 A kind of triangle table surface grids generation method based on three-dimensional entity model
CN106023322A (en) * 2016-05-27 2016-10-12 美屋三六五(天津)科技有限公司 Three-dimensional model processing method and apparatus
CN107958489B (en) * 2016-10-17 2021-04-02 杭州海康威视数字技术股份有限公司 Curved surface reconstruction method and device
CN106920275B (en) * 2017-01-24 2021-05-28 天衍智(北京)科技有限公司 Complex attribute boundary three-dimensional vector iteration method and application system
WO2018170731A1 (en) * 2017-03-21 2018-09-27 中国科学院深圳先进技术研究院 Method and device for expressing three-dimensional shape
JP6659641B2 (en) * 2017-09-13 2020-03-04 ファナック株式会社 3D model creation device
CN107633555B (en) * 2017-09-15 2019-12-17 中国地质大学(武汉) Curved surface set mutual cutting method and system based on space scanning
CN108106572A (en) * 2017-12-11 2018-06-01 上海电气电站设备有限公司 The detection method of steam turbine split flatness
JP7000941B2 (en) * 2018-03-22 2022-01-19 株式会社Jvcケンウッド Processing device, 3D model division method and program
CN108564646B (en) * 2018-03-28 2021-02-26 腾讯科技(深圳)有限公司 Object rendering method and device, storage medium and electronic device
CN109035407B (en) * 2018-07-11 2024-02-06 厦门点射科技有限公司 Direction-based parameter curved surface triangularization method, device, equipment and storage medium
CN109410336A (en) * 2018-09-30 2019-03-01 深圳市华讯方舟太赫兹科技有限公司 Grid subdivision method, image processing equipment and the device with store function
CN109410183B (en) * 2018-10-08 2022-03-25 香港理工大学 Plane extraction method, system and device based on point cloud data and storage medium
CN109979019B (en) * 2019-03-27 2023-03-14 衡阳师范学院 Cutting method of star-shaped component
JP7400259B2 (en) 2019-08-14 2023-12-19 富士フイルムビジネスイノベーション株式会社 3D shape data generation device, 3D printing device, and 3D shape data generation program
CN111999030B (en) * 2020-10-29 2021-01-05 中国空气动力研究与发展中心高速空气动力研究所 Three-dimensional oil flow VR (virtual reality) online measurement and display system and working method thereof
CN113368498B (en) * 2021-06-09 2024-02-02 网易(杭州)网络有限公司 Model generation method and device and electronic equipment
CN114202654B (en) * 2022-02-17 2022-04-19 广东皓行科技有限公司 Entity target model construction method, storage medium and computer equipment
JP7314341B1 (en) 2022-03-02 2023-07-25 アルム株式会社 Shape analysis device, shape analysis method and shape analysis program
CN114633850B (en) * 2022-03-10 2023-03-24 上海交通大学 Virtual visual reconstruction method for finite element model of ship structure
CN114511586B (en) * 2022-04-20 2022-08-23 三一筑工科技股份有限公司 Method, device and equipment for determining surface contour of object and storage medium
CN114722688B (en) * 2022-06-07 2022-08-26 中国城市规划设计研究院(住房和城乡***遥感应用中心) Automatic layering method for three-dimensional building model
CN115457205A (en) * 2022-09-14 2022-12-09 青岛海信医疗设备股份有限公司 Method, device, equipment and medium for constructing three-dimensional visceral organ model
CN117078891B (en) * 2023-10-17 2024-01-09 西安第六镜网络科技有限公司 Laser contour mesh reconstruction method and device, electronic equipment and storage medium
CN117952990A (en) * 2024-01-29 2024-04-30 南京筑卫医学科技有限公司 Three-dimensional target object segmentation method based on active contour model

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103348A (en) * 1992-09-18 1994-04-15 Daikin Ind Ltd Method for dividing area and device therefor
JP2001351119A (en) * 2000-06-06 2001-12-21 Ricoh Co Ltd Method for generating triangular mesh, and recording medium for implementing the method
JP2005292864A (en) * 2004-03-31 2005-10-20 Allied Engineering Corp Continuum division method and continuum division program
JP4605772B2 (en) * 2005-03-09 2011-01-05 独立行政法人理化学研究所 Generation method of boundary surface information, generation program thereof, and generation system thereof
CN100557640C (en) * 2008-04-28 2009-11-04 清华大学 A kind of interactive multi-vision point three-dimensional model reconstruction method

Also Published As

Publication number Publication date
JP2010186479A (en) 2010-08-26
CN101807308A (en) 2010-08-18
CN101807308B (en) 2015-07-08

Similar Documents

Publication Publication Date Title
JP5445199B2 (en) 3D model dividing apparatus and 3D model dividing method
JP5625554B2 (en) 3D model dividing method, 3D model dividing apparatus, and image processing system including 3D model dividing apparatus
JP4516957B2 (en) Method, system and data structure for searching for 3D objects
KR102055955B1 (en) Geometrical elements transformed by rigid motions
Tierny et al. Interactive quadrangulation with Reeb atlases and connectivity textures
Wang et al. Thickening freeform surfaces for solid fabrication
US20220156430A1 (en) Topological message passing for three dimensional models in boundary representation format
Ohori et al. Modeling and manipulating spacetime objects in a true 4D model
de Oliveira Miranda et al. Finite element mesh generation for subsurface simulation models
Sahebdivani et al. Deep learning based classification of color point cloud for 3D reconstruction of interior elements of buildings
Tuan Overview of three-dimensional GIS data models
Carniel et al. A systematic approach to creating fuzzy region objects from real spatial data sets
Al Akhras Automatic isogeometric analysis suitable trivariate models generation: Application to reduced order modeling
Smith 3D data representation, storage and processing
Pawar et al. Surface reconstruction from point clouds
Fol-Leymarie Three-dimensional shape representation via shock flows
JP2000132710A (en) Three-dimensional object defining method
Bennett et al. A genus oblivious approach to cross parameterization
Kropatsch et al. Hierarchies relating topology and geometry
Thomas et al. Topological Visualisation Techniques for Volume Multifield Data
Steinfeld Ivy: Bringing a Weighted-Mesh Representation to Bear on Generative Architectural Design Applications
Karim et al. Generalization Technique for 2D+ SCALE Dhe Data Model
Hristov Hypersweeps, convective clouds and Reeb spaces
Tatkar et al. Feature recognition from mesh models
Wang Free-form surface representation and approximation using T-splines

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130716

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130906

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131209

R150 Certificate of patent or registration of utility model

Ref document number: 5445199

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150