JP6565494B2 - Data reduction device for 3D object modeling - Google Patents

Data reduction device for 3D object modeling Download PDF

Info

Publication number
JP6565494B2
JP6565494B2 JP2015169803A JP2015169803A JP6565494B2 JP 6565494 B2 JP6565494 B2 JP 6565494B2 JP 2015169803 A JP2015169803 A JP 2015169803A JP 2015169803 A JP2015169803 A JP 2015169803A JP 6565494 B2 JP6565494 B2 JP 6565494B2
Authority
JP
Japan
Prior art keywords
vertex
polygon
coordinate
polygons
deletion target
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
JP2015169803A
Other languages
Japanese (ja)
Other versions
JP2017045428A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2015169803A priority Critical patent/JP6565494B2/en
Publication of JP2017045428A publication Critical patent/JP2017045428A/en
Application granted granted Critical
Publication of JP6565494B2 publication Critical patent/JP6565494B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Description

本発明は、立体物を表すデータを基に、樹脂等を加工して立体物を造形する3Dプリンタ等の立体物造形装置の利用に際して、立体物造形装置への出力用データを削減するための技術に関する。   The present invention is to reduce output data to a three-dimensional object modeling apparatus when using a three-dimensional object modeling apparatus such as a 3D printer that processes a resin or the like to model a three-dimensional object based on data representing the three-dimensional object. Regarding technology.

近年、立体物を表すデータをもとに、樹脂や石膏等を加工して造形する3Dプリンタが立体物造形装置として普及してきている。3Dプリンタの医療応用として、医療診断で撮影されるCT/MRI画像(DICOM形式3次元ボクセルデータ)を基に3Dプリンタ出力用モデリングデータを作成し、手術シミュレーション・医学教育・インフォームドコンセント向けの臓器模型を出力したり、体内埋め込み用の人工臓器(血管、骨、関節など)を作成したりする試みが始まっている。   In recent years, 3D printers that process and model resin, gypsum, and the like based on data representing a three-dimensional object have become widespread as three-dimensional object modeling apparatuses. As a medical application of 3D printers, modeling data for 3D printer output is created based on CT / MRI images (DICOM format 3D voxel data) taken by medical diagnosis, and organs for surgical simulation, medical education, and informed consent Attempts have been made to output models and create artificial organs (blood vessels, bones, joints, etc.) for implantation in the body.

立体物造形用データである3Dプリンタ出力用モデリングデータは、ポリゴンの集合体で表現されたポリゴンモデルである。CT/MRI画像から臓器模型の3Dプリンタ出力用モデリングデータを作成する方法としては、特許文献1、特許文献2に示されるように、対象とする臓器領域のボクセルを抽出し、Marching Cube法(特許文献3など)により臓器領域の境界面を多面体(三角形の集合)で近似したサーフェースに変換して表面形状を表現したサーフェースデータを得る手法が一般的である。   Modeling data for 3D printer output, which is data for modeling a three-dimensional object, is a polygon model expressed by a collection of polygons. As a method for creating modeling data for 3D printer output of an organ model from a CT / MRI image, as shown in Patent Document 1 and Patent Document 2, a voxel of a target organ region is extracted and the Marching Cube method (patent In general, a technique for converting the boundary surface of an organ region into a surface approximated by a polyhedron (a set of triangles) and obtaining surface data expressing the surface shape is used.

特許第3690501号公報Japanese Patent No. 3690501 特開2012−216102号公報JP 2012-216102 A 米国特許第7209136号公報US Pat. No. 7,209,136 特開平8−153211号公報Japanese Patent Laid-Open No. 8-153211 特許第3350473号公報Japanese Patent No. 3350473 特許第4463597号公報Japanese Patent No. 4463597 特許第5018721号公報Japanese Patent No. 5018721 特開平11−232489号公報Japanese Patent Laid-Open No. 11-232489

上記のサーフェース変換手法では512の3乗程度のボクセルを基に、3次元的に三角形を生成する方法をとるため、三角形ポリゴンが膨大になり、CG分野においては、画面描画の際に時間がかかり対話操作の応答性が悪くなるという問題が指摘されている。これは3Dプリンタ出力においても問題を起こし、プリンタ出力前処理(ポリゴンから積層造形用のデータに変換する処理)に時間がかかり、場合によりワークメモリーオーバーフローを引き起こして出力不能になる。   In the above surface conversion method, a method of generating a triangle three-dimensionally based on a voxel of about the power of 512 is used, so the triangle polygon becomes enormous, and in the CG field, time is required for screen drawing. It has been pointed out that there is a problem that the responsiveness of the interactive operation becomes worse. This also causes a problem in 3D printer output, and it takes time for printer output preprocessing (processing for converting polygons into data for additive manufacturing), and in some cases causes a work memory overflow and disables output.

これに対してCG分野においては、画面の解像度に合せてポリゴン分割を粗くして曲面を表現したり、可視化に供しないポリゴンを事前に削除したりする方法がとられる。例えば、平板オブジェクトでは、単一面だけで表現し裏面を構成するポリゴンを省略したり、特許文献4のように、視点方向から隠面にあたり可視化に供しないポリゴンを事前に削除したり、特許文献5のように、他のポリゴンによって隠される内側のポリゴンを判定して事前に削除し、描画対象ポリゴンを削減する方法が提案されている。また、特許文献6のように、微細な凹凸表現に対してポリゴンを用いず、テクスチャやバンプマッピングで代用する方法が提案されている。   On the other hand, in the CG field, a method is used in which polygonal division is roughened in accordance with the resolution of the screen to express a curved surface, or polygons that are not used for visualization are deleted in advance. For example, in a flat object, polygons that represent only a single surface and constitute the back surface are omitted, or polygons that are hidden from the viewpoint direction and are not used for visualization are deleted in advance, as in Patent Document 4, or Patent Document 5 As described above, a method has been proposed in which inner polygons hidden by other polygons are determined and deleted in advance to reduce the drawing target polygons. Further, as disclosed in Patent Document 6, a method of substituting texture or bump mapping instead of using polygons for a fine uneven expression has been proposed.

しかし、3Dプリンタ出力においては、画面より細かい解像度が要求され、ポリゴンにより閉空間を構成する必要があるため、平板オブジェクトにおいて、裏面を構成するポリゴンを省略することはできない。また、造形物は種々のアングルから鑑賞されるため基本的に隠面は存在せず、造形物内部にも別の形状を造形可能なため、CG分野で提案されているオクルージョンカリングという手法は意味をもたない。微細な凹凸に対しても陰影などで視覚的に擬似表現することはできず、ポリゴン形状で表現せざるを得ない。特許文献7のように、建築模型においては極端にポリゴンを削減したデフォルメされた表現が要望される場合もあるが、医療応用ではそれなりにリアリティが要求される。そのため、特許文献8のように、造形物の外観を損なわない程度に、三角形ポリゴン自体を削減する手法をとらざるを得ない。   However, in 3D printer output, a resolution finer than that of the screen is required, and since it is necessary to form a closed space with polygons, it is not possible to omit the polygons constituting the back surface in a flat object. In addition, since the model is viewed from various angles, there is basically no hidden surface, and another shape can be modeled inside the model, so the occlusion culling method proposed in the CG field means Does not have Even minute irregularities cannot be visually expressed by shading or the like, and must be expressed by polygonal shapes. As in Patent Document 7, there are cases where a deformed expression with extremely reduced polygons is required in an architectural model, but in medical applications, reality is required as such. Therefore, as in Patent Document 8, there is no choice but to take a technique of reducing the triangular polygons themselves to such an extent that the appearance of the shaped object is not impaired.

三角形ポリゴンの削減にあたっては、特許文献8の手法が基本になる。これは、(1)与えられたポリゴンから削減しても全体形状にあまり影響を与えない三角形および稜線を探索する処理と、(2)対象稜線を削減するとともにそれと頂点を共有する隣接三角形を探索し補正を行う処理との2種の探索処理を所望のデータ量に削減されるまで繰り返す。特許文献8の手法では、双方の処理において削除候補とする稜線と頂点を共有する隣接三角形を探索する処理を必要とし、与えられたポリゴン数の2乗に比例して処理負荷が増大するという問題を抱えていた。   In the reduction of triangular polygons, the method of Patent Document 8 is fundamental. This includes (1) processing to search for triangles and ridges that do not affect the overall shape even if they are reduced from a given polygon, and (2) search for neighboring triangles that share vertices with the target ridges while reducing them. The two types of search processing including correction processing are repeated until the data amount is reduced to a desired amount. The technique of Patent Document 8 requires processing for searching for adjacent triangles that share ridgelines and vertices that are candidates for deletion in both processes, and the processing load increases in proportion to the square of the number of polygons given. Was holding.

処理負荷を削減する方法として、削減対象の入力ポリゴンモデルのデータ量を少なくすれば良いため、入力ポリゴンモデルを分割して処理をすればよい。特許文献1では、ポリゴンに変換前のボクセル画像の段階で分割を行い、分割されたボクセルデータごとにサーフェース変換を行ってポリゴンを削減する手法を提案している。これにより確かに高速化は実現できるが、ボクセル分割された境界部にサーフェースが形成されてしまうため、ポリゴンデータを統合させると、造形物上において分割境界部に対応する不連続な亀裂が発生してしまうという問題がある(ただし、CG用途においては、レンダリングにより境界部は目立たない。)。   As a method of reducing the processing load, it is only necessary to reduce the data amount of the input polygon model to be reduced. Therefore, the input polygon model may be divided and processed. Japanese Patent Application Laid-Open No. 2004-228620 proposes a method of performing polygon conversion at the stage of a voxel image before conversion into polygons, and performing surface conversion for each divided voxel data to reduce polygons. Although this can certainly increase the speed, a surface is formed at the boundary part divided by voxel, so when polygon data is integrated, discontinuous cracks corresponding to the divided boundary part occur on the modeled object. (However, in CG applications, the boundary portion is not noticeable due to rendering).

また、見かけ上は単一の閉空間にまとまって見えても、データ的には複数の閉空間に分離されている場合がある。例えば、主たる閉空間に接触した小空間が存在する場合、そのままプリンタ出力すれば支障無いが、特許文献8等によりポリゴン削減を施すと、小空間が削られて主たる閉空間からの距離が長くなり、完全に遊離した状態になることがある。この状態でプリンタ出力すると、プリンタ出力前処理でエラー停止したり、空中に浮遊するよう造形指示された小空間が出力途上で落下し出力トラブルを発生させたりする可能性がある(ただし、CG用途においては、特に問題を生じない。)。   Moreover, even if it looks as if it is a single closed space, it may be separated into a plurality of closed spaces in terms of data. For example, if there is a small space that is in contact with the main closed space, there is no problem if the printer outputs it as it is. However, if polygon reduction is performed according to Patent Document 8, etc., the small space is cut and the distance from the main closed space becomes longer. , May become completely liberated. If the printer is output in this state, there is a possibility that an error will be stopped in the printer output pre-processing, or that a small space instructed to float in the air may fall in the middle of output and cause an output trouble (however, for CG applications) In particular, there is no problem.)

そこで、本発明は、出力造形物の品質の劣化を抑えながら、ポリゴンで構成されたポリゴンモデルから、少ない処理負荷で、効率的にポリゴンを削減して立体物造形用データを得ることが可能な立体物造形用データ削減装置を提供することを課題とする。   Therefore, the present invention can obtain data for three-dimensional object modeling by efficiently reducing polygons with a small processing load from a polygon model composed of polygons while suppressing deterioration of the quality of the output modeled object. It is an object to provide a three-dimensional object modeling data reduction device.

上記課題を解決するため、本発明第1の態様では、
ポリゴンの集合として表現されたポリゴンモデルのデータを、立体物の造形のために削減する装置であって、
前記ポリゴンモデルを構成する各ポリゴンの各頂点に対して、同一の座標値をもつ異なるポリゴンの頂点を探索し、取得された一連の頂点に対して同一の頂点IDを付与することにより、各ポリゴンに含まれる各頂点を、同一座標の頂点を同一値とする頂点IDで表現し、各頂点を含むポリゴンと対応付けて記録した頂点構成テーブルと、前記頂点構成テーブルに付与された頂点IDと座標値を対応付けて記録した頂点座標テーブルと、を作成するポリゴンモデル構造化手段と、
前記頂点座標テーブルに記録されている頂点と同一座標となる重複先の頂点との対応関係を記録する頂点重複テーブルを定義するテーブル定義手段と、
前記頂点構成テーブルに記録されているポリゴンに対して、面積と周長の積、面積のいずれかが所定のしきい値以下で、全ての頂点が既に削除対象に設定された全てのポリゴンの削除対象稜線の2頂点と共有しないポリゴンを削除対象ポリゴンとして順次設定し、更に各々設定されたポリゴンより削除対象稜線を選定する削除対象ポリゴン設定手段と、
前記頂点構成テーブルを参照して前記削除対象ポリゴン設定手段にて設定された全てのポリゴンの削除対象稜線の2端点を削除対象頂点とし、前記削除対象頂点を基に前記頂点座標テーブルを参照して2つの前記削除対象頂点の平均点を求め、前記削除対象頂点の1つを代表頂点とし、前記代表頂点以外の前記削除対象頂点の情報を頂点座標テーブルから削除するとともに、前記代表頂点の頂点IDに、前記平均点の座標値を対応付けて記録する頂点座標テーブル更新手段と、
前記頂点重複テーブルにおいて、前記代表頂点以外の前記削除対象頂点の重複先を前記代表頂点に設定する頂点重複テーブル更新手段と、
前記頂点構成テーブルの各頂点IDの値を、前記頂点重複テーブルに設定された重複先に変更し、変更された結果、同一のポリゴンに対応する頂点IDが2つ以上重複する場合、当該ポリゴンを前記頂点構成テーブルより削除する頂点構成テーブル更新手段と、
前記頂点構成テーブル更新手段により更新された頂点構成テーブルの各頂点IDを前記頂点座標テーブル更新手段により更新された頂点座標テーブルを参照しながら座標値に置換することにより、ポリゴンモデルを更新するポリゴンモデル更新手段と、
を有することを特徴とする立体物造形用データ削減装置を提供する。
In order to solve the above problems, in the first aspect of the present invention,
A device for reducing polygon model data expressed as a collection of polygons for modeling a three-dimensional object,
By searching for the vertices of different polygons having the same coordinate value for each vertex of each polygon constituting the polygon model, and assigning the same vertex ID to the obtained series of vertices, each polygon Each vertex included in the vertex is expressed by a vertex ID having the same value as the vertex of the same coordinate, and recorded in association with a polygon including each vertex, and the vertex ID and the coordinate assigned to the vertex configuration table A vertex coordinate table in which values are recorded in association with each other; a polygon model structuring means for creating;
A table defining means for defining a vertex duplication table for recording a correspondence relationship between a vertex recorded in the vertex coordinate table and a duplication destination vertex having the same coordinates;
Deletion of all polygons for which all of the vertices have already been set as deletion targets for the polygons recorded in the vertex configuration table, where either the product of the area, circumference, or area is less than or equal to a predetermined threshold Polygons that are not shared with the two vertices of the target ridge line are sequentially set as deletion target polygons, and further, a deletion target polygon setting means for selecting a deletion target ridge line from each set polygon,
With reference to the vertex configuration table, the two end points of the deletion target ridge line of all the polygons set by the deletion target polygon setting means are set as deletion target vertices, and the vertex coordinate table is referenced based on the deletion target vertices. An average point of the two deletion target vertices is obtained, one of the deletion target vertices is set as a representative vertex, information on the deletion target vertices other than the representative vertex is deleted from the vertex coordinate table, and the vertex ID of the representative vertex A vertex coordinate table updating means for recording the coordinate value of the average point in association with each other,
In the vertex duplication table, vertex duplication table update means for setting the duplication destination of the deletion target vertex other than the representative vertex to the representative vertex;
When the value of each vertex ID in the vertex configuration table is changed to the duplication destination set in the vertex duplication table and, as a result of the change, if two or more vertex IDs corresponding to the same polygon overlap, Vertex configuration table updating means for deleting from the vertex configuration table;
A polygon model that updates a polygon model by replacing each vertex ID of the vertex configuration table updated by the vertex configuration table update means with a coordinate value while referring to the vertex coordinate table updated by the vertex coordinate table update means Update means;
A three-dimensional object shaping data reduction device characterized by comprising:

本発明第1の態様によれば、ポリゴンモデルを構成する各ポリゴンの各頂点に対して、同一の座標値をもつ異なるポリゴンの頂点を探索し、取得された一連の頂点に対して同一の頂点IDを付与することにより、各ポリゴンに含まれる各頂点を、同一座標の頂点を同一値とする頂点IDで表現し、各頂点を含むポリゴンと対応付けて記録した頂点構成テーブルと、頂点構成テーブルに付与された頂点IDと座標値を対応付けて記録した頂点座標テーブルとを作成し、頂点座標テーブルに記録されている頂点と同一座標となる重複先の頂点との対応関係を記録する頂点重複テーブルを定義し、頂点構成テーブルに記録されているポリゴンに対して、面積と周長の積、面積のいずれかが所定のしきい値以下で、全ての頂点が既に削除対象に設定された全てのポリゴンの削除対象稜線の2頂点と共有しないポリゴンを削除対象ポリゴンとして順次設定し、更に各々設定されたポリゴンより削除対象稜線を選定し、頂点構成テーブルを参照して削除対象ポリゴン設定手段にて設定された全てのポリゴンの削除対象稜線の2端点を削除対象頂点とし、削除対象頂点を基に頂点座標テーブルを参照して複数の削除対象頂点の平均点を求め、削除対象頂点の1つを代表頂点とし、代表頂点以外の削除対象頂点の情報を頂点座標テーブルから削除するとともに、代表頂点の頂点IDに、平均点の座標値を対応付けて記録するようにし、頂点重複テーブルにおいて、代表頂点以外の削除対象頂点の重複先を代表頂点に設定するようにし、頂点構成テーブルの各頂点IDの値を、更新された頂点重複テーブルに設定された重複先に変更し、変更された結果、同一のポリゴンに対応する頂点IDが2つ以上重複する場合、そのポリゴンを頂点構成テーブルより削除するようにし、更新された頂点構成テーブルの各頂点IDを、更新された頂点座標テーブルを参照しながら座標値に置換することにより、ポリゴンモデルを更新するようにしたので、設定された削除対象ポリゴンに隣接するポリゴンの探索負荷を減少させることができる。このため、出力造形物の品質の劣化を抑えながら、ポリゴンで構成されたポリゴンモデルから、少ない処理負荷で、効率的にポリゴンを削減して立体物造形用データを得ることが可能となる。特に、医療用のCT/MRI画像をもとに生成されたサーフェースデータ等のポリゴンモデルを効率良く3Dプリンタ等の立体物造形装置に出力することが可能となる。   According to the first aspect of the present invention, vertices of different polygons having the same coordinate value are searched for each vertex of each polygon constituting the polygon model, and the same vertex is obtained for the obtained series of vertices. By assigning an ID, each vertex included in each polygon is expressed by a vertex ID having the same value as the vertex of the same coordinate, and a vertex configuration table recorded in association with the polygon including each vertex, and a vertex configuration table Vertex duplication that creates a vertex coordinate table in which the vertex IDs assigned to and the coordinate values are recorded in association with each other and records the correspondence between the vertexes recorded in the vertex coordinate table and the vertices of the same destination Define a table, and for the polygons recorded in the vertex configuration table, either the product of the area and perimeter or the area is less than the predetermined threshold value, and all vertices are already set for deletion. Polygons that are not shared with the two vertices of the deletion target ridgelines of all the polygons are sequentially set as deletion target polygons, and the deletion target ridgelines are selected from the set polygons, and the deletion target polygon setting means is referred to the vertex configuration table. The two end points of the deletion target ridgeline of all the polygons set in step 1 are set as deletion target vertices, and the average point of a plurality of deletion target vertices is obtained by referring to the vertex coordinate table based on the deletion target vertices. In the vertex duplication table, the information on the vertices to be deleted other than the representative vertices is deleted from the vertex coordinate table and the average vertex coordinate value is recorded in association with the vertex ID of the representative vertex. The duplication destination of the deletion target vertex other than the representative vertex is set as the representative vertex, and the value of each vertex ID in the vertex configuration table is set to the updated vertex duplication table. When there are two or more vertex IDs corresponding to the same polygon as a result of the change, the polygon is deleted from the vertex configuration table, and the updated vertex configuration table The polygon model is updated by replacing each vertex ID with a coordinate value while referring to the updated vertex coordinate table, so the search load of the polygon adjacent to the set polygon to be deleted is reduced. be able to. For this reason, it is possible to efficiently reduce the polygons and obtain the three-dimensional object modeling data from the polygon model constituted by the polygons with a small processing load while suppressing the deterioration of the quality of the output modeling object. In particular, a polygon model such as surface data generated based on a medical CT / MRI image can be efficiently output to a three-dimensional object forming apparatus such as a 3D printer.

また、本発明第2の態様では、前記ポリゴンモデル更新手段により更新されたポリゴンモデルを構成するポリゴン数が所定の目標値より大きい場合、前記削除対象ポリゴン設定手段、前記頂点座標テーブル更新手段、前記頂点重複テーブル更新手段、前記頂点構成テーブル更新手段、前記ポリゴンモデル更新手段に対して繰り返して処理を実行させる制御を行う制御手段と、を更に備えることを特徴とする。   In the second aspect of the present invention, when the number of polygons constituting the polygon model updated by the polygon model updating unit is larger than a predetermined target value, the deletion target polygon setting unit, the vertex coordinate table updating unit, The apparatus further comprises: a vertex duplication table update unit, the vertex configuration table update unit, and a control unit that performs control to repeatedly execute the process on the polygon model update unit.

本発明第2の態様によれば、更新されたポリゴンモデルを構成するポリゴン数が目標値より大きい場合、削除対象ポリゴンの設定、頂点座標テーブルの更新、頂点重複テーブルの更新、頂点構成テーブルの更新、ポリゴンモデルの更新を繰り返して行うようにしたので、ポリゴンモデルを構成するポリゴン数を目標値まで削減することが可能となる。   According to the second aspect of the present invention, when the number of polygons constituting the updated polygon model is larger than the target value, the deletion target polygon is set, the vertex coordinate table is updated, the vertex duplication table is updated, and the vertex configuration table is updated. Since the polygon model is repeatedly updated, the number of polygons constituting the polygon model can be reduced to the target value.

また、本発明第3の態様では、
更に頂点更新テーブル更新手段を備え、
前記テーブル定義手段は、前記頂点座標テーブルに記録されている頂点が、前記削除対象頂点に設定されたことを記録する頂点更新テーブルを更に定義し、
前記削除対象ポリゴン設定手段は、前記頂点更新テーブルを参照して、前記削除対象頂点に設定されたことが記録されていないものを、前記全てのポリゴンの削除対象稜線の2頂点と共有しないポリゴンとし、
前記頂点更新テーブル更新手段は、前記頂点重複テーブルにおける頂点について更新が行われた場合に、頂点更新テーブルの当該頂点を削除対象頂点に設定することを特徴とする。
In the third aspect of the present invention,
Furthermore, a vertex update table update means is provided,
The table defining means further defines a vertex update table for recording that the vertex recorded in the vertex coordinate table is set as the deletion target vertex;
The deletion target polygon setting means refers to the vertex update table, and designates a polygon that is not recorded as being set as the deletion target vertex as a polygon that is not shared with two vertices of the deletion target ridge line of all the polygons. ,
The vertex update table update unit sets the vertex in the vertex update table as a deletion target vertex when the vertex in the vertex overlap table is updated.

本発明第3の態様によれば、頂点座標テーブルに記録されている頂点が、削除対象頂点に設定されたことを記録する頂点更新テーブルを更に定義し、削除対象ポリゴン設定の際、頂点更新テーブルを参照して、削除対象頂点に設定されたことが記録されていないものを、全てのポリゴンの削除対象稜線の2頂点と共有しないポリゴンとし、頂点重複テーブルにおいて所定の頂点について更新が行われた場合に、頂点更新テーブルの対応する頂点を削除対象頂点に設定するようにしたので、削除対象に設定しようとするポリゴンのいずれの頂点と共有する頂点をもつ他の隣接ポリゴンが削除対象に事前に設定されていないことを容易に確認でき、隣接する複数のポリゴンを同時に削除対象に設定することを回避でき、削除後のポリゴンモデルを歪ませることを防ぐことができる。   According to the third aspect of the present invention, the vertex update table for recording that the vertex recorded in the vertex coordinate table is set as the deletion target vertex is further defined, and when the deletion target polygon is set, the vertex update table is set. Referring to, the polygons that are not recorded as the deletion target vertices are not shared with the two vertices of the deletion target ridgeline of all polygons, and the predetermined vertex is updated in the vertex duplication table. In this case, the corresponding vertex in the vertex update table is set as the deletion target vertex, so other polygons that have vertices shared with any vertex of the polygon to be set as the deletion target are set in advance as the deletion target. You can easily confirm that it is not set, you can avoid setting multiple adjacent polygons as deletion targets at the same time, Maseru it can be prevented.

また、本発明第4の態様では、前記削除対象ポリゴン設定手段は、前記頂点構成テーブルに記録されている全てのポリゴンに対して面積を算出し、面積の最小値に所定の1以上の値を乗算した値を前記所定のしきい値に設定するようにしていることを特徴とする。   In the fourth aspect of the present invention, the deletion target polygon setting means calculates an area for all the polygons recorded in the vertex configuration table, and sets a predetermined value of 1 or more as a minimum value of the area. The multiplied value is set to the predetermined threshold value.

本発明第4の態様によれば、頂点構成テーブルに記録されている全てのポリゴンに対して面積を算出し、面積の最小値に所定の1以上の値を乗算した値を前記所定のしきい値に設定するようにしたので、ポリゴン面積が小さいものを優先してポリゴンの削除を行うことが可能となる。   According to the fourth aspect of the present invention, an area is calculated for all polygons recorded in the vertex configuration table, and a value obtained by multiplying a minimum value of the area by a predetermined value of 1 or more is used as the predetermined threshold. Since it is set to a value, it is possible to delete polygons with priority given to those having a small polygon area.

また、本発明第5の態様では、前記削除対象ポリゴン設定手段は、前記頂点構成テーブルに記録されている全てのポリゴンに対して面積と周長を算出し、面積と周長の積の最小値に所定の1以上の値を乗算した値を前記所定のしきい値に設定するようにていることを特徴とする。   In the fifth aspect of the present invention, the deletion target polygon setting means calculates an area and a perimeter for all the polygons recorded in the vertex configuration table, and a minimum value of a product of the area and the perimeter A value obtained by multiplying a predetermined value of 1 or more is set as the predetermined threshold value.

本発明第5の態様によれば、頂点構成テーブルに記録されている全てのポリゴンに対して面積と周長を算出し、面積と周長の積の最小値に所定の1以上の値を乗算した値を前記所定のしきい値に設定するようにしたので、面積と周長の積が小さいものを優先してポリゴンの削除を行うことが可能となる。   According to the fifth aspect of the present invention, the area and perimeter are calculated for all the polygons recorded in the vertex configuration table, and the minimum product of the area and perimeter is multiplied by a predetermined value of 1 or more. Since the predetermined value is set as the predetermined threshold value, polygons can be deleted by giving priority to a product having a small area and circumference.

また、本発明第6の態様では、前記削除対象ポリゴン設定手段は、削除対象に設定されたポリゴンより削除対象稜線を選定するにあたり、最短の稜線を選定するようにしていることを特徴とする。   Further, the sixth aspect of the present invention is characterized in that the deletion target polygon setting means selects the shortest ridge line when selecting the deletion target ridge line from the polygon set as the deletion target.

本発明第6の態様によれば、削除対象ポリゴン設定手段が、削除対象に設定されたポリゴンより削除対象稜線を選定するにあたり、最短の稜線を選定するようにしたので、ポリゴンモデルの全体形状に歪をあまり与えずにポリゴンの削除を行うことが可能となる。   According to the sixth aspect of the present invention, the deletion target polygon setting means selects the shortest ridge line when selecting the deletion target ridge line from the polygon set as the deletion target. It becomes possible to delete polygons without giving much distortion.

また、本発明第7の態様では、
前記立体物造形用データ削減装置と、
前記立体物造形用データ削減装置から出力されたポリゴンモデルを用いて立体物を造形する立体物造形装置と、
を有することを特徴とする立体物造形システム
を有することを特徴とする立体物造形システムを提供する。
In the seventh aspect of the present invention,
The three-dimensional object shaping data reduction device;
A three-dimensional object modeling apparatus that models a three-dimensional object using the polygon model output from the three-dimensional object modeling data reduction apparatus;
A three-dimensional object shaping system characterized by comprising a three-dimensional object shaping system.

本発明第7の態様によれば、立体物造形用データ削減装置と、立体物造形用データ削減装置から出力されたポリゴンモデルを用いて立体物を造形する立体物造形装置により立体物造形システムを実現するようにしたので、ボードコンピュータを組み込んだ3Dプリンタ等の形態で、立体物造形システムを提供することが可能となる。   According to the seventh aspect of the present invention, the three-dimensional object modeling system includes the three-dimensional object modeling data reduction apparatus and the three-dimensional object modeling apparatus that models the three-dimensional object using the polygon model output from the three-dimensional object modeling data reduction apparatus. Since this is realized, it is possible to provide a three-dimensional object formation system in the form of a 3D printer or the like incorporating a board computer.

本発明によれば、出力造形物の品質の劣化を抑えながら、ポリゴンで構成されたポリゴンモデルから、少ない処理負荷で、効率的にポリゴンを削減して立体物造形用データを得ることが可能となる。   According to the present invention, it is possible to obtain data for three-dimensional object modeling by efficiently reducing polygons with a small processing load from a polygon model composed of polygons while suppressing deterioration in quality of an output modeled object. Become.

本発明の一実施形態に係る立体物造形用データ削減装置のハードウェア構成図である。It is a hardware block diagram of the data reduction apparatus for solid object shaping which concerns on one Embodiment of this invention. 本発明の一実施形態に係る立体物造形用データ削減装置の構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the data reduction apparatus for solid object shaping which concerns on one Embodiment of this invention. DICOM形式ボクセルデータからポリゴンモデルへの変換の様子を示す図である。It is a figure which shows the mode of the conversion from a DICOM format voxel data to a polygon model. DICOM形式ボクセルデータを、複数のスライス画像として示した図である。It is the figure which showed the DICOM format voxel data as several slice images. DICOM形式ボクセルデータを、4つの形態で表示した例である。This is an example in which DICOM format voxel data is displayed in four forms. 図5に示したDICOM形式ボクセルデータを「3D-Slicer」により変換して得られたSTLデータを示す図である。FIG. 6 is a diagram showing STL data obtained by converting the DICOM format voxel data shown in FIG. 5 by “3D-Slicer”. 領域別ポリゴンモデル(STLデータ)を示す図である。It is a figure which shows the polygon model (STL data) according to area | region. 領域別STLデータを合成したポリゴンモデル(STLデータ)のレンダリング像を示す図である。It is a figure which shows the rendering image of the polygon model (STL data) which synthesize | combined STL data according to area | region. 本発明の一実施形態に係る立体物造形用データ削減装置の処理概要を示すフローチャートである。It is a flowchart which shows the process outline | summary of the data reduction apparatus for solid object shaping which concerns on one Embodiment of this invention. 処理対象とするポリゴン群の一例を示す図である。It is a figure which shows an example of the polygon group made into a process target. 図10に示したポリゴン群を実現するための頂点座標配列データを示す図である。It is a figure which shows the vertex coordinate arrangement | sequence data for implement | achieving the polygon group shown in FIG. ステップS20におけるポリゴン削減処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the polygon reduction process in step S20. ステップS21のポリゴンモデルの構造化の詳細を示すフローチャートである。It is a flowchart which shows the detail of structuring of the polygon model of step S21. ポリゴン群とハッシュ値の関係を示す図である。It is a figure which shows the relationship between a polygon group and a hash value. ポリゴンモデル構造化の初期化時における各テーブルの状態を示す図である。It is a figure which shows the state of each table at the time of initialization of polygon model structuring. ポリゴンモデル構造化における各テーブルの変化の様子を示す図である。It is a figure which shows the mode of a change of each table in polygon model structuring. ポリゴンモデル構造化における各テーブルの変化の様子を示す図である。It is a figure which shows the mode of a change of each table in polygon model structuring. ポリゴンモデル構造化における各テーブルの変化の様子を示す図である。It is a figure which shows the mode of a change of each table in polygon model structuring. ポリゴンモデル構造化における各テーブルの変化の様子を示す図である。It is a figure which shows the mode of a change of each table in polygon model structuring. ポリゴンモデル構造化における各テーブルの変化の様子を示す図である。It is a figure which shows the mode of a change of each table in polygon model structuring. 初期化時における頂点構成テーブル、頂点座標テーブル、頂点重複テーブル、頂点更新テーブルを示す図である。It is a figure which shows the vertex structure table at the time of initialization, a vertex coordinate table, a vertex duplication table, and a vertex update table. P6とP10の2つの削除対象ポリゴンの一辺が削除対象辺として設定された状態のポリゴン群を示す図である。It is a figure which shows the polygon group in the state in which one side of two deletion object polygons of P6 and P10 is set as a deletion object side. 稜線JKの処理時における各テーブルの様子を示す図である。It is a figure which shows the mode of each table at the time of the process of the ridgeline JK. 稜線DEの処理時における各テーブルの様子を示す図である。It is a figure which shows the mode of each table at the time of the process of ridgeline DE. 頂点重複テーブルによる頂点構成テーブルの更新の様子を示す図である。It is a figure which shows the mode of the update of the vertex structure table by a vertex duplication table. 頂点構成テーブルからのポリゴンの削除の様子を示す図である。It is a figure which shows the mode of the deletion of the polygon from a vertex structure table. ポリゴン削除処理後の頂点座標配列データを示す図である。It is a figure which shows the vertex coordinate arrangement | sequence data after a polygon deletion process. ポリゴン削除処理後のポリゴン群の状態を示す図である。It is a figure which shows the state of the polygon group after a polygon deletion process. ポリゴン削減処理により生じる問題を説明するための図である。It is a figure for demonstrating the problem which arises by a polygon reduction process. 隔離された小体積グループの削除処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the deletion process of the isolated small volume group. 図30のステップS44における最小間隔の算出処理の詳細を示すフローチャートである。32 is a flowchart showing details of a minimum interval calculation process in step S44 of FIG. 30.

以下、本発明の好適な実施形態について図面を参照して詳細に説明する。
<1.装置構成>
図1は、本発明の一実施形態に係る立体物造形用データ削減装置200を含む立体物造形システムのハードウェア構成図である。本実施形態に係る立体物造形用データ削減装置200は、汎用のコンピュータで実現することができ、図1に示すように、CPU(Central Processing Unit)1と、コンピュータのメインメモリであるRAM(Random Access Memory)2と、CPU1が実行するプログラムやデータを記憶するためのハードディスク、フラッシュメモリ等の大容量の記憶装置3と、キーボード、マウス等のキー入力I/F(インターフェース)4と、3Dプリンタやデータ記憶媒体等の外部装置とデータ通信するためのデータ入出力I/F(インターフェース)5と、液晶ディスプレイ等の表示デバイスである表示部6と、を備え、互いにバスを介して接続されている。
DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, preferred embodiments of the invention will be described in detail with reference to the drawings.
<1. Device configuration>
FIG. 1 is a hardware configuration diagram of a three-dimensional object formation system including a three-dimensional object formation data reduction device 200 according to an embodiment of the present invention. The three-dimensional object modeling data reduction device 200 according to the present embodiment can be realized by a general-purpose computer. As shown in FIG. 1, a CPU (Central Processing Unit) 1 and a RAM (Random) that is a main memory of the computer. Access Memory) 2, a large-capacity storage device 3 such as a hard disk or flash memory for storing programs and data executed by the CPU 1, a key input I / F (interface) 4 such as a keyboard and a mouse, and a 3D printer And a data input / output I / F (interface) 5 for data communication with an external device such as a data storage medium and a display unit 6 which is a display device such as a liquid crystal display, and are connected to each other via a bus. Yes.

3Dプリンタ7は、汎用の3Dプリンタであり、立体物の三次元形状をポリゴンの集合で表現したポリゴンモデルである立体物造形用データを基に樹脂、石膏等の素材を加工して立体物を造形する立体物造形装置である。3Dプリンタ7は、データ処理部7aと出力部7bを有している。3Dプリンタ7のデータ処理部7aは、データ入出力I/F5に接続されており、データ入出力I/F5から受け取った削減された立体物造形用データを基に、出力部7bが立体物を造形するようになっている。   The 3D printer 7 is a general-purpose 3D printer, which processes a material such as resin and gypsum on the basis of data for modeling a three-dimensional object, which is a polygon model expressing the three-dimensional shape of the three-dimensional object as a set of polygons. It is a three-dimensional object modeling apparatus to model. The 3D printer 7 includes a data processing unit 7a and an output unit 7b. The data processing unit 7a of the 3D printer 7 is connected to the data input / output I / F 5. Based on the reduced three-dimensional object modeling data received from the data input / output I / F 5, the output unit 7b generates a three-dimensional object. It is designed to be shaped.

図1では、立体物造形用データ削減装置200と3Dプリンタ7は分離した形態で示されているが、現在市販されている殆どの3Dプリンタ製品には立体物造形用データ削減装置200の構成要素である、CPU1、RAM2、記憶装置3、キー入力I/F4(汎用コンピュータ向けキーボード・マウスではなく、テンキーレベルの数種のボタン)、データ入出力I/F5、表示部6(数行の文字を表示可能な小型液晶パネル、タッチパネルを重畳させキー入力I/F4を兼ねることも多い)も小規模ながら重複して備えている。従って、3Dプリンタ7自体が外部記憶媒体経由で立体物造形用データを直接受け取り、単独で立体物を造形する運用も可能になっている(特に民生用の3Dプリンタではこちらの形態の方が多い)。すなわち、図1に示した立体物造形システムを1つの筐体に収めて、“3Dプリンタ”という製品として流通することも多い。   In FIG. 1, the three-dimensional object modeling data reduction device 200 and the 3D printer 7 are shown in a separated form, but most of the 3D printer products currently on the market are components of the three-dimensional object modeling data reduction device 200. CPU 1, RAM 2, storage device 3, key input I / F 4 (not a keyboard / mouse for general-purpose computers, but several buttons at a numeric keypad level), data input / output I / F 5, display 6 (several lines of characters) A small liquid crystal panel capable of displaying the image, and a touch panel is often superimposed to serve also as a key input I / F 4). Accordingly, the 3D printer 7 itself can directly receive the three-dimensional object modeling data via the external storage medium, and can be operated to model the three-dimensional object alone (particularly this is more common in a 3D printer for consumer use). ). That is, the three-dimensional object modeling system shown in FIG. 1 is often housed in one housing and distributed as a product called “3D printer”.

図2は、本実施形態に係る立体物造形用データ削減装置の構成を示す機能ブロック図である。図2において、10は制御手段、20はグループ分類手段、30はポリゴンモデル構造化手段、40はテーブル定義手段、50は削除対象ポリゴン設定手段、60は頂点座標テーブル更新手段、70は頂点重複テーブル更新手段、75は頂点更新テーブル更新手段、80は頂点構成テーブル更新手段、90はポリゴンモデル更新手段、100はグループ合成手段、110はポリゴンモデル合成手段、120は領域別ポリゴンモデル記憶手段、130は合成ポリゴンモデル記憶手段である。   FIG. 2 is a functional block diagram illustrating a configuration of the three-dimensional object formation data reduction device according to the present embodiment. In FIG. 2, 10 is a control means, 20 is a group classification means, 30 is a polygon model structuring means, 40 is a table definition means, 50 is a deletion target polygon setting means, 60 is a vertex coordinate table update means, and 70 is a vertex overlap table. Update means 75, vertex update table update means, 80 vertex configuration table update means, 90 polygon model update means, 100 group synthesis means, 110 polygon model synthesis means, 120 polygon model storage means by area, 130 It is a synthetic polygon model storage means.

制御手段10は、立体物造形用データ削減装置全体の制御を行う。グループ分類手段20は、削除対象ポリゴンの選定対象のポリゴンモデルに対して、各グループに属するポリゴンがそのグループ内の他のいずれかのポリゴンと、ポリゴンを構成する辺(2頂点)を共有するようにグループ分類する。ポリゴンモデル構造化手段30は、ポリゴンモデルから、各ポリゴンに含まれる各頂点を、同一座標の頂点を同一値とする頂点IDで表現し、ポリゴンを構成する各頂点を頂点IDで表現してポリゴンと対応付けて記録した頂点構成テーブルと、頂点構成テーブルに付与された頂点IDと座標値を対応付けて記録した頂点座標テーブルを作成する。テーブル定義手段40は、頂点座標テーブルに記録されている頂点IDと同一座標となる重複先の頂点IDとの対応関係を記録する頂点重複テーブルと、頂点IDと更新フラグを対応付けた頂点更新テーブルを定義する。削除対象ポリゴン設定手段50は、頂点構成テーブルに記録されているポリゴンに対して所定の間隔で一部のポリゴンを削除対象ポリゴンとして設定する。   The control means 10 controls the entire three-dimensional object formation data reduction device. The group classification means 20 makes a polygon belonging to each group share a side (two vertices) constituting the polygon with any other polygon in the group for the polygon model to be selected as the deletion target polygon. Sort into groups. The polygon model structuring means 30 expresses each vertex included in each polygon from the polygon model by a vertex ID having the same value as the vertex of the same coordinate, and each vertex constituting the polygon is expressed by a vertex ID. And a vertex coordinate table in which a vertex ID and a coordinate value assigned to the vertex configuration table are recorded in association with each other. The table definition unit 40 includes a vertex duplication table that records a correspondence relationship between a vertex ID recorded in the vertex coordinate table and a destination vertex ID that has the same coordinates, and a vertex update table that associates the vertex ID with an update flag. Define The deletion target polygon setting means 50 sets some polygons as deletion target polygons at predetermined intervals with respect to the polygons recorded in the vertex configuration table.

頂点座標テーブル更新手段60は、頂点構成テーブルを参照して削除対象ポリゴンを構成する複数の頂点IDを削除対象頂点として特定し、削除対象頂点を基に頂点座標テーブルを参照して複数の削除対象頂点の平均点を求め、削除対象頂点の1つを代表頂点とし、代表頂点以外の削除対象頂点の情報を頂点座標テーブルから削除するとともに、代表頂点の頂点IDに、平均点の座標値を対応付けて記録する。頂点重複テーブル更新手段70は、頂点重複テーブルにおいて、代表頂点以外の全ての削除対象頂点の重複先を代表頂点に設定する。頂点更新テーブル更新手段75は、頂点更新テーブルにおいて、更新された頂点の更新フラグを設定する。頂点構成テーブル更新手段80は、頂点構成テーブルの中で、更新された頂点重複テーブルにおいて更新された頂点IDの値を、更新された重複先に変更し、変更された結果、ポリゴンを構成する同一の値をもつ頂点IDが2つ以上重複する場合、当該ポリゴンを頂点構成テーブルより削除する。ポリゴンモデル更新手段90は、更新された頂点構成テーブルの各頂点IDを、更新された頂点座標テーブルを参照しながら座標値に置換することにより、削減されたポリゴンの配列で表現されたポリゴンモデルを作成する。   The vertex coordinate table updating unit 60 refers to the vertex configuration table, identifies a plurality of vertex IDs constituting the deletion target polygon as a deletion target vertex, and refers to the vertex coordinate table based on the deletion target vertex to determine a plurality of deletion targets. Find the average point of the vertices, use one of the deletion target vertices as the representative vertex, delete information on the deletion target vertices other than the representative vertex from the vertex coordinate table, and correspond the coordinate value of the average point to the vertex ID of the representative vertex Add and record. The vertex duplication table updating unit 70 sets the duplication destination of all the deletion target vertices other than the representative vertex in the vertex duplication table as the representative vertex. The vertex update table update unit 75 sets an update flag for the updated vertex in the vertex update table. The vertex configuration table updating unit 80 changes the value of the vertex ID updated in the updated vertex duplication table in the vertex configuration table to the updated duplication destination, and the same as the result of the change, constituting the polygon If two or more vertex IDs having the value of are duplicated, the polygon is deleted from the vertex configuration table. The polygon model updating unit 90 replaces each vertex ID of the updated vertex configuration table with a coordinate value while referring to the updated vertex coordinate table, thereby obtaining a polygon model represented by the reduced polygon array. create.

グループ合成手段100は、分類された各グループに対するポリゴンモデル構造化手段30、テーブル定義手段40、削除対象ポリゴン設定手段50、頂点座標テーブル更新手段60、頂点重複テーブル更新手段70、頂点更新テーブル更新手段75、頂点構成テーブル更新手段80、ポリゴンモデル更新手段90による一連の処理の実行により作成された複数のグループの更新されたポリゴンモデルを、領域別に単一の領域別ポリゴンモデルに合成する。ポリゴンモデル合成手段110は、複数セットの更新された領域別ポリゴンモデルを単一の合成ポリゴンモデルに合成する。制御手段10、グループ分類手段20、ポリゴンモデル構造化手段30、テーブル定義手段40、削除対象ポリゴン設定手段50、頂点座標テーブル更新手段60、頂点重複テーブル更新手段70、頂点更新テーブル更新手段75、頂点構成テーブル更新手段80、ポリゴンモデル更新手段90、グループ合成手段100、ポリゴンモデル合成手段110は、CPU1が、記憶装置3に記憶されているプログラムを実行することにより実現される。   The group synthesizing unit 100 includes a polygon model structuring unit 30, a table defining unit 40, a deletion target polygon setting unit 50, a vertex coordinate table updating unit 60, a vertex duplication table updating unit 70, and a vertex updating table updating unit for each classified group. 75. The updated polygon models of a plurality of groups created by executing a series of processes by the vertex configuration table updating unit 80 and the polygon model updating unit 90 are combined into a single region-specific polygon model for each region. The polygon model synthesizing unit 110 synthesizes a plurality of sets of updated polygon models by region into a single synthesized polygon model. Control means 10, group classification means 20, polygon model structuring means 30, table definition means 40, deletion target polygon setting means 50, vertex coordinate table update means 60, vertex overlap table update means 70, vertex update table update means 75, vertex The configuration table update unit 80, the polygon model update unit 90, the group synthesis unit 100, and the polygon model synthesis unit 110 are realized by the CPU 1 executing a program stored in the storage device 3.

領域別ポリゴンモデル記憶手段120は、領域別ポリゴンモデルを記憶した記憶手段であり、記憶装置3により実現される。領域別ポリゴンモデルとは、1つの領域を1セットとして構成されたポリゴンモデルである。合成ポリゴンモデル記憶手段130は、複数セットの領域別ポリゴンモデルを合成した単一のポリゴンモデルである合成ポリゴンモデルを記憶する記憶手段であり、記憶装置3により実現される。合成ポリゴンモデル記憶手段130に記憶される合成ポリゴンモデルは、3Dプリンタ7への出力のために削減された立体物造形用データとなる。領域別ポリゴンモデル記憶手段120に記憶された領域別ポリゴンモデル、合成ポリゴンモデル記憶手段130に記憶される合成ポリゴンモデルは、いずれもポリゴンの集合体であり、ポリゴン単位で各ポリゴンが有する頂点を記録した形式となっている。   The region-specific polygon model storage unit 120 is a storage unit that stores a region-specific polygon model, and is realized by the storage device 3. The area-specific polygon model is a polygon model configured with one area as one set. The synthesized polygon model storage unit 130 is a storage unit that stores a synthesized polygon model that is a single polygon model obtained by synthesizing a plurality of sets of region-specific polygon models, and is realized by the storage device 3. The synthesized polygon model stored in the synthesized polygon model storage unit 130 becomes the three-dimensional object modeling data reduced for output to the 3D printer 7. Both the polygon model for each area stored in the polygon model storage means 120 for each area and the synthesized polygon model stored in the combined polygon model storage means 130 are a collection of polygons and record the vertices of each polygon in units of polygons. It has become a format.

図2に示した各構成手段は、現実には図1に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。なお、本明細書において、コンピュータとは、CPU等の演算処理部を有し、データ処理が可能な装置を意味し、パーソナルコンピュータなどの汎用コンピュータだけでなく、製品としての“3Dプリンタ”に組み込まれたボードコンピュータも含む。   Each component shown in FIG. 2 is actually realized by installing a dedicated program in hardware such as a computer and its peripheral devices as shown in FIG. That is, the computer executes the contents of each means according to a dedicated program. In this specification, the computer means an apparatus having an arithmetic processing unit such as a CPU and capable of data processing, and is incorporated not only in a general-purpose computer such as a personal computer but also in a “3D printer” as a product. Board computer included.

図1に示した記憶装置3には、CPU1を動作させ、コンピュータを、立体物造形用データ削減装置として機能させるための専用のプログラムが実装されている。この専用のプログラムを実行することにより、CPU1は、制御手段10、グループ分類手段20、ポリゴンモデル構造化手段30、テーブル定義手段40、削除対象ポリゴン設定手段50、頂点座標テーブル更新手段60、頂点重複テーブル更新手段70、頂点更新テーブル更新手段75、頂点構成テーブル更新手段80、ポリゴンモデル更新手段90、グループ合成手段100、ポリゴンモデル合成手段110としての機能を実現することになる。また、記憶装置3は、領域別ポリゴンモデル記憶手段120、合成ポリゴンモデル記憶手段130として機能するだけでなく、立体物造形用データ削減装置としての処理に必要な様々なデータを記憶する。   In the storage device 3 shown in FIG. 1, a dedicated program for operating the CPU 1 and causing the computer to function as a three-dimensional object formation data reduction device is mounted. By executing this dedicated program, the CPU 1 controls the control means 10, group classification means 20, polygon model structuring means 30, table definition means 40, deletion target polygon setting means 50, vertex coordinate table update means 60, vertex overlap. The functions as the table update unit 70, the vertex update table update unit 75, the vertex configuration table update unit 80, the polygon model update unit 90, the group synthesis unit 100, and the polygon model synthesis unit 110 are realized. Further, the storage device 3 not only functions as the region-specific polygon model storage unit 120 and the composite polygon model storage unit 130 but also stores various data necessary for processing as the three-dimensional object formation data reduction device.

<2.処理動作>
<2.1.前処理>
次に、図1、図2に示した立体物造形用データ削減装置の処理動作について説明する。まず、医療用ボクセルデータからサーフェースデータである領域別ポリゴンモデルを作成する前処理について説明する。サーフェースデータとは、サーフェースモデリングにより立体構造を表面形状として表現したデータであり、多角形のデータであるポリゴンにより構成されるポリゴンモデルである。前処理は、コンピュータが公知のプログラムを実行することにより行われる。ここでは、公知のプログラムとして、米国ハーバード大学が中心に開発したオープンソースソフトウェアである「3D-Slicer」を用いた場合を例にとって説明する。まず、コンピュータが、全体ボクセルデータから、特定臓器領域のボクセルデータを抽出する。次に、コンピュータが、特定臓器領域のボクセルデータをポリゴンモデルであるサーフェースデータに変換する。このようにして得られた領域別ポリゴンモデルは、領域別ポリゴンモデル記憶手段120に格納される。前処理は、図1に示した立体物造形用データ削減装置を実現するコンピュータに、上記プログラムを実行させることにより行ってもよいし、図1に示した立体物造形用データ削減装置を実現するコンピュータとは別のコンピュータにより実行し、得られた領域別ポリゴンモデルを記憶装置3により実現される領域別ポリゴンモデル記憶手段120に格納するようにしてもよい。
<2. Processing action>
<2.1. Pretreatment>
Next, the processing operation of the three-dimensional object modeling data reduction device shown in FIGS. 1 and 2 will be described. First, pre-processing for creating a region-specific polygon model as surface data from medical voxel data will be described. The surface data is data representing a three-dimensional structure as a surface shape by surface modeling, and is a polygon model composed of polygons that are polygon data. Preprocessing is performed by a computer executing a known program. Here, a case where “3D-Slicer” which is open source software developed mainly by Harvard University in the United States is used as a known program will be described as an example. First, the computer extracts voxel data of a specific organ region from the whole voxel data. Next, the computer converts the voxel data of the specific organ region into surface data that is a polygon model. The region-specific polygon model obtained in this way is stored in the region-specific polygon model storage unit 120. The pre-processing may be performed by causing the computer that realizes the three-dimensional object modeling data reduction device shown in FIG. 1 to execute the program, or realize the three-dimensional object modeling data reduction device shown in FIG. It may be executed by a computer different from the computer, and the obtained polygon model for each region may be stored in the region-specific polygon model storage means 120 realized by the storage device 3.

本実施形態では、医療用ボクセルデータとして医用画像データ交換に関する国際標準規格であるDICOM形式のボクセルデータを用いる。また、ポリゴンモデルであるサーフェースデータとしてSTL(Standard Triangulated Language)データを用いる。STLデータとは、元来3Dグラフィックス分野におけるモデリングデータ交換に関する業界標準で、最近では3Dプリンタでも標準的に使用されるようになったもので、三次元形状を三角形のポリゴンの集合体で表現したデータである。そして、コンピュータが上記「3D-Slicer」を実行することにより、図3(a)に示すようなDICOM形式ボクセルデータから、図3(b)に示すような領域別のボクセルデータを抽出し、サーフェースモデル変換を行って図3(c)に示すようなポリゴンモデル(STLデータ)が得られる。領域別のボクセルデータの抽出、サーフェースモデル変換には、特許文献3等に記載されたMarching Cube法が用いられている。   In the present embodiment, voxel data in DICOM format, which is an international standard for medical image data exchange, is used as medical voxel data. Further, STL (Standard Triangulated Language) data is used as the surface data that is a polygon model. STL data was originally an industry standard for modeling data exchange in the field of 3D graphics, and has recently been used as a standard in 3D printers. Three-dimensional shapes are represented by a collection of triangular polygons. Data. Then, when the computer executes “3D-Slicer”, the voxel data for each area as shown in FIG. 3B is extracted from the DICOM format voxel data as shown in FIG. Face model conversion is performed to obtain a polygon model (STL data) as shown in FIG. The Marching Cube method described in Patent Document 3 or the like is used for extraction of voxel data for each region and surface model conversion.

図4〜図8に、「3D-Slicer」による処理画面の一例を示す。図4は、「3D-Slicer」の処理対象となるDICOM形式ボクセルデータを、複数のスライス画像として示した図である。図4の例では、人体頭部のサジタル像を256枚のスライス画像で示している。各スライス画像は、512×512画素で構成されている。図5は、DICOM形式ボクセルデータを、4つの形態で表示した例である。図5において、上部に表示されているのは、ボリュームレンダリング像である。下部に表示されているのは、左側から順にアキシャル像、サジタル像、コロナル像である。   4 to 8 show examples of processing screens by “3D-Slicer”. FIG. 4 is a diagram illustrating the DICOM format voxel data to be processed by “3D-Slicer” as a plurality of slice images. In the example of FIG. 4, the sagittal image of the human head is shown as 256 slice images. Each slice image is composed of 512 × 512 pixels. FIG. 5 is an example in which DICOM format voxel data is displayed in four forms. In FIG. 5, a volume rendering image is displayed at the top. The axial image, the sagittal image, and the coronal image are displayed in order from the left side.

図6は、図5に示したDICOM形式ボクセルデータを「3D-Slicer」により変換して得られたポリゴンモデルのSTLデータを示す図である。図6において、上部に表示されているのは、STLデータのサーフェースレンダリング像である。図6の例では、眼球・脳領域しきい値:626.75以上(MRI撮影でボクセル値10bits幅の場合)、眼球結合組織Lしきい値:298.36-458.74、眼球結合組織Rしきい値:298.36-431.32を設定することにより、領域(組織)別に分類された領域別STLデータをサーフェースレンダリングしたものを示している。   FIG. 6 is a diagram showing STL data of a polygon model obtained by converting the DICOM format voxel data shown in FIG. 5 using “3D-Slicer”. In FIG. 6, a surface rendering image of STL data is displayed at the top. In the example of FIG. 6, the eyeball / brain region threshold value: 626.75 or more (when the voxel value is 10 bits width in MRI imaging), the eyeball connective tissue L threshold value: 298.36-458.74, the eyeball connective tissue R threshold value: 298.36 By setting 431.32, surface-rendered STL data classified by region (organization) is shown.

図7は、「3D-Slicer」により得られた領域別STLデータをシェーディングにより陰影表現した図である。図8は、領域別STLデータを合成したポリゴンモデル(STLデータ)のサーフェースレンダリング像を示す図である。図8に示すFront Viewは、図6の上部に示したものと同一である。前処理の後は、図7に示したような領域別ポリゴンモデルが領域別ポリゴンモデル記憶手段120に記憶される。   FIG. 7 is a diagram in which the STL data for each region obtained by “3D-Slicer” is represented by shading by shading. FIG. 8 is a diagram showing a surface rendering image of a polygon model (STL data) obtained by combining region-specific STL data. The Front View shown in FIG. 8 is the same as that shown in the upper part of FIG. After the preprocessing, the polygon model for each region as shown in FIG. 7 is stored in the polygon model storage unit 120 for each region.

<2.2.処理概要>
次に、図1、図2に示した立体物造形用データ削減装置の処理動作について説明する。図9は、本発明の一実施形態に係る立体物造形用データ削減装置の処理概要を示すフローチャートである。まず、グループ分類手段20が、領域別ポリゴンモデル記憶手段120から、1つの領域についての領域別ポリゴンモデルを読み込み、複数のグループに分類する(ステップS10)。次に、各グループのポリゴンモデルに対して、ポリゴンモデル構造化手段30、テーブル定義手段40、削除対象ポリゴン設定手段50、頂点座標テーブル更新手段60、頂点重複テーブル更新手段70、頂点更新テーブル更新手段75、頂点構成テーブル更新手段80、ポリゴンモデル更新手段90が、ポリゴン削減処理を実行する(ステップS20)。制御手段10が、全グループについてポリゴン削減処理が終了したか否かを判定し(ステップS30)、全グループについて終了していない場合は、未処理のグループに対してステップS20のポリゴン削減処理を実行する。全グループに対するポリゴン削減処理が終了した場合は、グループ合成手段100が、隔離された小体積グループの削除を行う(ステップS40)。続いて、グループ合成手段100は、全グループのポリゴンモデルの合成を行う(ステップS50)。制御手段10が、全領域について処理が終了したか否かを判定し(ステップS60)、全領域について終了していない場合は、未処理の領域に対してステップS10〜S50の処理を実行する。全領域に対する処理が終了した場合は、ポリゴンモデル合成手段110が、全領域の領域別ポリゴンモデルの合成を行う(ステップS70)。
<2.2. Process Overview>
Next, the processing operation of the three-dimensional object modeling data reduction device shown in FIGS. 1 and 2 will be described. FIG. 9 is a flowchart showing a processing outline of the three-dimensional object formation data reduction device according to the embodiment of the present invention. First, the group classification means 20 reads the area-specific polygon model for one area from the area-specific polygon model storage means 120 and classifies it into a plurality of groups (step S10). Next, for each group of polygon models, polygon model structuring means 30, table defining means 40, deletion target polygon setting means 50, vertex coordinate table updating means 60, vertex duplication table updating means 70, vertex update table updating means. 75, the vertex configuration table updating unit 80 and the polygon model updating unit 90 execute polygon reduction processing (step S20). The control means 10 determines whether or not the polygon reduction process has been completed for all groups (step S30). If the polygon reduction process has not been completed for all groups, the polygon reduction process of step S20 is executed for the unprocessed group. To do. When the polygon reduction processing for all the groups is completed, the group composition unit 100 deletes the isolated small volume group (step S40). Subsequently, the group synthesizing unit 100 synthesizes the polygon models of all groups (step S50). The control means 10 determines whether or not the processing has been completed for all the areas (step S60). If the processing has not been completed for all the areas, the processing of steps S10 to S50 is executed for the unprocessed areas. When the processing for all the areas is completed, the polygon model synthesizing unit 110 synthesizes the polygon model for each area of the entire area (step S70).

<2.3.グループ分類処理>
まず、ステップS10において、グループ分類手段20がグループ分類処理を行う。具体的には、領域別ポリゴンモデルに対して、各グループに属するポリゴンが当該グループ内の他のいずれかのポリゴンと、ポリゴンを構成する辺を共有するようにグループ分類する。グループ分類処理の具体的な手法としては、公知の様々な手法を用いることができる。
<2.3. Group classification processing>
First, in step S10, the group classification means 20 performs a group classification process. Specifically, with respect to the polygon model for each area, the polygons belonging to each group are classified into groups so as to share the sides constituting the polygon with any other polygon in the group. As a specific method of the group classification process, various known methods can be used.

<2.4.ポリゴン削減処理>
次に、ステップS20におけるポリゴンモデル構造化手段30、テーブル定義手段40、削除対象ポリゴン設定手段50、頂点座標テーブル更新手段60、頂点重複テーブル更新手段70、頂点更新テーブル更新手段75、頂点構成テーブル更新手段80、ポリゴンモデル更新手段90によるポリゴン削減処理について説明する。ポリゴン削減処理におけるポリゴンの削除の手法として、ポリゴンを構成する稜線を特定し、その稜線を削除することによりポリゴンを削除する手法を用いる。ここで、稜線とは、1つのポリゴンの2頂点を結ぶ辺を意味する。
<2.4. Polygon reduction processing>
Next, the polygon model structuring means 30, the table defining means 40, the deletion target polygon setting means 50, the vertex coordinate table updating means 60, the vertex duplication table updating means 70, the vertex update table updating means 75, and the vertex configuration table updating in step S20. The polygon reduction processing by means 80 and polygon model update means 90 will be described. As a method for deleting polygons in the polygon reduction process, a method is used in which a ridge line constituting a polygon is specified and the polygon is deleted by deleting the ridge line. Here, the ridge line means a side connecting two vertices of one polygon.

図10は、処理対象とするポリゴン群の一例を示す図である。ポリゴンモデルは、図11に示されるように空間における三次元の値をもつポリゴン群であるが、図10の例では、紙面上での説明の便宜上、二次元空間に投影したポリゴン群を示している。図10の例では、削減前、18個の三角形のポリゴンからなるポリゴン群を示している。図10において、大文字のアルファベットA〜Nは特定のポリゴンに属する形式でなく、座標が異なる共有頂点を識別するために示している。大文字のアルファベットA〜Nは、ポリゴン群全体において共有頂点を識別するために、便宜上付されたものであり、後述する頂点座標配列データや、頂点構成テーブル、頂点座標テーブル、頂点重複テーブル、頂点更新テーブルには記録されていない(一部記載されているものは、理解を容易にするために用いられている。)。また、ポリゴンIDP1〜P18には、各ポリゴンIDに対応付けて表現されたポリゴン別頂点IDV1a〜V18cが記載されており、各々は共有頂点A〜Nのいずれかに対応している。ポリゴン別頂点IDV1a〜V18cは、説明の便宜上設けたものであり、頂点座標配列データ、頂点構成テーブル、頂点座標テーブル、頂点重複テーブル、頂点更新テーブルには記録されていない。   FIG. 10 is a diagram illustrating an example of a polygon group to be processed. The polygon model is a polygon group having a three-dimensional value in the space as shown in FIG. 11, but in the example of FIG. 10, the polygon group projected on the two-dimensional space is shown for convenience of explanation on the paper. Yes. In the example of FIG. 10, a polygon group including 18 triangular polygons is shown before reduction. In FIG. 10, uppercase alphabets A to N are not used to belong to a specific polygon, but are used to identify shared vertices having different coordinates. Uppercase alphabets A to N are added for convenience in order to identify shared vertices in the entire polygon group. Vertex coordinate array data, vertex configuration table, vertex coordinate table, vertex duplication table, vertex update described later It is not recorded in the table (some of them are used for easy understanding). Polygon IDs P1 to P18 describe vertex IDs V1a to V18c for each polygon expressed in association with each polygon ID, and each corresponds to one of the shared vertices A to N. The polygon-specific vertex IDs V1a to V18c are provided for convenience of explanation, and are not recorded in the vertex coordinate array data, the vertex configuration table, the vertex coordinate table, the vertex overlap table, or the vertex update table.

図11は、図10に示したポリゴン群を実現するための頂点座標配列データを示す図である。頂点座標配列データは、ポリゴンモデルを規定するデータであり、ポリゴンの集合体であるポリゴンモデルを配列構造で定義している。すなわち、図11は、STLデータより法線ベクトルの情報を削除した構造を示している。図11に示すように、頂点座標配列データは、ポリゴンを識別するポリゴン識別情報であるポリゴンIDP1〜P18に対応付けて、ポリゴンを構成する第1頂点、第2頂点、第3頂点の3つの頂点順に各座標値が記録されている。   11 is a diagram showing vertex coordinate array data for realizing the polygon group shown in FIG. The vertex coordinate array data is data defining a polygon model, and a polygon model that is an aggregate of polygons is defined by an array structure. That is, FIG. 11 shows a structure in which normal vector information is deleted from STL data. As shown in FIG. 11, the vertex coordinate array data is associated with polygon IDs P1 to P18, which are polygon identification information for identifying polygons, and the three vertices of the first vertex, the second vertex, and the third vertex constituting the polygon. Each coordinate value is recorded in order.

ポリゴン別頂点IDは、その頂点が属するポリゴンのIDと当該ポリゴンにおける頂点順が特定される形式でポリゴンと頂点を識別する識別情報である。具体的には、図10に示すように、頂点を示すVの後に、対応するポリゴンIDに含まれる数字、そして第1頂点、第2頂点、第3頂点の別を示すa、b、cのいずれかの小文字のアルファベットで表現する。例えば、図11の1行目に示すように、ポリゴンP1の第1頂点のポリゴン別頂点IDは、“V1a”と表現される。ポリゴン別頂点ID“V1a”に数字“1”が入っているため、ポリゴンP1の頂点であることが明確になっている。実際には、このポリゴン別頂点IDは単なるシアリル番号で、この番号の順序で各頂点の座標値が頂点座標配列データに記録されているが、上記のポリゴン別頂点IDでは記号を付加し、図10との対応関係、頂点がどのポリゴンに所属するかを明らかになるように表記したものである。また、図11の頂点座標配列データにおいて、各頂点の座標は、図10で示したA〜Nのいずれかの共有頂点に対応するため、各頂点の座標値にA〜Nを識別するアルファベットの小文字を添えて表現している。例えば、図11の1行目に示すように、ポリゴンP1の第1頂点V1aの座標値は、図10において共有頂点“D”に対応するので、“(Xd,Yd,Zd)”と表現される。各ポリゴンごとに、構成される3つの頂点に対応付けて3つの頂点の座標値が記録されている。上記のような規則に従って作成されるため、頂点座標配列データにおいては、同一座標の頂点が複数箇所に重複して記録されることになる。例えば、図10に示した頂点Dは、6つのポリゴンP1,P2,P4,P5,P6,P7に共有されるため、座標値“(Xd,Yd,Zd)”は、頂点V1a,V2a,V4b,V5c,V6c,V7cとして6箇所に記録される。   The polygonal vertex ID is identification information for identifying a polygon and a vertex in a format in which the ID of the polygon to which the vertex belongs and the vertex order of the polygon are specified. Specifically, as shown in FIG. 10, after V indicating a vertex, numbers included in the corresponding polygon ID, and a, b, and c indicating whether the first vertex, the second vertex, and the third vertex are different. Express with any lowercase alphabet. For example, as shown in the first line of FIG. 11, the vertex ID for each polygon of the first vertex of the polygon P1 is expressed as “V1a”. Since the number “1” is entered in the vertex ID “V1a” for each polygon, it is clear that it is the vertex of the polygon P1. Actually, this polygonal vertex ID is simply a sialyl number, and the coordinate value of each vertex is recorded in the vertex coordinate array data in the order of this number. The correspondence relationship with 10 and the polygon to which the vertex belongs are described so as to be clear. Further, in the vertex coordinate array data of FIG. 11, the coordinates of each vertex correspond to any one of the shared vertices A to N shown in FIG. Expressed with lower case letters. For example, as shown in the first line of FIG. 11, the coordinate value of the first vertex V1a of the polygon P1 corresponds to the shared vertex “D” in FIG. 10 and is therefore expressed as “(Xd, Yd, Zd)”. The For each polygon, the coordinate values of the three vertices are recorded in association with the three vertices configured. Since it is created according to the rules as described above, in the vertex coordinate array data, vertices with the same coordinates are recorded redundantly at a plurality of locations. For example, since the vertex D shown in FIG. 10 is shared by the six polygons P1, P2, P4, P5, P6, and P7, the coordinate value “(Xd, Yd, Zd)” is the vertex V1a, V2a, V4b. , V5c, V6c, V7c are recorded at six locations.

図12は、ポリゴン削減処理の詳細を示すフローチャートである。まず、ポリゴンモデル構造化手段30が、頂点構成テーブル、頂点座標テーブルを用意する(ステップS21)。ステップS21においては、頂点構成テーブル、頂点座標テーブルを用意することができれば、どのような手法を用いてもよいが、ポリゴンモデルの構造化を行って作成することもできる。ポリゴンモデルの構造化とは、ポリゴンモデルを実現するデータである頂点座標配列データを、頂点構成テーブルおよび頂点座標テーブルで構成される構造に変換することにより、ポリゴンモデルにおける頂点関係(トポロジー・位相情報)が座標値(数値データ)から分離され、あるポリゴンの頂点の修正により影響を受ける周辺のポリゴンの頂点の探索が容易になり、編集し易い構造に組み替えることを意味する。   FIG. 12 is a flowchart showing details of the polygon reduction process. First, the polygon model structuring means 30 prepares a vertex configuration table and a vertex coordinate table (step S21). In step S21, any method can be used as long as the vertex configuration table and the vertex coordinate table can be prepared, but the polygon model can be structured and created. Polygon model structuring refers to the vertex relationship (topology / phase information in the polygon model) by converting the vertex coordinate array data, which is the data that realizes the polygon model, into a structure consisting of a vertex configuration table and a vertex coordinate table. ) Is separated from the coordinate value (numerical data), and it becomes easy to search for the vertices of the surrounding polygons affected by the correction of the vertices of a certain polygon, and it is rearranged into a structure easy to edit.

図13は、ステップS21のポリゴンモデルの構造化の詳細を示すフローチャートである。ステップS21のポリゴンモデルの構造化は、ポリゴンモデル構造化手段30により行われる。ポリゴンモデル構造化手段30は、ハッシュ値算出手段、座標値照合手段、頂点構成テーブル処理手段、頂点座標テーブル処理手段としての機能を備えている。   FIG. 13 is a flowchart showing details of the structuring of the polygon model in step S21. The polygon model structuring means 30 performs the structuring of the polygon model in step S21. The polygon model structuring unit 30 has functions as a hash value calculating unit, a coordinate value matching unit, a vertex configuration table processing unit, and a vertex coordinate table processing unit.

まず、頂点構成テーブル、頂点座標テーブル、頂点IDの初期化を行う(S101)。頂点構成テーブルは、各ポリゴンに含まれる各頂点を、同一座標の頂点を同一値とする共有頂点の頂点IDで表現し、ポリゴンを構成する各頂点を頂点IDで表現してポリゴンと対応付けて記録したテーブルである。頂点IDは、共有頂点を識別するための頂点識別情報であり、共有頂点を一意に特定することができれば、どのようなものを用いてもよいが、演算処理の効率化のため、本実施形態では、0から始まるシリアルな整数値を用いている。頂点座標テーブルは、頂点構成テーブルに付与された頂点IDと座標値を対応付けて記録したテーブルである。頂点構成テーブル、頂点座標テーブルの初期化は、各項目が記録されていない状態にすることを意味する。また、頂点IDの初期化として現在の頂点ID=0に設定する。さらに、ハッシュ値とリンク先頂点IDを対応付けた先頭位置テーブルも初期化する。先頭位置テーブルの初期化は、リンク先頂点IDを全て“−1”に設定することにより行われる。頂点座標テーブルと先頭位置テーブルの2つのテーブルによりハッシュ値別頂点座標テーブルを実現する。   First, the vertex configuration table, vertex coordinate table, and vertex ID are initialized (S101). In the vertex configuration table, each vertex included in each polygon is expressed by a vertex ID of a shared vertex having the same coordinate vertex, and each vertex constituting the polygon is expressed by a vertex ID and associated with the polygon. It is a recorded table. The vertex ID is vertex identification information for identifying the shared vertex, and any vertex can be used as long as the shared vertex can be uniquely specified. In this example, a serial integer value starting from 0 is used. The vertex coordinate table is a table in which vertex IDs and coordinate values assigned to the vertex configuration table are recorded in association with each other. Initialization of the vertex configuration table and the vertex coordinate table means that each item is not recorded. Also, the current vertex ID = 0 is set as the initialization of the vertex ID. Furthermore, the head position table in which the hash value and the link destination vertex ID are associated is also initialized. Initialization of the head position table is performed by setting all link destination vertex IDs to “−1”. A hash value-specific vertex coordinate table is realized by two tables, a vertex coordinate table and a head position table.

次に、頂点座標配列データより頂点座標値を抽出するにあたり、ポリゴンIDと頂点順を定義し、ポリゴンIDは“P1”、頂点順は“0”に初期化する(S101)。そして、現在のポリゴンIDと頂点順に対応する1つの頂点座標値を抽出する(S102)。例えば、図11に示した頂点座標配列データからは、ポリゴンID“P1”と頂点順“0”である第1頂点の頂点座標値(Xd,Yd,Zd)が抽出される。   Next, when extracting the vertex coordinate values from the vertex coordinate array data, the polygon ID and the vertex order are defined, the polygon ID is initialized to “P1”, and the vertex order is initialized to “0” (S101). Then, one vertex coordinate value corresponding to the current polygon ID and the vertex order is extracted (S102). For example, from the vertex coordinate array data shown in FIG. 11, the vertex coordinate value (Xd, Yd, Zd) of the first vertex having the polygon ID “P1” and the vertex order “0” is extracted.

続いて、抽出された頂点座標値(Xd,Yd,Zd)よりハッシュ値を算出する(S103)。具体的には、まず、ポリゴンモデル内の全てのポリゴンの3次元座標値x,y,zの最大値Xmax,Ymax,Zmax、最小値Xmin,Ymin,Zminを求める。これは、図11に示したような頂点配列データの座標ごとの最大値、最小値を求めることになる。そして、座標値x,y,zの値を均等なS段階に分類し、整数値hx,hy,hz(0≦hx,hy,hz≦S−1)に変換する。整数Sとしては、例えばS=32を設定することができる。具体的には、以下の〔数式1〕に従った処理を実行することにより、hx,hy,hzを算出する。ただし、〔数式1〕に従った処理の後、小数点以下を切り捨てた値を、整数値hx,hy,hzとして得るものとする。   Subsequently, a hash value is calculated from the extracted vertex coordinate values (Xd, Yd, Zd) (S103). Specifically, first, the maximum values Xmax, Ymax, Zmax and the minimum values Xmin, Ymin, Zmin of the three-dimensional coordinate values x, y, z of all the polygons in the polygon model are obtained. This is to obtain the maximum value and the minimum value for each coordinate of the vertex array data as shown in FIG. Then, the coordinate values x, y, and z are classified into equal S stages and converted into integer values hx, hy, and hz (0 ≦ hx, hy, hz ≦ S−1). As the integer S, for example, S = 32 can be set. Specifically, hx, hy, hz are calculated by executing processing according to the following [Equation 1]. However, after the processing according to [Formula 1], values obtained by rounding down the decimal point are obtained as integer values hx, hy, hz.

〔数式1〕
hx=(x−Xmin)・S/(Xmax−Xmin)
hy=(y−Ymin)・S/(Ymax−Ymin)
hz=(z−Zmin)・S/(Zmax−Zmin)
[Formula 1]
hx = (x−Xmin) · S / (Xmax−Xmin)
hy = (y−Ymin) · S / (Ymax−Ymin)
hz = (z−Zmin) · S / (Zmax−Zmin)

そして、以下の〔数式2〕に従った処理を実行することにより、ハッシュ値hを算出する。   And the hash value h is calculated by performing the process according to the following [Formula 2].

〔数式2〕
h=hx+hy・S+hz・S2(0≦h≦S3−1)
[Formula 2]
h = hx + hy · S + hz · S 2 (0 ≦ h ≦ S 3 −1)

次に、算出されたハッシュ値を用いて先頭位置テーブルを参照する(S104)。そして、そのハッシュ値に対応するリンク先頂点IDが先頭位置テーブルに登録されているか否かを判定する(S105)。ハッシュ値に対応するリンク先頂点ID(図中“リンク頂点ID”と表示)が“−1”、すなわち初期状態である場合は、そのハッシュ値に対応するリンク先頂点IDが未登録、すなわち既登録でないことを意味する。   Next, the head position table is referred to using the calculated hash value (S104). Then, it is determined whether or not the link destination vertex ID corresponding to the hash value is registered in the head position table (S105). When the link destination vertex ID corresponding to the hash value (indicated as “link vertex ID” in the figure) is “−1”, that is, in the initial state, the link destination vertex ID corresponding to the hash value is not registered, that is, already exists. Means not registered.

この場合、先頭位置テーブルに頂点IDの記録を行う(S106)。具体的には、先頭位置テーブルのハッシュ値に対応するリンク先頂点IDに、現在の頂点ID(初期状態では“0”)を書き込む。続いて、頂点座標テーブルの現在の頂点IDの位置にステップS102で抽出した座標値を書き込む。この時、頂点座標テーブルにもリンク先頂点IDを書き込む欄があるが、初期状態の“−1”のままにする。また、頂点構成テーブルにステップS102で抽出した現在のポリゴンIDと頂点順に対応付けて、現在の頂点IDを書き込む。ここでは、新規な頂点IDとして記録されることになる。そして、現在の頂点IDをインクリメントする(S107)。   In this case, the vertex ID is recorded in the head position table (S106). Specifically, the current vertex ID (“0” in the initial state) is written in the link destination vertex ID corresponding to the hash value in the head position table. Subsequently, the coordinate value extracted in step S102 is written at the position of the current vertex ID in the vertex coordinate table. At this time, the vertex coordinate table also has a column for writing the link destination vertex ID, but the initial state is “−1”. Further, the current vertex ID is written in the vertex configuration table in association with the current polygon ID extracted in step S102 in the order of the vertexes. Here, it is recorded as a new vertex ID. Then, the current vertex ID is incremented (S107).

一方、ステップS105において、ハッシュ値に対応するリンク先頂点IDが“−1”でない場合は、そのハッシュ値に対応するリンク先頂点IDが既登録であることを意味する。この場合、ステップS102で抽出した座標値と、頂点座標テーブルにおける既登録のリンク先頂点IDに対応する座標値が一致するか否かを判定する(S108)。判定の結果、両座標値が一致する場合は、頂点構成テーブルの現在のポリゴンID、頂点順の位置に、現在の頂点IDを記録する(S109)。ステップS108における判定の結果、両座標値が異なる場合は、頂点座標テーブルのリンク先頂点IDを参照し、リンク先頂点IDが0以上であるか否かを判定する(S110)。判定の結果、リンク先頂点IDが0以上である場合は、その値を頂点IDとし、ステップS108に戻って、その頂点IDに対応する座標値とステップS102で抽出した座標値を照合する。ステップS110における判定の結果、リンク先頂点IDが負値(例えば“−1”)である場合は、頂点座標テーブルのその頂点IDに対応するリンク先頂点IDに現在の頂点IDを記録し、ステップS107に戻って、頂点座標テーブルの現在の頂点IDの位置にステップS102で抽出した座標値を記録する。この時、頂点座標テーブルの現在の頂点IDにおけるリンク先頂点IDについては、初期状態の“−1”のままにする。また、頂点構成テーブルにステップS102で抽出した現在のポリゴンIDと頂点順に対応付けて頂点IDを記録する。そして、頂点IDをインクリメントする。   On the other hand, if the link destination vertex ID corresponding to the hash value is not “−1” in step S105, it means that the link destination vertex ID corresponding to the hash value is already registered. In this case, it is determined whether the coordinate value extracted in step S102 matches the coordinate value corresponding to the registered link destination vertex ID in the vertex coordinate table (S108). If both coordinate values match as a result of the determination, the current vertex ID is recorded in the position of the current polygon ID and the vertex order in the vertex configuration table (S109). If the two coordinate values are different as a result of the determination in step S108, the link destination vertex ID in the vertex coordinate table is referenced to determine whether the link destination vertex ID is 0 or more (S110). As a result of the determination, if the link destination vertex ID is 0 or more, the value is set as the vertex ID, the process returns to step S108, and the coordinate value corresponding to the vertex ID is collated with the coordinate value extracted in step S102. If the result of determination in step S110 is that the link destination vertex ID is a negative value (eg, “−1”), the current vertex ID is recorded in the link destination vertex ID corresponding to that vertex ID in the vertex coordinate table, and step Returning to S107, the coordinate value extracted in step S102 is recorded at the position of the current vertex ID in the vertex coordinate table. At this time, the link destination vertex ID at the current vertex ID in the vertex coordinate table is left as “−1” in the initial state. The vertex ID is recorded in the vertex configuration table in association with the current polygon ID extracted in step S102 in the order of the vertexes. Then, the vertex ID is incremented.

ステップS107またはS109の処理を終えたら、全ポリゴンに対して処理を終えたか否かを判定する(S111)。具体的には、まず、頂点順をインクリメントし、頂点順が“2”を超えたら、ポリゴンIDをインクリメントして頂点順を“0”にする。例えば、現在のポリゴンIDが“P1”の場合、ポリゴンIDをインクリメントすると、ポリゴンIDは“P2”になる。ポリゴンIDがポリゴン総数を超えていなければ、ステップS102に戻って処理を繰り返す。ポリゴンIDがポリゴン総数を超えていれば、全ポリゴンに対して処理を終えたと判定して処理を終了する。   When the process of step S107 or S109 is completed, it is determined whether or not the process has been completed for all the polygons (S111). Specifically, first, the vertex order is incremented. When the vertex order exceeds “2”, the polygon ID is incremented to set the vertex order to “0”. For example, if the current polygon ID is “P1” and the polygon ID is incremented, the polygon ID becomes “P2”. If the polygon ID does not exceed the total number of polygons, the process returns to step S102 and is repeated. If the polygon ID exceeds the total number of polygons, it is determined that the processing has been completed for all the polygons, and the processing ends.

図13に示したステップS21のポリゴンモデルの構造化処理の具体例について説明する。図10に示したポリゴン群が、その頂点の座標値により図14に示すようなハッシュ値をとる場合を例にとって説明する。図14の例では、説明の都合上2次元で表現し、上記〔数式2〕においてS=2とすると、h=hx+hy・2となり、頂点A,B,D,Eのハッシュ値がh=0、頂点C,Fのハッシュ値がh=1、頂点G,H,J,L,Mのハッシュ値がh=2、頂点I,K,Nのハッシュ値がh=3であることを示している。実際には上記〔数式2〕において、S=32に設定し、h=hx+hy・32+hz・1024となり、ハッシュ値hは、0〜32767の値をとるが、以下では、説明を簡略化するため、ハッシュ値は前述の0〜3の値をとるものとして説明していく。   A specific example of the polygon model structuring process in step S21 shown in FIG. 13 will be described. The case where the polygon group shown in FIG. 10 takes a hash value as shown in FIG. 14 based on the coordinate value of the vertex will be described as an example. In the example of FIG. 14, it is expressed in two dimensions for convenience of explanation, and when S = 2 in the above [Equation 2], h = hx + hy · 2 is obtained, and the hash values of the vertices A, B, D, and E are h = 0. , The hash values of vertices C and F are h = 1, the hash values of vertices G, H, J, L, and M are h = 2, and the hash values of vertices I, K, and N are h = 3 Yes. Actually, in the above [Equation 2], S = 32 is set, and h = hx + hy · 32 + hz · 1024, and the hash value h takes a value of 0 to 32767, but in the following, in order to simplify the explanation, The hash value will be described assuming that it takes the values 0 to 3 described above.

図15は、S101における初期化時の各テーブルの状態を示す図である。図15(a)は頂点構成テーブル、図15(b)は先頭位置テーブル、図15(c)は頂点座標テーブルを示している。先頭位置テーブルには、ハッシュ値に頂点IDが対応付けられてリンク先頂点IDとして記録される。ここでは、図14に示したようにハッシュ値が0〜3の値をとるため、初期状態の先頭位置テーブルには、全てのハッシュ値0〜3に対応付けてリンク先頂点IDとして“−1”になっている。頂点座標テーブルには、頂点IDに対応付けられて頂点座標が記録されるとともに、リンク先頂点IDが記録される。   FIG. 15 is a diagram showing the state of each table at the time of initialization in S101. FIG. 15A shows a vertex configuration table, FIG. 15B shows a head position table, and FIG. 15C shows a vertex coordinate table. In the head position table, a vertex ID is associated with a hash value and recorded as a link destination vertex ID. Here, since the hash value takes a value of 0 to 3 as shown in FIG. 14, “−1” is set as the link destination vertex ID in the initial position head table in association with all the hash values 0 to 3. "It has become. In the vertex coordinate table, the vertex coordinates are recorded in association with the vertex ID, and the link destination vertex ID is recorded.

図15(a)に示すように、頂点構成テーブルは、ポリゴンIDに対応付けて頂点順に3つの頂点IDが記録されるようになっているが、頂点順は、左から0,1,2となっており、図11に示した第1頂点、第2頂点、第3頂点に対応している。ステップS101における初期化の際、頂点順=0に初期化される。ステップS102において、頂点座標配列データより、ポリゴンP1の第1頂点の座標値(Xd,Yd,Zd)を抽出して、ステップS103において、ハッシュ値“0”が算出されたものとする。ステップS104において、ハッシュ値“0”で先頭位置テーブルを参照すると、ステップS105において、リンク先の頂点IDが登録されていないため、先頭位置テーブルのハッシュ値“0”に対応付けて、ステップS106において、現在の頂点ID“0”をリンク先として記録する。   As shown in FIG. 15A, in the vertex configuration table, three vertex IDs are recorded in the vertex order in association with the polygon ID. The vertex order is 0, 1, 2 from the left. These correspond to the first vertex, the second vertex, and the third vertex shown in FIG. At the time of initialization in step S101, the vertex order is initialized to zero. It is assumed that the coordinate value (Xd, Yd, Zd) of the first vertex of the polygon P1 is extracted from the vertex coordinate array data in step S102, and the hash value “0” is calculated in step S103. When the head position table is referenced with the hash value “0” in step S104, since the vertex ID of the link destination is not registered in step S105, the head position table is associated with the hash value “0” of the head position table in step S106. The current vertex ID “0” is recorded as the link destination.

そして、ステップS107において、頂点座標テーブルにおける現在の頂点ID“0”の位置に、ステップS102において抽出した座標値(Xd,Yd,Zd)を記録し、リンク先頂点IDとして“−1”を記録する。さらに、ステップS107において、現在のポリゴンID“P1”の現在の頂点順“0”の位置に、現在の頂点ID“0”を記録する。この結果、各テーブルは、図16に示すような状態となる。そして、頂点IDをインクリメントして現在の頂点IDを“0”→“1”とする。また、頂点順をインクリメントして現在の頂点順を“0”→“1” とする。現在のポリゴンIDは“P1”であり、“P13”を超えていないため、ステップS111において、全ポリゴンに対して処理終了していないと判断され、ステップS102に戻る。   In step S107, the coordinate value (Xd, Yd, Zd) extracted in step S102 is recorded at the position of the current vertex ID “0” in the vertex coordinate table, and “−1” is recorded as the link destination vertex ID. To do. In step S107, the current vertex ID “0” is recorded at the position of the current polygon ID “P1” in the current vertex order “0”. As a result, each table is in a state as shown in FIG. Then, the vertex ID is incremented to change the current vertex ID from “0” to “1”. Also, the vertex order is incremented to change the current vertex order from “0” to “1”. Since the current polygon ID is “P1” and does not exceed “P13”, it is determined in step S111 that processing has not been completed for all polygons, and the process returns to step S102.

ステップS102において、頂点座標配列データより、現在のポリゴンID“P1”、現在の頂点順“1”に基づき、ポリゴンP1の第2頂点の座標値(Xb,Yb,Zb)を抽出する。そして、ステップS103において、座標値(Xb,Yb,Zb)に対してハッシュ値“0”が算出されたものとする。ステップS104において、ハッシュ値“0”で先頭位置テーブルを参照すると、ステップS105において、リンク先の頂点IDとして“0”が既登録であるため、ステップS108において、既登録の頂点ID“0”に対応する頂点座標テーブルの座標値(Xd,Yd,Zd)と、ステップS102で抽出した座標値(Xb,Yb,Zb)を照合する。照合の結果、不一致であるので、ステップS110において、頂点座標テーブルのリンク先の頂点IDが0以上であるか負の値であるかを判定する。   In step S102, the coordinate value (Xb, Yb, Zb) of the second vertex of the polygon P1 is extracted from the vertex coordinate array data based on the current polygon ID “P1” and the current vertex order “1”. In step S103, the hash value “0” is calculated for the coordinate values (Xb, Yb, Zb). If the head position table is referenced with the hash value “0” in step S104, “0” is already registered as the link destination vertex ID in step S105. Therefore, in step S108, the registered vertex ID “0” is set. The coordinate values (Xd, Yd, Zd) in the corresponding vertex coordinate table are collated with the coordinate values (Xb, Yb, Zb) extracted in step S102. As a result of the collation, there is a mismatch, so in step S110 it is determined whether the vertex ID of the link destination in the vertex coordinate table is 0 or more or a negative value.

図16に示すように、リンク先の頂点IDが“−1”であるので、ステップS107において、頂点座標テーブルの現在の頂点ID“1”の位置に、ステップS102において抽出した座標値(Xb,Yb,Zb)を記録し、リンク先頂点IDとして“−1”を記録する。さらに、ステップS107において、頂点構成テーブルの、現在のポリゴンID“P1”の現在の頂点順“1”の位置に、現在の頂点ID“1”を記録する。この結果、各テーブルは、図17に示すような状態となる。そして、頂点IDをインクリメントして現在の頂点IDを“1”→“2”とする。また、頂点順をインクリメントして現在の頂点順を“1”→“2” とする。現在のポリゴンIDは“P1”であり、“P13”を超えていないため、ステップS111において、全ポリゴンに対して処理終了していないと判断され、ステップS102に戻る。   As shown in FIG. 16, since the vertex ID of the link destination is “−1”, in step S107, the coordinate value (Xb, X) extracted in step S102 is added to the position of the current vertex ID “1” in the vertex coordinate table. Yb, Zb) is recorded, and “−1” is recorded as the link destination vertex ID. Further, in step S107, the current vertex ID “1” is recorded at the position of the current polygon ID “P1” in the current vertex order “1” in the vertex configuration table. As a result, each table is in a state as shown in FIG. Then, the vertex ID is incremented to change the current vertex ID from “1” to “2”. Also, the vertex order is incremented to change the current vertex order from “1” to “2”. Since the current polygon ID is “P1” and does not exceed “P13”, it is determined in step S111 that processing has not been completed for all polygons, and the process returns to step S102.

ポリゴンID“P1”、頂点ID“2”、頂点順“2”の場合は、ポリゴンID“P1”、頂点ID“1”、頂点順“1”の場合と同様に処理され、各テーブルは、図18に示すような状態となる。そして、頂点IDをインクリメントして現在の頂点IDを“2”→“3”とする。また、頂点順は、1つのポリゴンについて“0”“1”“2”の3つの値のみをとるため、ポリゴンIDをインクリメントして“P1”→“P2”とし、頂点順をリセットして現在の頂点順を“2”→“0” とする。現在のポリゴンIDは“P2”となり、“P18”を超えていないため、ステップS111において、全ポリゴンに対して処理終了していないと判断され、ステップS102に戻る。   The polygon ID “P1”, the vertex ID “2”, and the vertex order “2” are processed in the same manner as the polygon ID “P1”, the vertex ID “1”, and the vertex order “1”. The state shown in FIG. 18 is obtained. Then, the vertex ID is incremented to change the current vertex ID from “2” to “3”. Since the vertex order takes only three values “0”, “1”, and “2” for one polygon, the polygon ID is incremented to “P1” → “P2”, and the vertex order is reset to the current The vertex order of “2” → “0”. Since the current polygon ID is “P2” and does not exceed “P18”, it is determined in step S111 that processing has not been completed for all polygons, and the process returns to step S102.

ステップS102において、頂点座標配列データより、現在のポリゴンID“P2”、現在の頂点順“0”に基づき、ポリゴンP2の第1頂点の座標値(Xd,Yd,Zd)を抽出する。そして、ステップS103において、座標値(Xd,Yd,Zd)に対してハッシュ値“0”が算出されたものとする。ステップS104において、ハッシュ値“0”で先頭位置テーブルを参照すると、ステップS105において、リンク先の頂点IDとして“0”が既登録であるため、ステップS108において、既登録の頂点ID“0”に対応する頂点座標テーブルの座標値(Xd,Yd,Zd)と、ステップS102で抽出した座標値(Xd,Yd,Zd)を照合する。照合の結果、一致するので、ステップS109において、頂点座標テーブルの座標値が一致した頂点ID“0”を、頂点構成テーブルの、現在のポリゴンID“P2”の現在の頂点順“0”の位置に記録する。この結果、各テーブルは、図19に示すような状態となる。   In step S102, the coordinate value (Xd, Yd, Zd) of the first vertex of the polygon P2 is extracted from the vertex coordinate array data based on the current polygon ID “P2” and the current vertex order “0”. In step S103, the hash value “0” is calculated for the coordinate values (Xd, Yd, Zd). If the head position table is referenced with the hash value “0” in step S104, “0” is already registered as the link destination vertex ID in step S105. Therefore, in step S108, the registered vertex ID “0” is set. The coordinate values (Xd, Yd, Zd) in the corresponding vertex coordinate table are collated with the coordinate values (Xd, Yd, Zd) extracted in step S102. As a result of the collation, in step S109, the vertex ID “0” having the same coordinate value in the vertex coordinate table is set as the current vertex order “0” position of the current polygon ID “P2” in the vertex configuration table. To record. As a result, each table is in a state as shown in FIG.

上記のようにして、ポリゴンP18まで処理を行ってステップS111の判定により処理を終了する。このとき、各テーブルは、図20に示すような状態となる。すなわち、ハッシュ値が同一の他の座標値を頂点IDより最近傍に記録した単一の頂点IDがリンク先として対応付けられているものとなる。上記説明のように、ポリゴンモデルの構造化処理においては、ステップS108において座標値の照合を行い、不一致であれば頂点座標テーブルに追加登録するが、一致している場合は、次々に照合を繰り返していく。この処理は、頂点座標テーブルが大きくなり、既登録の座標値が多くなる程、負荷が高くなることになる。本実施形態では、ハッシュ値を用いてハッシュ値別頂点座標テーブルを参照することにより、頂点座標テーブルの全ての座標値の照合を行うことなく、ハッシュ値が異なる座標値とは一致しないことが自明なため照合対象から除外することができ、同一ハッシュ値の頂点座標テーブルのみを参照すればよいことになる。頂点座標テーブルの中で同一ハッシュ値をもつ座標値は、本実施形態では高々1/4程度であるが、前述の通り実際には上記〔数式2〕において、S=32に設定することが多く、そうすると頂点座標テーブルの中で同一ハッシュ値をもつ座標値は1/32767程度に削減され、全件と照合する場合に比べ照合時間も1/32767程度に短縮されることになる。このため、ポリゴンモデルの構造化処理を桁違いに高速に行うことが可能となる。   As described above, the process is performed up to the polygon P18, and the process is terminated by the determination in step S111. At this time, each table is in a state as shown in FIG. That is, a single vertex ID in which other coordinate values having the same hash value are recorded closest to the vertex ID is associated as a link destination. As described above, in the polygon model structuring process, coordinate values are collated in step S108, and if they do not match, they are additionally registered in the vertex coordinate table. If they match, the collation is repeated one after another. To go. In this process, the load increases as the vertex coordinate table increases and the number of registered coordinate values increases. In this embodiment, it is obvious that the hash value does not match different coordinate values without referring to all the coordinate values in the vertex coordinate table by referring to the hash value-specific vertex coordinate table. Therefore, it can be excluded from the verification target, and only the vertex coordinate table having the same hash value needs to be referred to. In the present embodiment, the coordinate value having the same hash value in the vertex coordinate table is about 1/4 at most. However, as described above, in many cases, in the above [Equation 2], S = 32 is often set. Then, the coordinate value having the same hash value in the vertex coordinate table is reduced to about 1/32767, and the verification time is also reduced to about 1/32767 compared with the case of matching with all cases. For this reason, the structuring process of the polygon model can be performed at an extremely high speed.

図20の例で、ハッシュ値が“0”の場合、図20(c)の頂点座標テーブルでは、リンク先頂点IDに従って、頂点ID“0”“1”“2”“6”のものだけ照合すれば、新たな頂点座標を追加登録するべきか否かの判断が可能となる。図20(b)に示した先頭位置テーブルを削除し、図20(c)に示した頂点座標テーブルよりリンク先頂点IDの欄を削除することにより、図21に示したような頂点構成テーブルと頂点座標テーブルを得ることができ、ポリゴンモデルの構造化は完了する。   In the example of FIG. 20, when the hash value is “0”, only the vertex IDs “0”, “1”, “2”, and “6” are collated in the vertex coordinate table of FIG. Then, it is possible to determine whether or not a new vertex coordinate should be additionally registered. By deleting the head position table shown in FIG. 20B and deleting the link destination vertex ID field from the vertex coordinate table shown in FIG. 20C, the vertex configuration table as shown in FIG. A vertex coordinate table can be obtained and the structuring of the polygon model is completed.

図21は、ステップS21において用意された頂点構成テーブルと頂点座標テーブルを示す図である。図21(a)に示す頂点構成テーブルは、ポリゴンを構成する各頂点をポリゴンモデル内で一意に識別する共有頂点と対応付け、共有頂点の識別情報である頂点IDを、ポリゴンを識別するポリゴン識別情報であるポリゴンIDに対応付けて記録されたテーブルである。本実施形態ではポリゴンが三角形であるため、図21(a)の例では、1つのポリゴンIDに3つの頂点IDが対応付けられている。図21(b)に示す頂点座標テーブルは、共有頂点の識別情報である頂点IDと、ポリゴンモデル内における頂点のxyz座標値である頂点座標が対応付けて記録されたテーブルである。   FIG. 21 is a diagram showing the vertex configuration table and the vertex coordinate table prepared in step S21. The vertex configuration table shown in FIG. 21A associates each vertex constituting a polygon with a shared vertex that uniquely identifies the polygon in the polygon model, and a vertex ID that is identification information of the shared vertex is a polygon identification that identifies the polygon. It is a table recorded in association with polygon ID which is information. In the present embodiment, since the polygon is a triangle, in the example of FIG. 21A, three vertex IDs are associated with one polygon ID. The vertex coordinate table shown in FIG. 21B is a table in which vertex IDs that are identification information of shared vertices and vertex coordinates that are xyz coordinate values of vertices in the polygon model are recorded in association with each other.

次に、テーブル定義手段40が、頂点重複テーブルを初期化する(ステップS22)。頂点重複テーブルは、頂点IDと重複先の頂点ID(図中「重複先」と示す)を対応付けたテーブルである。図21(c)に頂点重複テーブルの一例を示す。頂点重複テーブルには、初期値として、重複先がないことを示す“−1”が設定される。重複先がないことを示すことができれば、初期値として、“−1”以外を設定してもよい。   Next, the table definition means 40 initializes the vertex duplication table (step S22). The vertex duplication table is a table in which vertex IDs and duplication destination vertex IDs (shown as “duplication destination” in the figure) are associated with each other. FIG. 21C shows an example of the vertex overlap table. In the vertex duplication table, “−1” indicating that there is no duplication destination is set as an initial value. If it can be shown that there is no duplication destination, an initial value other than “−1” may be set.

次に、テーブル定義手段40が、頂点更新テーブルを初期化する(ステップS23)。頂点更新テーブルは、頂点IDと更新フラグ(図中「更新」と示す)を対応付けたテーブルである。図21(d)に頂点更新テーブルの一例を示す。頂点更新テーブルには、初期値として、更新されていないことを示す“0”が設定される。更新されていないことを示すことができれば、初期値として、“0”以外を設定してもよい。   Next, the table definition means 40 initializes the vertex update table (step S23). The vertex update table is a table in which vertex IDs are associated with update flags (shown as “update” in the figure). FIG. 21D shows an example of the vertex update table. In the vertex update table, “0” indicating that the vertex has not been updated is set as an initial value. If it can be shown that it has not been updated, an initial value other than “0” may be set.

次に、削除対象ポリゴン設定手段50が、ポリゴンモデルを構成する全ポリゴンを対象として、各ポリゴンの面積および周長を算出し、算出された面積と周長の積の最小値を算出する(ステップS24)。すなわち、全てのポリゴンについて、面積と周長を乗じて積を算出し、面積と周長の積が各ポリゴンの中で最小となる値を特定する。   Next, the deletion target polygon setting means 50 calculates the area and circumference of each polygon for all polygons constituting the polygon model, and calculates the minimum value of the product of the calculated area and circumference (step). S24). That is, for every polygon, the product is calculated by multiplying the area and the perimeter, and the value that minimizes the product of the area and the perimeter is specified in each polygon.

次に、削除対象ポリゴン設定手段50は、ステップS24で算出された最小値に所定の係数αを乗算した値を所定のしきい値とし、面積と周長の積が所定のしきい値未満であって、3頂点のうち1つの共有頂点も更新されていないポリゴンを削除対象ポリゴンとし、削除対象ポリゴンの最短稜線(最短辺)の2端点をその中点に統合する処理を行う(ステップS25)。所定の係数αとしては、1以上の値をとる実数値に設定し、1.5≦α≦2.5の範囲であることが好ましい。本実施形態では、α=2.0としている。3頂点のうち1つの共有頂点も更新されていないとは、削除対象に設定しようとするポリゴンのいずれの頂点と共有する頂点をもつ他の隣接ポリゴンが削除対象に事前に設定されていないことを意味し、実際に削除される最短稜線の2端点である2つの頂点だけでなく残りのもう1つの頂点も更新されていないことを確認する必要があり、隣接する複数のポリゴンを同時に削除対象に設定することにより、削除後のポリゴンモデルを歪ませることを防いでいる。具体的には、頂点更新テーブルを参照して、ポリゴンP6については、頂点ID“6”“9”“10”に対応する更新フラグが全て“0”であることを確認して、削除対象ポリゴンとする。このように、頂点更新テーブルを参照することにより、ポリゴンの全ての頂点が、既に削除対象に設定された全てのポリゴンの削除対象稜線の2頂点と共有しないことを確認することができる。削除対象稜線の2頂点は、削除対象頂点となる。   Next, the deletion target polygon setting unit 50 sets a value obtained by multiplying the minimum value calculated in step S24 by a predetermined coefficient α as a predetermined threshold value, and the product of the area and the circumference is less than the predetermined threshold value. Then, a polygon in which one of the three vertices is not updated is set as a polygon to be deleted, and processing for integrating the two end points of the shortest ridge line (shortest side) of the deletion target polygon into the middle point is performed (step S25). . The predetermined coefficient α is preferably set to a real value that takes a value of 1 or more, and is preferably in the range of 1.5 ≦ α ≦ 2.5. In the present embodiment, α = 2.0. If one of the three vertices is not updated, it means that no other neighboring polygons that have vertices shared with any vertex of the polygon to be set as the deletion target are set in advance as the deletion target. This means that it is necessary to make sure that not only the two vertices that are the two end points of the shortest edge that are actually deleted, but also the other remaining vertices are not updated. By setting, the polygon model after deletion is prevented from being distorted. Specifically, referring to the vertex update table, for the polygon P6, it is confirmed that all the update flags corresponding to the vertex IDs “6”, “9”, and “10” are “0”, and the polygon to be deleted And In this way, by referring to the vertex update table, it can be confirmed that all the vertices of the polygon are not shared with the two vertices of the deletion target ridgeline of all the polygons already set as the deletion target. Two vertices of the deletion target ridge line are deletion target vertices.

ステップS25による処理において、図10に示したポリゴン群のうち、面積と周長の積がしきい値未満であるポリゴンが、ポリゴンP6とポリゴンP10の2つであったとする。そして、図22に示すように、ポリゴンP6の最短稜線は稜線DE、ポリゴンP10の最短稜線は稜線JKであったとする。この場合、2つの最短稜線のうち、短い方の最短稜線である稜線JKから処理を行う。そして、稜線JKを有するポリゴンP10の3頂点が更新されていないか否かを、頂点更新テーブルを参照して確認する。図21に示すように、初期状態では、ポリゴンP10の3頂点の更新フラグは、いずれも“0”であるため、ポリゴンP10は、削除対象ポリゴンとなる。この場合、2頂点J,Kをそれぞれ中点Oに統合する。   In the processing in step S25, it is assumed that there are two polygons, polygon P6 and polygon P10, in the polygon group shown in FIG. 10 whose product of area and circumference is less than the threshold value. As shown in FIG. 22, it is assumed that the shortest ridge line of the polygon P6 is the ridge line DE and the shortest ridge line of the polygon P10 is the ridge line JK. In this case, processing is performed from the ridge line JK which is the shortest ridge line of the two shortest ridge lines. Then, it is checked with reference to the vertex update table whether or not the three vertices of the polygon P10 having the ridge line JK have been updated. As shown in FIG. 21, in the initial state, the update flags at the three vertices of the polygon P10 are all “0”, so the polygon P10 is a deletion target polygon. In this case, the two vertices J and K are integrated into the middle point O, respectively.

次に、頂点座標テーブル更新手段60、頂点重複テーブル更新手段70、頂点更新テーブル更新手段75が、頂点座標テーブル、頂点重複テーブル、頂点更新テーブルを更新する(ステップS26)。具体的には、稜線JKの中点をO(Xo,Yo,Zo)とし、頂点座標テーブルにおいて、頂点Jに対応していた頂点ID“9”の頂点の座標値(Xj,Yj,Zj)を中点Oの座標値(Xo,Yo,Zo)に変更する。また、頂点座標テーブルにおいて、頂点Kに対応していた頂点ID“10”の頂点の座標値(Xk,Yk,Zk)を削除する。   Next, the vertex coordinate table update unit 60, the vertex overlap table update unit 70, and the vertex update table update unit 75 update the vertex coordinate table, the vertex overlap table, and the vertex update table (step S26). Specifically, the middle point of the ridge line JK is O (Xo, Yo, Zo), and the vertex coordinate value (Xj, Yj, Zj) of the vertex ID “9” corresponding to the vertex J in the vertex coordinate table. Is changed to the coordinate value (Xo, Yo, Zo) of the middle point O. Also, the vertex coordinate value (Xk, Yk, Zk) of the vertex ID “10” corresponding to the vertex K is deleted from the vertex coordinate table.

頂点ID“10”の頂点は、頂点ID“9”の頂点の座標(Xo,Yo,Zo)と同一であり、重複することになる。このため、頂点重複テーブルにおいて、頂点座標テーブルから削除された頂点ID“10”の重複先を頂点ID“9”に設定する。また、頂点更新テーブルにおいて、所定の頂点について、頂点重複テーブルにおいて更新が行われた旨を記録するため、頂点重複テーブルが更新された頂点ID“9”、“10”の更新フラグを“1”に設定する。これは、その頂点IDで特定される頂点が、削除対象頂点に設定されたことを意味している。この結果、各テーブルは、図21に示した初期状態から図23に示したような状態に変更される。   The vertex with the vertex ID “10” is the same as the coordinates (Xo, Yo, Zo) of the vertex with the vertex ID “9”, and overlaps. Therefore, in the vertex duplication table, the duplication destination of the vertex ID “10” deleted from the vertex coordinate table is set to the vertex ID “9”. Also, in the vertex update table, in order to record that a predetermined vertex has been updated in the vertex overlap table, the update flags of the vertex IDs “9” and “10” in which the vertex overlap table has been updated are set to “1”. Set to. This means that the vertex specified by the vertex ID is set as the deletion target vertex. As a result, each table is changed from the initial state shown in FIG. 21 to the state shown in FIG.

そして、ステップS25に戻り、2つの最短稜線のうち、長い方の最短稜線である稜線DEの処理を行う。具体的には、稜線DEを有するポリゴンP6の3頂点が更新されていないか否かを、頂点更新テーブルを参照して確認する。図23に示すように、ポリゴンP10の稜線JKの処理後においても、ポリゴンP6の3頂点の更新フラグは、いずれも“0”であるため、ポリゴンP6は、削除対象ポリゴンとなる。この場合、2頂点D,Eをそれぞれ中点Pに統合する。   Then, the process returns to step S25, and the ridge line DE which is the longest shortest ridge line of the two shortest ridge lines is processed. Specifically, it is checked by referring to the vertex update table whether or not the three vertices of the polygon P6 having the edge line DE have been updated. As shown in FIG. 23, even after the processing of the ridgeline JK of the polygon P10, the update flags at the three vertices of the polygon P6 are all “0”, so the polygon P6 becomes the deletion target polygon. In this case, the two vertices D and E are integrated into the middle point P, respectively.

そして、ステップS26において、頂点座標テーブル、頂点更新テーブル、頂点重複テーブルを更新する。具体的には、稜線DEの中点をP(Xp,Yp,Zp)とし、頂点座標テーブルにおいて、頂点Dに対応していた頂点ID“0”の頂点の座標値(Xd,Yd,Zd)を中点Pの座標値(Xp,Yp,Zp)に変更する。また、頂点座標テーブルにおいて、頂点Eに対応していた頂点ID“6”の頂点の座標値(Xe,Ye,Ze)を削除する。   In step S26, the vertex coordinate table, the vertex update table, and the vertex overlap table are updated. Specifically, the middle point of the edge line DE is P (Xp, Yp, Zp), and the vertex coordinate value (Xd, Yd, Zd) of the vertex ID “0” corresponding to the vertex D in the vertex coordinate table. Is changed to the coordinate value (Xp, Yp, Zp) of the midpoint P. Further, the vertex coordinate value (Xe, Ye, Ze) of the vertex ID “6” corresponding to the vertex E is deleted from the vertex coordinate table.

頂点ID“6”の頂点は、頂点ID“0”の頂点の座標(Xp,Yp,Zp)と同一であり、重複することになる。このため、頂点重複テーブルにおいて、頂点座標テーブルから削除された頂点ID“6”の重複先を頂点ID“0”に設定する。また、頂点更新テーブルにおいて、頂点重複テーブルが更新された頂点ID“0”、“6”の更新フラグを“1”に設定する。この結果、各テーブルは、図23に示した状態から図24に示したような状態に変更される。   The vertex with the vertex ID “6” is the same as the coordinates (Xp, Yp, Zp) of the vertex with the vertex ID “0”, and overlaps. Therefore, in the vertex duplication table, the duplication destination of the vertex ID “6” deleted from the vertex coordinate table is set to the vertex ID “0”. Further, in the vertex update table, the update flags of the vertex IDs “0” and “6” whose vertex overlap table is updated are set to “1”. As a result, each table is changed from the state shown in FIG. 23 to the state shown in FIG.

全ての削除対象ポリゴンについて処理を終えたら、頂点構成テーブル更新手段80が、更新された頂点重複テーブルに基づいて頂点構成テーブルを更新し、頂点が重複するポリゴンを削除する(ステップS27)。まず、頂点重複テーブルに基づき、頂点構成テーブルを更新する。具体的には、頂点重複テーブルにおいて重複先が設定されている頂点IDについて、頂点構成テーブルの頂点IDを重複先の頂点IDに置き換える。例えば、図25(c)に示す頂点重複テーブルでは、頂点ID“6”の重複先が“0”、頂点ID“10”の重複先が“9”であるので、頂点構成テーブルに記録されている全ての頂点ID“6”を頂点ID“0”に置き換え、全ての頂点ID“10”を頂点ID“9”に置き換える。この結果、頂点構成テーブルは、図25(a)に示すように、頂点ID“6”と頂点ID“10”が存在しない状態に更新される。   When the processing is completed for all the polygons to be deleted, the vertex configuration table update unit 80 updates the vertex configuration table based on the updated vertex duplication table, and deletes the polygons with overlapping vertices (step S27). First, the vertex configuration table is updated based on the vertex overlap table. Specifically, for the vertex ID for which the duplication destination is set in the vertex duplication table, the vertex ID of the vertex configuration table is replaced with the duplication destination vertex ID. For example, in the vertex duplication table shown in FIG. 25C, the duplication destination of the vertex ID “6” is “0” and the duplication destination of the vertex ID “10” is “9”. All the vertex IDs “6” are replaced with the vertex ID “0”, and all the vertex IDs “10” are replaced with the vertex ID “9”. As a result, the vertex configuration table is updated to a state where the vertex ID “6” and the vertex ID “10” do not exist, as shown in FIG.

次に、頂点が重複するポリゴンを削除する。具体的には、頂点構成テーブルにおいて、1つのポリゴンに対応する3つの頂点のうち、2つの頂点の頂点IDが同一である場合に、そのポリゴンの情報を頂点構成テーブルから削除する。図25(a)の例では、ポリゴンP5では頂点ID“0”、ポリゴンP6では頂点ID“0”、ポリゴンP10では頂点ID“9”、ポリゴンP16では頂点ID“9”がそれぞれ重複している。このため、ポリゴンP5、P6、P10、P16の情報を頂点構成テーブルから削除する。また、頂点座標テーブルにおいて、頂点座標が記録されていない頂点に関する情報を削除する。この結果、頂点構成テーブルは、図26(a)に示すような状態となる。   Next, polygons with overlapping vertices are deleted. Specifically, in the vertex configuration table, when the vertex IDs of two vertices among the three vertices corresponding to one polygon are the same, the polygon information is deleted from the vertex configuration table. In the example of FIG. 25A, the vertex ID “0” for the polygon P5, the vertex ID “0” for the polygon P6, the vertex ID “9” for the polygon P10, and the vertex ID “9” for the polygon P16 overlap. . For this reason, information on polygons P5, P6, P10, and P16 is deleted from the vertex configuration table. Also, information regarding vertices whose vertex coordinates are not recorded in the vertex coordinate table is deleted. As a result, the vertex configuration table is in a state as shown in FIG.

頂点座標配列データが更新されたら、制御手段10が、削減後の全ポリゴン数が、設定された目標値以下となっているか否かを判定する(ステップS28)。目標値としては、事前に任意の値を設定することができる。判定の結果、全ポリゴン数が目標値以下となっていない場合は、ステップS22に戻って、頂点重複テーブルを再び初期化し、ステップS23において、頂点更新テーブルを再び初期化する。この結果、頂点重複テーブル、頂点更新テーブルは、それぞれ図26(c)、図26(d)に示すような状態となる。頂点重複テーブルと頂点更新テーブルを再初期化した後、ステップS24において、削減後に残っている全てのポリゴンに対して、既に算出されている各ポリゴンの面積および周長を基に、面積と周長の積の最小値を再度算出し、新たに算出された最小値に前記係数αを乗算した所定のしきい値を用いて、削除対象ポリゴン設定手段50が、残っているポリゴンの中から、他のポリゴンを削除対象ポリゴンとして選定する。   When the vertex coordinate array data is updated, the control means 10 determines whether or not the total number of polygons after the reduction is equal to or less than the set target value (step S28). As the target value, an arbitrary value can be set in advance. If it is determined that the total number of polygons is not less than or equal to the target value, the process returns to step S22, the vertex duplication table is reinitialized, and the vertex update table is reinitialized in step S23. As a result, the vertex duplication table and the vertex update table are in a state as shown in FIGS. 26 (c) and 26 (d), respectively. After re-initializing the vertex duplication table and the vertex update table, in step S24, for all remaining polygons after reduction, the area and circumference based on the area and circumference of each polygon already calculated. Using the predetermined threshold value obtained by multiplying the newly calculated minimum value by the coefficient α, the deletion target polygon setting means 50 selects other polygons from the remaining polygons. Are selected as polygons to be deleted.

ステップS28における判定の結果、全ポリゴン数が目標値以下である場合は、ポリゴン削減処理を終了する。図12のフローチャートに従った処理を実行することにより、各グループについて設定された目標値以下になるように、ポリゴン数が削減されることになる。ポリゴンモデルの構造化処理が行われていなければ、削除対象ポリゴンの削除対象辺の2つの補正対象頂点と同一座標となる頂点の探索に大きな処理負荷を要することになる。ポリゴンモデルの構造化処理を行うことにより、処理負荷を大幅に削減することが可能となる。   If the result of determination in step S28 is that the total number of polygons is less than or equal to the target value, the polygon reduction process is terminated. By executing the processing according to the flowchart of FIG. 12, the number of polygons is reduced so as to be equal to or less than the target value set for each group. If the structuring process of the polygon model is not performed, a large processing load is required to search for a vertex having the same coordinates as the two correction target vertices of the deletion target side of the deletion target polygon. By performing the polygon model structuring process, the processing load can be significantly reduced.

図12に示した処理を終えたら、最後に、ポリゴンモデル更新手段90が、頂点座標配列データを更新する。具体的には、頂点座標テーブルを参照して、頂点構成テーブルの各頂点IDを頂点座標に置き換える。図26(d)に示した頂点構成テーブル、図26(b)に示した頂点座標テーブルからは図27に示したような頂点座標配列データが得られることになる。これを図11に示した元の頂点座標配列データと置き換える。この結果、図10、図22に示したポリゴン群は、図28に示すようなポリゴン群に変更されることになる。図10、図22に示したポリゴン群において設定された削除対象ポリゴンP6,P10だけでなく、ポリゴンP5,P16が削除されていることがわかる。これにより、ステップS20のポリゴン削減処理が終了する。   When the processing shown in FIG. 12 is completed, finally, the polygon model update unit 90 updates the vertex coordinate array data. Specifically, referring to the vertex coordinate table, each vertex ID in the vertex configuration table is replaced with the vertex coordinate. From the vertex configuration table shown in FIG. 26 (d) and the vertex coordinate table shown in FIG. 26 (b), vertex coordinate array data as shown in FIG. 27 is obtained. This is replaced with the original vertex coordinate array data shown in FIG. As a result, the polygon group shown in FIGS. 10 and 22 is changed to a polygon group as shown in FIG. It can be seen that not only the deletion target polygons P6 and P10 set in the polygon group shown in FIGS. 10 and 22, but also the polygons P5 and P16 are deleted. Thereby, the polygon reduction process of step S20 is complete | finished.

<2.5.小体積グループ削除処理>
次に、ステップS40におけるグループ合成手段100による隔離された小体積グループの削除処理について説明する。ここで、隔離された小体積グループの削除処理の説明に先立ち、隔離された小体積グループの削除処理を行う理由について説明しておく。図29は、ポリゴン削減処理により生じる問題を説明するための図である。図29(a)は、ステップS10のグループ分類処理を終えた直後の2グループのポリゴン群を示している。図29(a)の例では、頂点D、E、Kを含む左側のグループと、頂点D’、E’、K’を含む右側のグループが存在する。頂点DとD’、頂点EとE’、頂点KとK’がそれぞれ3Dプリンタの解像度以下である場合、この2グループのポリゴン群を3Dプリンタで出力すると、頂点DとD’、頂点EとE’、頂点KとK’は樹脂等により連結され、2グループは連結した物体として出力される。すなわち、2グループは物理的には接着されている。
<2.5. Small volume group deletion processing>
Next, the process of deleting the isolated small volume group by the group combining unit 100 in step S40 will be described. Here, prior to the description of the processing for deleting the isolated small volume group, the reason for performing the processing for deleting the isolated small volume group will be described. FIG. 29 is a diagram for explaining a problem caused by the polygon reduction process. FIG. 29A shows two groups of polygons immediately after the group classification process in step S10 is completed. In the example of FIG. 29A, there are a left group including vertices D, E, and K and a right group including vertices D ′, E ′, and K ′. If the vertices D and D ′, the vertices E and E ′, and the vertices K and K ′ are less than the resolution of the 3D printer, respectively, when these two groups of polygons are output by the 3D printer, the vertices D and D ′, E ′, vertices K and K ′ are connected by resin or the like, and the two groups are output as connected objects. That is, the two groups are physically bonded.

図29(a)に示した右側のグループのポリゴン群に対して、ステップS20におけるポリゴン削減処理を実行すると、図29(b)に示すように、ポリゴンE’FK’が削除対象ポリゴンとして選定される。さらに、図29(c)に示すように、削除対象ポリゴンE’FK’の最短稜線E’Fが削除対象辺として選定され、辺E’Fの中点Oが算出される。そして、図29(d)に示すように、削除対象ポリゴンE’FK’と、削除頂点共有ポリゴンD’E’Fが削除される。   When the polygon reduction process in step S20 is executed for the right-side group of polygons shown in FIG. 29A, polygon E'FK 'is selected as the deletion target polygon as shown in FIG. 29B. The Further, as shown in FIG. 29C, the shortest edge E'F of the deletion target polygon E'FK 'is selected as the deletion target side, and the midpoint O of the side E'F is calculated. Then, as shown in FIG. 29 (d), the deletion target polygon E'FK 'and the deletion vertex sharing polygon D'E'F are deleted.

図29(a)と図29(d)を比較するとわかるように、左右の2つのグループは、ポリゴン削減処理前に比べて、ポリゴン削減処理後には、より離れてしまっている。図29(d)に示した2グループの距離が、3Dプリンタの解像度を超えると、2グループのポリゴン群を3Dプリンタで出力した場合、2グループは別の物体として出力される。2つのグループがともに大きな物体となれば、問題はない。しかし、一つが非常に小さな物体となる場合、例えば、一方のグループが本体であって、他方のグループが本体に付属するヒゲのようなものである場合、本体と別に出力されたヒゲは、3Dプリンタ内に紛れ込み、機械詰まり等の問題を引き起こす恐れがある。このような問題を除去するため、上述のヒゲのような隔離された小体積グループの削除処理を行うのである。   As can be seen by comparing FIG. 29A and FIG. 29D, the two groups on the left and right sides are further separated after the polygon reduction process than before the polygon reduction process. When the distance between the two groups shown in FIG. 29D exceeds the resolution of the 3D printer, when the two groups of polygons are output by the 3D printer, the two groups are output as different objects. If the two groups are both large objects, there is no problem. However, when one becomes a very small object, for example, when one group is a main body and the other group is like a beard attached to the main body, the whiskers output separately from the main body are 3D. There is a risk that it may get into the printer and cause problems such as machine clogging. In order to eliminate such a problem, an isolated small volume group such as the above-mentioned beard is deleted.

図30は、グループ合成手段100による隔離された小体積グループの削除処理(ステップS40)の詳細を示すフローチャートである。グループ合成手段100は、まず、グループごとに全ポリゴンの全頂点を対象として、X、Y、Zぞれぞれの方向の最大値および最小値を算出する(ステップS41)。この結果、グループgに対して、最小値Xmin(g)、最大値Xmax(g)、最小値Ymin(g)、最大値Ymax(g)、最小値Zmin(g)、最大値Zmax(g)が得られる。次に、グループ合成手段100は、グループごとに外接直方体の体積を算出する(ステップS42)。具体的には、以下の〔数式3〕に従った処理を実行することにより、グループgの外接直方体の体積V(g)を算出する。   FIG. 30 is a flowchart showing details of the processing for deleting the isolated small volume group (step S40) by the group combining means 100. First, the group synthesizing unit 100 calculates the maximum value and the minimum value in the X, Y, and Z directions for all the vertices of all the polygons for each group (step S41). As a result, for group g, minimum value Xmin (g), maximum value Xmax (g), minimum value Ymin (g), maximum value Ymax (g), minimum value Zmin (g), maximum value Zmax (g) Is obtained. Next, the group synthesizing unit 100 calculates the volume of the circumscribed cuboid for each group (step S42). Specifically, the volume V (g) of the circumscribed cuboid of the group g is calculated by executing the processing according to the following [Equation 3].

〔数式3〕
V(g)=(Xmax(g)−Xmin(g))×(Ymax(g)−Ymin(g))×(Zmax(g)−Zmin(g))
[Formula 3]
V (g) = (Xmax (g) −Xmin (g)) × (Ymax (g) −Ymin (g)) × (Zmax (g) −Zmin (g))

グループ合成手段100は、全グループに対してステップS41、S42の処理を実行する。これにより、全グループについて、外接直方体の体積が得られる。次に、グループ合成手段100は、全グループの中で外接直方体の体積が最小となるグループを特定する(ステップS43)。そして、グループ合成手段100は、特定したグループと他の全てのグループとの最小間隔を算出する(ステップS44)。ステップS44における最小間隔の算出処理の詳細については後述する。   The group synthesizing unit 100 executes the processes of steps S41 and S42 for all groups. Thereby, the volume of a circumscribed rectangular parallelepiped is obtained for all groups. Next, the group synthesizing unit 100 identifies a group in which the volume of the circumscribed rectangular parallelepiped is the smallest among all the groups (Step S43). Then, the group synthesizing unit 100 calculates the minimum interval between the identified group and all other groups (step S44). Details of the minimum interval calculation process in step S44 will be described later.

続いて、グループ合成手段100は、ステップS44において算出された最小間隔が所定のしきい値以上か否かを判定する(ステップS45)。最小間隔と比較するための所定のしきい値としては、3Dプリンタ出力時に0.2mmに相当する数値とすることが好ましい。判定の結果、最小間隔が所定のしきい値以上である場合は、体積最小のグループが、最も近いグループとも所定の距離以上離れていることになるので、グループ合成手段100は、体積最小のグループを削除する処理を行う(ステップS46)。ステップS45における判定の結果、最小間隔が所定のしきい値未満である場合は、体積最小のグループが、最も近いグループと3Dプリンタの解像度以下に近接していることになるので、グループ合成手段100は、体積最小のグループを削除する処理を行わない。   Subsequently, the group synthesizing unit 100 determines whether or not the minimum interval calculated in step S44 is greater than or equal to a predetermined threshold value (step S45). The predetermined threshold for comparison with the minimum interval is preferably a numerical value corresponding to 0.2 mm at the time of 3D printer output. As a result of the determination, when the minimum interval is equal to or greater than a predetermined threshold, the group with the smallest volume is separated from the nearest group by a predetermined distance or more. Is deleted (step S46). If the result of determination in step S45 is that the minimum interval is less than the predetermined threshold, the group with the smallest volume is close to the closest group and below the resolution of the 3D printer. Does not perform the process of deleting the smallest volume group.

ステップS46におけるグループの削除を行った場合、削除を行わなかった場合のいずれにおいても、そのグループについては処理済みとする。そして、ステップS43に戻って、未処理のグループの中で外接直方体の体積が最小となるグループを特定する。ステップS43〜ステップS46の処理を繰り返し、全てのグループに対する処理を終えたら、隔離された小体積グループの削除処理を終了する。   When the group is deleted in step S46, the group is processed in any case where the deletion is not performed. And it returns to step S43 and specifies the group from which the volume of a circumscribed rectangular parallelepiped becomes the smallest among unprocessed groups. When the processing of step S43 to step S46 is repeated and the processing for all the groups is completed, the processing for deleting the isolated small volume group is ended.

ステップS44における最小間隔の算出処理の詳細について説明する。図31は、図30のステップS44における最小間隔の算出処理の詳細を示すフローチャートである。グループ合成手段100は、初期値として、最小間隔を示す変数dminに所定以上の値を設定する。dminに与える初期値としては、グループ間の最小間隔としてあり得ない大きな値を設定しておけばよい。そして、グループ合成手段100は、全グループの中から、グループgより体積が大きい1つのグループhを抽出する(ステップS47)。この結果、グループhについて、最小値Xmin(h)、最大値Xmax(h)、最小値Ymin(h)、最大値Ymax(h)、最小値Zmin(h)、最大値Zmax(h)が得られる。次に、グループ合成手段100は、X、Y、Zの各方向別に2グループ間の差分の最小値を算出する(ステップS48)。具体的には、以下の〔数式4〕に従った処理を実行することにより、X方向の差分の最小値dx、Y方向の差分の最小値dy、Z方向の差分の最小値dzを算出する。   Details of the minimum interval calculation processing in step S44 will be described. FIG. 31 is a flowchart showing details of the minimum interval calculation processing in step S44 of FIG. The group synthesizing unit 100 sets a predetermined value or more as a variable dmin indicating the minimum interval as an initial value. As an initial value given to dmin, a large value that cannot be set as a minimum interval between groups may be set. Then, the group synthesizing unit 100 extracts one group h having a volume larger than the group g from all the groups (Step S47). As a result, the minimum value Xmin (h), the maximum value Xmax (h), the minimum value Ymin (h), the maximum value Ymax (h), the minimum value Zmin (h), and the maximum value Zmax (h) are obtained for the group h. It is done. Next, the group synthesizing unit 100 calculates the minimum difference between the two groups for each of the X, Y, and Z directions (step S48). Specifically, the minimum value dx in the X direction difference, the minimum value dy in the Y direction difference, and the minimum value dz in the Z direction difference are calculated by executing processing according to the following [Equation 4]. .

〔数式4〕
dx=Min{|Xmax(g)−Xmin(h)|,|Xmin(g)−Xmax(h)|}
dy=Min{|Ymax(g)−Ymin(h)|,|Ymin(g)−Ymax(h)|}
dz=Min{|Zmax(g)−Zmin(h)|,|Zmin(g)−Zmax(h)|}
[Formula 4]
dx = Min {| Xmax (g) -Xmin (h) |, | Xmin (g) -Xmax (h) |}
dy = Min {| Ymax (g) -Ymin (h) |, | Ymin (g) -Ymax (h) |}
dz = Min {| Zmax (g) -Zmin (h) |, | Zmin (g) -Zmax (h) |}

続いて、グループ合成手段100は、算出された方向別最小値のうち最大のものをグループ間最小値とし、グループ間最小値を、既に処理済みの他のグループ間における全グループ間最小値と比較し、小さい方を全グループ間最小値とする処理を行う(ステップS49)。具体的には、ステップS48において算出された3つの方向別最小値dx、dy、dzのうち、最大の値をとるグループ間最小値Max(dx、dy、dz)とdminを比較し、Max(dx、dy、dz)<dminの場合、dmin=Max(dx、dy、dz)とする。これにより、dminには、グループ間最小値の中で最小の値となる全グループ間最小値が記録されることになる。   Subsequently, the group synthesizing unit 100 sets the maximum one of the calculated minimum values for each direction as the minimum value between groups, and compares the minimum value between groups with the minimum value between all groups among other already processed groups. Then, the process of setting the smaller one as the minimum value between all groups is performed (step S49). Specifically, among the three direction-specific minimum values dx, dy, and dz calculated in step S48, the inter-group minimum value Max (dx, dy, dz) that takes the maximum value is compared with dmin, and Max ( When dx, dy, dz) <dmin, dmin = Max (dx, dy, dz). As a result, the minimum value between all groups, which is the minimum value among the minimum values between groups, is recorded in dmin.

ステップS47、S48、S49の処理を繰り返して実行し、グループgより体積が大きい全てのグループに対する処理を終えたら、図31に示した最小間隔の算出処理を終了し、図30のステップS45に進んで、最小間隔dminとしきい値との比較を行うことになる。   When the processes of steps S47, S48, and S49 are repeatedly executed and the processes for all the groups having a volume larger than the group g are completed, the minimum interval calculation process illustrated in FIG. 31 is terminated, and the process proceeds to step S45 of FIG. Thus, the minimum interval dmin is compared with the threshold value.

<2.6.ポリゴンモデルの合成>
図9の処理概要に示したように、ステップS50においては、グループ合成手段100が、全グループのポリゴンモデルの合成を行って更新された領域別ポリゴンモデルを得る。また、ステップS70においては、ポリゴンモデル合成手段110が、全領域の領域別ポリゴンモデルの合成を行って合成ポリゴンモデルを得る。いずれの合成処理も、ヘッダ部を除く領域別ポリゴンモデルを単純に結合し、ヘッダ部に合算されたポリゴン数を記録することにより行われる(ただし、これはバイナリ形式のSTLフォーマットの場合で、ASCII形式のSTLフォーマットではヘッダ部を除く領域別ポリゴンモデルを単純に結合するだけである)。合成ポリゴンモデル記憶手段130に記憶された合成ポリゴンモデルを3Dプリンタ7に出力することにより、3Dプリンタ7は効率的に立体物を造形することができる。造形された立体物については、ほとんど劣化は見られなかった。
<2.6. Synthesis of polygon model>
As shown in the processing outline of FIG. 9, in step S50, the group synthesizing unit 100 synthesizes the polygon models of all groups to obtain an updated polygon model for each region. In step S70, the polygon model synthesizing unit 110 synthesizes the polygon model for each region of the entire area to obtain a synthesized polygon model. All the synthesis processes are performed by simply combining the polygon models for each area excluding the header part and recording the total number of polygons in the header part (however, this is the case of the binary STL format and ASCII). In the STL format, the polygon model for each area excluding the header is simply combined). By outputting the synthesized polygon model stored in the synthesized polygon model storage unit 130 to the 3D printer 7, the 3D printer 7 can efficiently form a three-dimensional object. For the three-dimensional object that was shaped, there was almost no deterioration.

<3.変形例等>
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、処理対象のポリゴンを三角形としたが、四角形以上の多角形であってもよい。
<3. Modified example>
The preferred embodiments of the present invention have been described above. However, the present invention is not limited to the above embodiments, and various modifications can be made. For example, in the above embodiment, the processing target polygon is a triangle, but it may be a quadrilateral or more.

また、上記実施形態では、ポリゴンに対して面積と周長を算出し、面積と周長の積が所定のしきい値未満となるポリゴンを削除対象ポリゴンとして選定するようにしたが、面積が所定のしきい値未満となるポリゴンを削除対象ポリゴンとして選定するようにしてもよい。この場合、所定のしきい値としては、面積の最小値に所定の係数を乗算した値を用いることができ、所定の係数としては、1以上の値をとる係数αを用いることができる。係数αは、1.5≦α≦2.5の範囲であることが好ましい。   Further, in the above embodiment, the area and perimeter are calculated for the polygon, and the polygon whose product of the area and perimeter is less than a predetermined threshold is selected as the polygon to be deleted. A polygon that is less than the threshold value may be selected as a deletion target polygon. In this case, a value obtained by multiplying the minimum value of the area by a predetermined coefficient can be used as the predetermined threshold value, and a coefficient α having a value of 1 or more can be used as the predetermined coefficient. The coefficient α is preferably in the range of 1.5 ≦ α ≦ 2.5.

また、上記実施形態では、複数のグループの更新されたポリゴンモデルに対して、外接直方体の体積が所定のしきい値未満であるものを削除するようにしたが、削除しないようにすることも可能である。   In the above embodiment, the polygon model whose volume is less than the predetermined threshold is deleted from the updated polygon models of a plurality of groups. However, it is possible not to delete the polygon model. It is.

1・・・CPU(Central Processing Unit)
2・・・RAM(Random Access Memory)
3・・・記憶装置
4・・・キー入力I/F
5・・・データ入出力I/F
6・・・表示部
7・・・3Dプリンタ(立体物造形装置)
7a・・・データ処理部
7b・・・出力部
10・・・制御手段
20・・・グループ分類手段
30・・・ポリゴンモデル構造化手段
40・・・テーブル定義手段
50・・・削除対象ポリゴン設定手段
60・・・頂点座標テーブル更新手段
70・・・頂点重複テーブル更新手段
75・・・頂点更新テーブル更新手段
80・・・頂点構成テーブル更新手段
90・・・ポリゴンモデル更新手段
100・・・グループ合成手段
110・・・ポリゴンモデル合成手段
120・・・領域別ポリゴンモデル記憶手段
130・・・合成ポリゴンモデル記憶手段
200・・・立体物造形用データ削減装置
1 ... CPU (Central Processing Unit)
2 ... RAM (Random Access Memory)
3 ... Storage device 4 ... Key input I / F
5. Data input / output I / F
6 ... Display unit 7 ... 3D printer (three-dimensional object modeling device)
7a ... Data processing unit 7b ... Output unit 10 ... Control unit 20 ... Group classification unit 30 ... Polygon model structuring unit 40 ... Table definition unit 50 ... Deletion target polygon setting Means 60: Vertex coordinate table update means 70: Vertex overlap table update means 75 ... Vertex update table update means 80 ... Vertex configuration table update means 90 ... Polygon model update means 100 ... Group Combining means 110... Polygon model synthesizing means 120... Polygon model storing means for each region 130... Synthetic polygon model storing means 200.

Claims (8)

ポリゴンの集合として表現されたポリゴンモデルのデータを、立体物の造形のために削減する装置であって、
前記ポリゴンモデルを構成する各ポリゴンの各頂点に対して、同一の座標値をもつ異なるポリゴンの頂点を探索し、取得された一連の頂点に対して同一の頂点IDを付与することにより、各ポリゴンに含まれる各頂点を、同一座標の頂点を同一値とする頂点IDで表現し、各頂点を含むポリゴンと対応付けて記録した頂点構成テーブルと、前記頂点構成テーブルに付与された頂点IDと座標値を対応付けて記録した頂点座標テーブルと、を作成するポリゴンモデル構造化手段と、
前記頂点座標テーブルに記録されている頂点と同一座標となる重複先の頂点との対応関係を記録する頂点重複テーブルを定義するテーブル定義手段と、
前記頂点構成テーブルに記録されているポリゴンに対して、面積と周長の積、面積のいずれかが所定のしきい値以下で、全ての頂点が既に削除対象に設定された全てのポリゴンの削除対象稜線の2頂点と共有しないポリゴンを削除対象ポリゴンとして順次設定し、更に各々設定されたポリゴンより削除対象稜線を選定する削除対象ポリゴン設定手段と、
前記頂点構成テーブルを参照して前記削除対象ポリゴン設定手段にて設定された全てのポリゴンの削除対象稜線の2端点を削除対象頂点とし、前記削除対象頂点を基に前記頂点座標テーブルを参照して2つの前記削除対象頂点の平均点を求め、前記削除対象頂点の1つを代表頂点とし、前記代表頂点以外の前記削除対象頂点の情報を頂点座標テーブルから削除するとともに、前記代表頂点の頂点IDに、前記平均点の座標値を対応付けて記録する頂点座標テーブル更新手段と、
前記頂点重複テーブルにおいて、前記代表頂点以外の前記削除対象頂点の重複先を前記代表頂点に設定する頂点重複テーブル更新手段と、
前記頂点構成テーブルの各頂点IDの値を、前記頂点重複テーブルに設定された重複先に変更し、変更された結果、同一のポリゴンに対応する頂点IDが2つ以上重複する場合、当該ポリゴンを前記頂点構成テーブルより削除する頂点構成テーブル更新手段と、
前記頂点構成テーブル更新手段により更新された頂点構成テーブルの各頂点IDを前記頂点座標テーブル更新手段により更新された頂点座標テーブルを参照しながら座標値に置換することにより、ポリゴンモデルを更新するポリゴンモデル更新手段と、
を有することを特徴とする立体物造形用データ削減装置。
A device for reducing polygon model data expressed as a collection of polygons for modeling a three-dimensional object,
By searching for the vertices of different polygons having the same coordinate value for each vertex of each polygon constituting the polygon model, and assigning the same vertex ID to the obtained series of vertices, each polygon Each vertex included in the vertex is expressed by a vertex ID having the same value as the vertex of the same coordinate, and recorded in association with a polygon including each vertex, and the vertex ID and the coordinate assigned to the vertex configuration table A vertex coordinate table in which values are recorded in association with each other; a polygon model structuring means for creating;
A table defining means for defining a vertex duplication table for recording a correspondence relationship between a vertex recorded in the vertex coordinate table and a duplication destination vertex having the same coordinates;
Deletion of all polygons for which all of the vertices have already been set as deletion targets for the polygons recorded in the vertex configuration table, where either the product of the area, circumference, or area is less than or equal to a predetermined threshold Polygons that are not shared with the two vertices of the target ridge line are sequentially set as deletion target polygons, and further, a deletion target polygon setting means for selecting a deletion target ridge line from each set polygon,
With reference to the vertex configuration table, the two end points of the deletion target ridge line of all the polygons set by the deletion target polygon setting means are set as deletion target vertices, and the vertex coordinate table is referenced based on the deletion target vertices. An average point of the two deletion target vertices is obtained, one of the deletion target vertices is set as a representative vertex, information on the deletion target vertices other than the representative vertex is deleted from the vertex coordinate table, and the vertex ID of the representative vertex A vertex coordinate table updating means for recording the coordinate value of the average point in association with each other,
In the vertex duplication table, vertex duplication table update means for setting the duplication destination of the deletion target vertex other than the representative vertex to the representative vertex;
When the value of each vertex ID in the vertex configuration table is changed to the duplication destination set in the vertex duplication table and, as a result of the change, if two or more vertex IDs corresponding to the same polygon overlap, Vertex configuration table updating means for deleting from the vertex configuration table;
A polygon model that updates a polygon model by replacing each vertex ID of the vertex configuration table updated by the vertex configuration table update means with a coordinate value while referring to the vertex coordinate table updated by the vertex coordinate table update means Update means;
A three-dimensional object shaping data reduction device characterized by comprising:
前記ポリゴンモデル更新手段により更新されたポリゴンモデルを構成するポリゴン数が所定の目標値より大きい場合、前記削除対象ポリゴン設定手段、前記頂点座標テーブル更新手段、前記頂点重複テーブル更新手段、前記頂点構成テーブル更新手段、前記ポリゴンモデル更新手段に対して繰り返して処理を実行させる制御を行う制御手段と、
を更に備えることを特徴とする請求項1に記載の立体物造形用データ削減装置。
When the number of polygons constituting the polygon model updated by the polygon model updating unit is larger than a predetermined target value, the deletion target polygon setting unit, the vertex coordinate table updating unit, the vertex duplication table updating unit, the vertex configuration table Update means, control means for performing control to repeatedly execute the process on the polygon model update means,
The three-dimensional object modeling data reduction device according to claim 1, further comprising:
更に頂点更新テーブル更新手段を備え、
前記テーブル定義手段は、前記頂点座標テーブルに記録されている頂点が、前記削除対象頂点に設定されたことを記録する頂点更新テーブルを更に定義し、
前記削除対象ポリゴン設定手段は、前記頂点更新テーブルを参照して、前記削除対象頂点に設定されたことが記録されていないものを、前記全てのポリゴンの削除対象稜線の2頂点と共有しないポリゴンとし、
前記頂点更新テーブル更新手段は、前記頂点重複テーブルにおける頂点について更新が行われた場合に、頂点更新テーブルの当該頂点を削除対象頂点に設定することを特徴とする請求項1または請求項2に記載の立体物造形用データ削減装置。
Furthermore, a vertex update table update means is provided,
The table defining means further defines a vertex update table for recording that the vertex recorded in the vertex coordinate table is set as the deletion target vertex;
The deletion target polygon setting means refers to the vertex update table, and designates a polygon that is not recorded as being set as the deletion target vertex as a polygon that is not shared with two vertices of the deletion target ridge line of all the polygons. ,
The said vertex update table update means sets the said vertex of a vertex update table to a deletion object vertex, when the update about the vertex in the said vertex duplication table is performed, The Claim 1 or Claim 2 characterized by the above-mentioned. 3D object modeling data reduction device.
前記削除対象ポリゴン設定手段は、
前記頂点構成テーブルに記録されている全てのポリゴンに対して面積を算出し、面積の最小値に所定の1以上の値を乗算した値を前記所定のしきい値に設定するようにしていることを特徴とする請求項1から請求項3のいずれか一項に記載の立体物造形用データ削減装置。
The deletion target polygon setting means includes:
The area is calculated for all the polygons recorded in the vertex configuration table, and a value obtained by multiplying the minimum value of the area by a predetermined value of 1 or more is set as the predetermined threshold value. The data reduction apparatus for three-dimensional object formation as described in any one of Claims 1-3 characterized by these.
前記削除対象ポリゴン設定手段は、
前記頂点構成テーブルに記録されている全てのポリゴンに対して面積と周長を算出し、面積と周長の積の最小値に所定の1以上の値を乗算した値を前記所定のしきい値に設定するようにていることを特徴とする請求項1から請求項3のいずれか一項に記載の立体物造形用データ削減装置。
The deletion target polygon setting means includes:
Areas and perimeters are calculated for all polygons recorded in the vertex configuration table, and a value obtained by multiplying the minimum value of the product of the area and perimeter by a predetermined value of 1 or more is the predetermined threshold value. The data reduction apparatus for three-dimensional object formation according to any one of claims 1 to 3, wherein the three-dimensional object formation data reduction device is set.
前記削除対象ポリゴン設定手段は、削除対象に設定されたポリゴンより削除対象稜線を選定するにあたり、最短の稜線を選定するようにしていることを特徴とする請求項1から請求項5のいずれか一項に記載の立体物造形用データ削減装置。   6. The deletion target polygon setting means selects a shortest ridge line when selecting a deletion target ridge line from polygons set as a deletion target. The data reduction apparatus for three-dimensional object modeling described in the item. 請求項1から請求項6のいずれか一項に記載の立体物造形用データ削減装置と、
前記立体物造形用データ削減装置から出力されたポリゴンモデルを用いて立体物を造形する立体物造形装置と、
を有することを特徴とする立体物造形システム。
A three-dimensional object shaping data reduction device according to any one of claims 1 to 6,
A three-dimensional object modeling apparatus that models a three-dimensional object using the polygon model output from the three-dimensional object modeling data reduction apparatus;
A three-dimensional object forming system characterized by comprising:
コンピュータを、請求項1から請求項6のいずれか一項に記載の立体物造形用データ削減装置として機能させるためのプログラム。   A program for causing a computer to function as the three-dimensional object formation data reduction device according to any one of claims 1 to 6.
JP2015169803A 2015-08-28 2015-08-28 Data reduction device for 3D object modeling Active JP6565494B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015169803A JP6565494B2 (en) 2015-08-28 2015-08-28 Data reduction device for 3D object modeling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015169803A JP6565494B2 (en) 2015-08-28 2015-08-28 Data reduction device for 3D object modeling

Publications (2)

Publication Number Publication Date
JP2017045428A JP2017045428A (en) 2017-03-02
JP6565494B2 true JP6565494B2 (en) 2019-08-28

Family

ID=58211467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015169803A Active JP6565494B2 (en) 2015-08-28 2015-08-28 Data reduction device for 3D object modeling

Country Status (1)

Country Link
JP (1) JP6565494B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10706611B2 (en) * 2018-06-15 2020-07-07 Beijing Jingdong Shangke Information Technology Co., Ltd. Three-dimensional representation by multi-scale voxel hashing
CN117113478A (en) * 2023-07-28 2023-11-24 中水淮河规划设计研究有限公司 BIM model light weight method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3638224B2 (en) * 1999-02-23 2005-04-13 富士通株式会社 3D polygon display device
JP4501479B2 (en) * 2004-03-18 2010-07-14 カシオ計算機株式会社 Polygon model simplification method, image processing apparatus, image drawing apparatus, and program

Also Published As

Publication number Publication date
JP2017045428A (en) 2017-03-02

Similar Documents

Publication Publication Date Title
US5278983A (en) Boundary representation solid modeling system
JP6569389B2 (en) Polygon model structuring device and three-dimensional object shaping data reduction device
CN108352082B (en) Techniques to crowd 3D objects into a plane
JP2010017421A (en) Method for creating living body data model and its device and data structure of living body data model, and data storing device of living body data model and method for dispersing load of three-dimensional data model and its device
CN116051708A (en) Three-dimensional scene lightweight model rendering method, equipment, device and storage medium
Shabat et al. Design of porous micro-structures using curvature analysis for additive-manufacturing
CN108597038B (en) Three-dimensional surface modeling method and device and computer storage medium
JP2014064957A (en) Organism data model creation method and device, data structure of organism data model, data storage device of organism data model, and load sharing method and device for three-dimensional data model
JP6565494B2 (en) Data reduction device for 3D object modeling
CN110751733A (en) Method and apparatus for converting 3D scanned object into avatar
CN114782645B (en) Virtual digital person making method, related equipment and readable storage medium
US9495798B2 (en) Method and device for producing a finite element model
US11955246B2 (en) Unified anisotropic volume and surface mesh storage
JP6613727B2 (en) Data reduction device for 3D object modeling
JP2016099648A (en) Data reduction device for three-dimensional object molding
JPH0623989B2 (en) Boundary Representation Solid Modeling System
CN109872386B (en) STL model-based product physical property modeling method for accurate voxelization
JP2015158778A (en) Solid molding data optimization device
JP6565495B2 (en) Data separation device for three-dimensional object modeling
JP2012245374A (en) Biological data model creating method and device therefor, data structure of biological data model and data storage device for biological data model, and load distribution method for three dimensional data model and device therefor
Bærentzen Volume sculpting: intuitive, interactive 3D shape modelling
JP2003228725A (en) 3d image processing system
CN115087983A (en) Method and system for hybrid modeling using geometric patches
JP2002024298A (en) Three-dimensional shape processor, three-dimensional shape displaying method, and storage medium stored with program for implementing the same method
JP2016099841A (en) Data reduction device for three-dimensional object molding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180625

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190621

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: 20190702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190715

R150 Certificate of patent or registration of utility model

Ref document number: 6565494

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150