JP2820894B2 - Convex polyhedron generator for interference check system - Google Patents

Convex polyhedron generator for interference check system

Info

Publication number
JP2820894B2
JP2820894B2 JP6209007A JP20900794A JP2820894B2 JP 2820894 B2 JP2820894 B2 JP 2820894B2 JP 6209007 A JP6209007 A JP 6209007A JP 20900794 A JP20900794 A JP 20900794A JP 2820894 B2 JP2820894 B2 JP 2820894B2
Authority
JP
Japan
Prior art keywords
convex
polygon
subset
polyhedron
subsets
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.)
Expired - Fee Related
Application number
JP6209007A
Other languages
Japanese (ja)
Other versions
JPH0877210A (en
Inventor
裕一 佐藤
光徳 平田
次人 丸山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6209007A priority Critical patent/JP2820894B2/en
Publication of JPH0877210A publication Critical patent/JPH0877210A/en
Priority to US08/710,550 priority patent/US5675720A/en
Application granted granted Critical
Publication of JP2820894B2 publication Critical patent/JP2820894B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は非凸多面体と他の物体と
の干渉チェックを行なう干渉チェックシステムにおける
凸多面体作成装置に係わり、特に非凸多面体を構成する
ポリゴン集合を凸関係にある複数のポリゴン部分集合に
分割して凸多面体を生成する凸多面体作成装置に関す
る。更に詳細には、本発明は、グラフィックワークステ
ーション等に構築された任意の三次元CADモデルに対
して、そのモデルの各領域における凹凸を判定すること
により、初期のモデルを有限個の凸物体の集合に自動的
に分解する凸多面体作成装置に係り、三次元CADモデ
ル間の干渉状態を高速にチェックするリアルタイム干渉
チェックシステムの実現に必要な凸多面体の生成技術に
関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an interference check system for checking interference between a non-convex polyhedron and another object .
The present invention relates to a convex polyhedron creating apparatus , and more particularly to a convex polyhedron creating apparatus that divides a polygon set constituting a non-convex polyhedron into a plurality of polygon subsets having a convex relationship to generate a convex polyhedron . More specifically, the present invention determines an unevenness in each region of an arbitrary three-dimensional CAD model constructed in a graphic workstation or the like, thereby converting an initial model into a finite number of convex objects. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a convex polyhedron creating apparatus that automatically decomposes into sets, and relates to a technique for generating a convex polyhedron necessary for realizing a real-time interference check system that rapidly checks an interference state between three-dimensional CAD models.

【0002】[0002]

【従来の技術】三次元CADモデル間の干渉状態を高速
にチェックするリアルタイム干渉チェックシステムにお
いて、従来から知られている干渉チェック方法は、いず
れも対象を凸物体に限定していた。例えばリアルタイム
性を有する干渉チェック方法として、Boblow法(A Dir
ect Minimization Approach for Obtaining the Distan
ce between Convex Polyhedra. , The International J
ournal of Robotics Research, Vol.8, No.3, pp.65-7
6)、Lin/Carry法(A Fast Algorithm for Incremental
Distance Calculation., Proceeedings of the 1991 I
EEE InternationalConference on Robotics and Automa
tion, pp.1008-1014, 1991)、Gilbert法(A Fast Proc
edure for Computing the Distance Between Complex O
bjects inThree-Dimensional Space., IEEE Journal of
Robotics and Automation, Vol.4, No.2, pp.193-203,
1988)がある。これらの方法は、いずれも計算負荷がO
(N)(0( )は計算負荷を表す関数、Nは対象の総格子点数
である)以下の計算時間で最接近点を算出することがで
きる。しかしながら、これらの方法を適用できる対象は
いずれも凸多面体に限られている。
2. Description of the Related Art In a real-time interference check system for checking the interference state between three-dimensional CAD models at a high speed, the hitherto known interference check methods limit the object to a convex object. For example, the Boblow method (A Dir
ect Minimization Approach for Obtaining the Distan
ce between Convex Polyhedra., The International J
ournal of Robotics Research, Vol.8, No.3, pp.65-7
6), Lin / Carry method (A Fast Algorithm for Incremental
Distance Calculation., Proceeedings of the 1991 I
EEE InternationalConference on Robotics and Automa
tion, pp. 1008-1014, 1991), Gilbert method (A Fast Proc
edure for Computing the Distance Between Complex O
bjects inThree-Dimensional Space., IEEE Journal of
Robotics and Automation, Vol.4, No.2, pp.193-203,
1988). Each of these methods has a computational load of O
The closest approach point can be calculated in a calculation time equal to or less than (N) (0 () is a function representing a calculation load, and N is the total number of grid points of the object). However, objects to which these methods can be applied are all limited to convex polyhedrons.

【0003】一方、Pro/Engineer等の市販の三次元CA
Dシステムを使って設計される形状データは、ほとんど
の場合が非凸物体である。そのため、部品間の干渉チェ
ックを行なうのに、Boblow法やLin/Carry法、Gilbert法
等のリアルタイム性を有する干渉チェック方法を適用で
きず、もっぱら、部品を構成しているポリゴン間に間し
て総当たり的に干渉チェックを行なう方法や形状を定義
する方程式を解析的に時間を掛けて解く方法が取られて
いた。
On the other hand, commercially available three-dimensional CA such as Pro / Engineer
In most cases, the shape data designed using the D system is a non-convex object. Therefore, real-time interference check methods such as the Boblow method, Lin / Carry method, and Gilbert method cannot be applied to perform interference check between parts. A method of performing a brute force interference check and a method of solving an equation defining a shape by taking time analytically have been adopted.

【0004】[0004]

【発明が解決しようとする課題】以上のように、従来
は、非凸多面体と他の物体間の干渉チェックを高速に行
なえない問題があった。又、従来は、非凸多面体と他の
物体間の干渉チェックに際してGilbert法等のリアルタ
イム性を有する干渉チェック方法を適用できない問題が
あった。以上から、本発明の第1の目的は、非凸多面体
を構成するポリゴン集合を凸の関係にある複数ポリゴン
部分集合に分解して凸多面体を生成する干渉チェックシ
ステムにおける凸多面体作成装置を提供することであ
る。本発明の第2の目的は、高速に非凸多面体と他の物
体間の干渉チェックを行なえるようにすることである。
本発明の第3の目的は、凸多面体間の干渉チェックに際
して、リアルタイム性を有するGilbert法等の干渉チェ
ック方法を適用できるようにすることである。
As described above, conventionally, there has been a problem that interference check between the non-convex polyhedron and another object cannot be performed at high speed. Conventionally, there has been a problem that an interference check method having a real-time property, such as the Gilbert method, cannot be applied to an interference check between a non-convex polyhedron and another object. Accordingly, a first object of the present invention is to provide an interference check system for generating a convex polyhedron by decomposing a polygon set constituting a non-convex polyhedron into a plurality of polygon subsets having a convex relationship.
An object of the present invention is to provide a convex polyhedron forming apparatus for a stem . A second object of the present invention is to enable high-speed interference check between a non-convex polyhedron and another object .
A third object of the present invention is to make it possible to apply an interference check method, such as the Gilbert method, having real-time properties when checking interference between convex polyhedrons .

【0005】[0005]

【課題を解決するための手段】図1は本発明の原理説明
図である。1は非凸多面体を構成するポリゴンの集合、
2はポリゴン集合を第1、第2の2つのグループに分割
する手段、3a,3bは分割された第1、第2のポリゴ
ン集合、4a,4bは第1、第2グループにおいて、凸
関係にあるポリゴン部分集合にグループ化する手段、5
は第1、第2グループの凸関係にあるポリゴン部分集合
を併合(マージング)するマージング手段、6は非凸多
面体における凸関係にある複数のポリゴン部分集合であ
る。
FIG. 1 is a diagram illustrating the principle of the present invention. 1 is a set of polygons constituting a non-convex polyhedron,
2 is a means for dividing the polygon set into first and second two groups, 3a and 3b are first and second divided polygon sets, and 4a and 4b are convex and convex in the first and second groups. Means for grouping into certain polygon subsets, 5
Is a merging means for merging (merging) polygon subsets of the first and second groups having a convex relationship, and 6 is a plurality of polygon subsets having a convex relationship in the non-convex polyhedron.

【0006】[0006]

【作用】分割手段2により非凸多面体を構成する多数の
凸多角形(ポリゴン)1を第1、第2の2つのグループ
3a,3bに分割し、グループ化手段4a,4bにより
各グループ3a,3bにおいて隣接ポリゴンとの関係が
凸であるポリゴン部分集合を求める。ついで、マージン
グ手段5により、共通の境界稜線を有する第1グループ
のポリゴン部分集合と第2グループのポリゴン部分集合
とが凸関係にあるものを併合して複数の新たなポリゴン
部分集合6を求めて出力する(分割とマージングを再帰
的に繰り返す分割統治法:Devide and Conquer Metho
d)。分割統治法において、マージング手段5は第1グル
ープのポリゴン部分集合と第2グループのポリゴン部分
集合とが凸関係にあるか否かを以下のようにして判定す
る。すなわち、境界稜線を共有するポリゴンの全組合せ
を求め、全組合せにおいてポリゴン間が凸の関係にある
時、第1グループのポリゴン部分集合と第2グループの
ポリゴン部分集合とが凸関係にあると判定し、1組でも
凹の関係にある場合には凸の関係にないと判定する。以
上のようにすれば、高速に非凸多面体の初期ポリゴン集
合を凸要素のポリゴン部分集合に分割でき、干渉チェッ
クに際してリアルタイム性を有するGilbert法等の干渉
チェック方法を適用できる。
A large number of convex polygons (polygons) 1 constituting a non-convex polyhedron are divided into first and second groups 3a and 3b by a dividing means 2, and the groups 3a and 3b are divided by grouping means 4a and 4b. In step 3b, a polygon subset having a convex relationship with the adjacent polygon is obtained. Next, the merging means 5 merges the polygon subsets of the first group and the polygon subset of the second group having a common boundary ridge in a convex relationship to obtain a plurality of new polygon subsets 6. Output (Divide and Conquer Metho
d). In the divide-and-conquer method, the merging means 5 determines whether or not the polygon subset of the first group and the polygon subset of the second group have a convex relationship as follows. That is, all combinations of polygons sharing a boundary ridge are obtained, and when the polygons have a convex relationship in all combinations, it is determined that the polygon subset of the first group and the polygon subset of the second group have a convex relationship. If even one set has a concave relationship, it is determined that there is no convex relationship. In this way, the initial polygon set of the non-convex polyhedron can be quickly divided into polygon subsets of convex elements, and an interference check method such as the Gilbert method having real-time property can be applied at the time of interference check.

【0007】又、分割統治法におけるマージング可能性
を、各ポリゴン部分集合の境界稜線で構成される凸物体
が干渉するかチェックし、干渉しない場合には共通の境
界稜線がないものと判定して以降のマージング可能性の
処理をスキップし、干渉する場合には共通の境界稜線が
存在するものと判定して以降のマージング可能性の処理
を継続するように構成する。このようにすれば、マージ
ング可能性の判定処理に要する時間を短縮でき、更に高
速に凸要素毎のポリゴン部分集合を求めることができ
る。更に、分割統治法による凸分解処理により求めた複
数のポリゴン部分集合に対して分割統治法による凸分解
処理を繰返し適用するようにする。このようにすれば、
最小数の凸要素数に分割できる(凸要素数のローカルミ
ニマムを求めることができる)。
The merging possibility in the divide-and-conquer method is checked for interference between convex objects formed by boundary edges of each polygon subset, and if they do not interfere, it is determined that there is no common boundary edge. The following merging possibility processing is skipped, and when interference occurs, it is determined that a common boundary ridge exists, and the subsequent merging possibility processing is continued. In this way, the time required for the merging possibility determination process can be reduced, and the polygon subset for each convex element can be obtained at a higher speed. Further, the convex decomposition processing based on the division and conquer method is repeatedly applied to a plurality of polygon subsets obtained by the convex decomposition processing based on the divide and conquer method. If you do this,
It can be divided into the minimum number of convex elements (the local minimum of the number of convex elements can be obtained).

【0008】又、非凸多面体が穴等の負の形状(負物
体)を有する場合には、非凸多面体を構成する各凸多角
形(ポリゴン)の法線ベクトルの符号を逆転して反転形
状のモデルを想定し、該反転形状モデルを構成する多数
のポリゴンを2つのグループに分割し、ついで、分割統
治法を適用して負物体のポリゴン部分集合を求める。し
かる後、非凸多面体を構成する初期のポリゴン集合より
負物体のポリゴン部分集合を除去し、該除去することに
より得られた非反転形状のポリゴン集合に分割統治法を
適用して正物体のポリゴン部分集合を求め、正負の各ポ
リゴン部分集合を出力する。このようにすれば、非凸多
面体に穴等の負物体が存在する場合でも、該非凸多面体
を該負物体を含む凸多面体に分割できる。
When the non-convex polyhedron has a negative shape (negative object) such as a hole, the sign of the normal vector of each convex polygon (polygon) constituting the non-convex polyhedron is inverted to form an inverted shape. Is assumed, and a large number of polygons constituting the inverted shape model are divided into two groups, and then a polygonal subset of negative objects is obtained by applying a division and conquer method. Thereafter, the polygon subset of the negative object is removed from the initial polygon set constituting the non-convex polyhedron, and the polygon set of the regular object is applied to the non-inverted polygon set obtained by the removal by applying the divide and conquer method. A subset is obtained, and each positive and negative polygon subset is output. In this way, even when a negative object such as a hole exists in the non-convex polyhedron, the non-convex polyhedron can be divided into a convex polyhedron including the negative object.

【0009】[0009]

【実施例】【Example】

(A) 本発明の第1実施例 (a) システムの構成 図2はグラフィックワークステーション上の形状モデル
に干渉チェック前処理を施す場合におけるシステム構成
図であり、GWSはグラフィックワークステーション、
CPUは干渉チェック前処理や干渉チェック処理、その
他の処理を実行するプロセッサ、MEMはメモリであ
り、図示しない三次元CADシステムで設計された形状
データFDTや干渉チェック前処理プログラムICP等
を記憶するもの、DPLは表示部、OPSはキーボー
ド、マウス等の操作部、OPRはオペレータである。オ
ペレータOPRは、操作部OPSを使ってグラフィック
ワークステーションGWS上の形状モデルに対して前処
理指令を入力する。前処理指令が入力されると、プロセ
ッサCPUはメモリMEMに記憶されている干渉チェッ
ク前処理プログラムICPに基づいて非凸多面体の形状
データFDTを用いて前処理(非凸多面体のポリゴン集
合の分割処理)を実行する。そして、分割結果をメモリ
MEMに記憶すると共に、前処理結果を表示部DPLを
通してオペレータに提示する。
(A) First Embodiment of the Present Invention (a) System Configuration FIG. 2 is a system configuration diagram in a case where a shape model on a graphic workstation is subjected to interference check preprocessing.
The CPU is a processor that executes interference check pre-processing, interference check processing, and other processing, and the MEM is a memory that stores shape data FDT designed by a three-dimensional CAD system (not shown), an interference check pre-processing program ICP, and the like. , DPL is a display unit, OPS is an operation unit such as a keyboard and a mouse, and OPR is an operator. The operator OPR inputs a pre-processing command to the shape model on the graphic workstation GWS using the operation unit OPS. When the pre-processing command is input, the processor CPU performs pre-processing (division processing of the polygon set of the non-convex polyhedron) using the non-convex polyhedron shape data FDT based on the interference check pre-processing program ICP stored in the memory MEM. ). Then, the division result is stored in the memory MEM, and the preprocessing result is presented to the operator through the display unit DPL.

【0010】(b) 干渉チェック前処理の概略 図3は本発明の干渉チェック前処理の概略的な処理フロ
ーである。三次元CADシステムは形状モデル(非凸多
面体)を作成してグラフィックワークステーションGW
Sに入力する(ステップ1001、1002)。CAD
システムは物体(非凸多面体)をポリゴンで覆った場合
における全ポリゴンデータを入力する。ポリゴンデータ
は、ポリゴンの各頂点の座標値とその点における光の反
射方向を示す情報を有している。最も一般的なポリゴン
データは、図3に示すように三角形ポリゴンの張り合わ
せで表現されるものである。図3に示す三角形ポリゴン
のデータの場合、normal に続く3つの実数が光の反射
方向を示し、vertex に続く3つの実数が頂点座標値を
表している。三次元CADシステム内の形状モデルから
ポリゴンデータを出力する手順は通常、三次元CADシ
ステム内に用意されている。ついで、分割統治法による
凸分解基本アルゴリズムに従って、上記ポリゴンデータ
を凸要素毎に分割されたポリゴンデータの組(ポリゴン
部分集合)に分ける。すなわち、初期のポリゴンデータ
(非凸多面体のポリゴン集合)を凸要素毎の部分集合の
組に分割して出力する(ステップ1003,100
4)。しかる後、各部分集合毎に凸多面体を生成する。
尚、ポリゴンの各形状は一般的に任意であるが、各ポリ
ゴンは凸性を満たしているものとする。
(B) Outline of interference check pre-processing FIG. 3 is a schematic processing flow of the interference check pre-processing according to the present invention. The 3D CAD system creates a shape model (non-convex polyhedron) and creates a graphic workstation GW
Input to S (steps 1001, 1002). CAD
The system inputs all polygon data when the object (non-convex polyhedron) is covered with polygons. The polygon data has information indicating the coordinate value of each vertex of the polygon and the light reflection direction at that point. The most common polygon data is represented by a combination of triangular polygons as shown in FIG. In the case of the triangular polygon data shown in FIG. 3, three real numbers following normal indicate the light reflection direction, and three real numbers following vertex indicate the vertex coordinate values. A procedure for outputting polygon data from a shape model in a three-dimensional CAD system is usually prepared in the three-dimensional CAD system. Then, the polygon data is divided into sets of polygon data (polygon subsets) divided for each convex element according to a basic algorithm for convex decomposition by the divide and conquer method. That is, the initial polygon data (a polygon set of a non-convex polyhedron) is divided into sets of subsets for each convex element and output (steps 1003 and 100).
4). Thereafter, a convex polyhedron is generated for each subset.
Although each shape of the polygon is generally arbitrary, it is assumed that each polygon satisfies convexity.

【0011】(c) 分割統治法による凸分解基本アルゴリ
ズム 図4は分割統治法による凸分解基本アルゴリズムのフロ
ー図である。初期ポリゴン集合(非凸多面体のポリゴン
集合)Pを入力し(ステップ1101)、ついで、初期
ポリゴン集合Pに対して分割統治法による処理を施す
(ステップ1102)。すなわち、初期ポリゴン集合P
を第1、第2の2つのグループに分割し、各グループに
おいて隣接ポリゴンとの関係が凸であるポリゴン部分集
合を求める。ついで、共通の境界稜線を有する第1グル
ープのポリゴン部分集合と第2グループのポリゴン部分
集合とが凸関係にあるものを併合して凸要素毎の複数の
新たなポリゴン部分集合DP1,DP2,・・・を求め
る。しかる後、ポリゴン部分集合DP1,DP2,・・
・を出力する(ステップ1103)。
(C) Basic Algorithm for Convex Decomposition by Divide and Conquer FIG. 4 is a flowchart of a basic algorithm for convex decomposition by divide and conquer. An initial polygon set (polygon set of a non-convex polyhedron) P is input (step 1101), and the initial polygon set P is subjected to processing by the divide and conquer method (step 1102). That is, the initial polygon set P
Is divided into first and second groups, and a polygon subset having a convex relationship with adjacent polygons in each group is obtained. Next, the polygon subsets of the first group and the polygon subset of the second group having a common boundary ridge are merged in a convex relationship to form a plurality of new polygon subsets DP1, DP2,.・ ・Then, the polygon subsets DP1, DP2,.
Is output (step 1103).

【0012】以下は、分割統治法の詳細のプログラム例
である。 定義 P={p1,p2,p3,・・・}:初期ポリゴン集合 DC(P)={DP1={1p1,1p2,1p3,・・・},DP2={2p1,2p2,2p3,・・・},・・・} :Pの分割ポリゴン集合 NoP:Pの要素数 Algorithm(分割統治法) if(入力ポリゴン数が1、i.e.,NoP=1)then DC(P)=P else DIVIDE: k=[Pの要素数/2] PL={p1,p2,p3,・・・,pk}:k以下のポリゴン集合 PH={pk+1,pk+2,pk+3,・・・,pNoP}:kより大きい ポリゴン集合 RECUR: Costruct DC(PL) and DC(PH) recursively. MERGE: Merge DC(PL) and DC(PH) DC(P)=Merge (DC(PL),DC(PH)) endif 上記アルゴリズムから判るとおり、分割統治法では、分
割と統治の過程が再帰的に繰り返される。分割統治法に
おいて問題依存性が存在する最も重要な個所は、「併
合」過程、すなわち、関数Mergeの構成方法である。
The following is a detailed program example of the divide and conquer method. Define P = {p 1, p 2 , p 3, ···}: initial polygon set DC (P) = {DP1 = {1 p 1, 1 p 2, 1 p 3, ···}, DP2 = { 2 p 1 , 2 p 2 , 2 p 3 ,...},...}: P divided polygon set NoP: Number of elements of P Algorithm (divided and conquer method) if (input polygon number is 1, ie, NoP = 1) then DC (P) = P else DIVIDE: k = [number of elements of P / 2] PL = {p 1 , p 2 , p 3 ,..., P k }: polygon set below k PH = {P k + 1 , p k + 2 , p k + 3 ,..., P NoP }: polygon set larger than k RECUR: Costruct DC (PL) and DC (PH) recursively. MERGE: Merge DC (PL) and DC (PH) DC (P) = Merge (DC (PL), DC (PH)) endif As can be seen from the above algorithm, in the divide-and-conquer method, the process of division and consolidation is recursively repeated. The most important place where the problem dependency exists in the divide-and-conquer method is the "merging" process, that is, how to construct the function Merge.

【0013】(d) 分割統治法におけるMergeプロセス 図5は分割統治法におけるMergeプロセスの流れ図であ
る。 1) 凸要素集合DC(PL),DC(PH)を用意する
(ステップ1111a,1111b)。凸要素集合DC
(PL),DC(PH)の各要素は、図5のCLi,C
Hjで示されるようにその要素を構成するポリゴンの集
合(polygons)とその要素の境界をなす境界稜線の集合
(boundary edges)で構成される。 2) Merge 可能性の判定 凸要素CLi,CHjが互いにMerge可能か否かを判定
する(ステップ1112)。判定条件は以下の通りであ
る。 条件1:凸要素CLi,CHjで共有している境界稜線
を全て取り出す。共有しているか否かは、境界稜線を構
成するポリゴン辺の中点を比較することにより判定でき
る。共有している境界稜線が1本もなければMerge不可
能と判定する。 条件2:共有している境界稜線に対し、その稜線を共有
するCLiのポリゴンとCHjのポリゴン間の凹凸関係
を調べる。1組でも凹の関係にあるポリゴンの組合せが
存在すれば、Merge不可能と判定する。 条件3:条件1、条件2をクリアした場合、すなわち、
境界稜線を共有するポリゴンの全組合せにおいてポリゴ
ン間が凸の関係にある時はMerege可能と判定する。
(D) Merge process in the divide-and-conquer method FIG. 5 is a flowchart of the Merge process in the divide-and-conquer method. 1) Prepare convex element set DC (PL), DC (PH)
(Steps 1111a and 1111b). Convex element set DC
(PL) and DC (PH) are CLi and C in FIG.
A set of polygons (polygons) constituting the element as shown by Hj and a set of boundary edges forming the boundary of the element
(boundary edges). 2) Judgment of Merge Possibilities It is judged whether or not the convex elements CLi and CHj can be merged with each other (step 1112). The judgment conditions are as follows. Condition 1: All boundary edges shared by the convex elements CLi and CHj are extracted. Whether or not they are shared can be determined by comparing the midpoints of the polygon sides forming the boundary ridge line. If there is no shared border ridge, it is determined that merging is not possible. Condition 2: With respect to the shared boundary ridge line, the unevenness relationship between the CLi polygon and the CHj polygon sharing the ridge line is examined. If there is at least one combination of polygons having a concave relationship, it is determined that merging is impossible. Condition 3: When conditions 1 and 2 are cleared, that is,
If the polygons have a convex relationship in all combinations of polygons sharing the boundary ridge, it is determined that merging is possible.

【0014】3) Mergeの順序 凸要素のMergeは以下の順序で行なう。 3-1) 凸要素CL1がCHj(j=1,2,・・・NPH)とMerge可能か
否かを判定する。もし、CL1がCHjとMerge可能であ
れば、それ以降は、CL1,DC(PH)を以下のように
する。 CL1∪CHj→CL1 DC(PH)={CH1,CH2,・・・CHj-1,CHj+1
・・} 3-2) CLi(i=2,3,・・・NPL)に対して同様の手順を実行す
る。 4) 併合凸要素集合DC(P)の構成 上記3)のプロセスにより 併合凸要素集合DC(P)=Merge (DC(PL),D
C(PH)) が実行され、 DC(P)={CL1,CL2,・・・CLPNPL,C
j′,CHj″・・・} で与えられる併合凸要素集合DC(P)が出力される
(ステップ1113)。ここで、{CHj′,CHj″・・
・}は、いかなるCLiともMergeしないDC(PH)の
凸要素である。
3) Merge Order Merge of convex elements is performed in the following order. 3-1) Convex element CL1Is CHj(j = 1,2, ... NPH) and Merge available
Determine whether or not. If CL1Is CHjAnd Merge is possible
Then, after that, CL1, DC (PH) as follows
I do. CL1∪CHj→ CL1  DC (PH) = $ CH1, CHTwo, ... CHj-1, CHj + 1
・ ・} 3-2) Execute the same procedure for CLi (i = 2,3, ... NPL)
You. 4) Configuration of merged convex element set DC (P) By the process of 3) above, merged convex element set DC (P) = Merge (DC (PL), D
C (PH)) is executed, and DC (P) = {CL1, CLTwo, ... CLPNPL, C
Hj', CHjThe merged convex element set DC (P) given by "..." is output
(Step 1113). Where {CHj', CHj″ ...
・} Is for DC (PH) that does not merge with any CLI
It is a convex element.

【0015】(e) ポリゴン間の凹凸関係の判定 図6はポリゴン間の凹凸関係判定処理の説明図である。
図6(a)に示すように1本の境界稜線BEGを共有する2
枚のポリゴンA,Bを想定する。ポリゴンの相対的位置
関係は、互いに離れているか、図6(a)のように稜線を
介して接しているかのどちらかであって、それ以外の関
係(例えば、稜線以外の部分で交わっている等)はないも
のとする。図6(a)において、ベクトルb,cは、それ
ぞれポリゴンB,ポリゴンAの重心p,qから境界稜線
1−x0=aに降ろした垂線ベクトルである。又、ベク
トルa,b,cを単位化したものをそれぞれe0,e1
2とする。nA,nBは、それぞれポリゴンA、ポリゴ
ンBの外向き法線ベクトル(ポリゴンを定義する各格子
点における光の反射方向の平均とする)を表す。この
時、b,c,e0,e1,e2は次式で与えられる。
(E) Determination of unevenness relationship between polygons FIG. 6 is an explanatory diagram of the unevenness relationship determination process between polygons.
As shown in FIG. 6 (a), two sharing one boundary ridge BEG
Suppose polygons A and B. The relative positional relationship between polygons is either distant from each other or in contact with each other via a ridge as shown in FIG. 6A, and the other relationship (for example, intersection at a portion other than the ridge) Etc.). In FIG. 6A, vectors b and c are perpendicular vectors dropped from the centers of gravity p and q of the polygons B and A to the boundary ridgeline x 1 −x 0 = a, respectively. Also, the unitized vectors a, b, and c are e 0 , e 1 ,
and e 2. n A and n B represent outward normal vectors of polygons A and B , respectively (average of light reflection directions at respective grid points defining the polygon). At this time, b, c, e 0 , e 1 and e 2 are given by the following equations.

【0016】 b=p-x0-(x1-x0)・(p-x0)(x1-x0)/|x1-x0|2 ・はベクトル内積である =p-x0-e0・(p-x0)e0 c=q-x0-e0・(q-x0)e0 0=a/|a| e1=b/|b| e2=c/|c| ポリゴンA、ポリゴンBの凹凸関係を判定するため、図
6(b)のようにベクトルbがX0軸と一致するように座標
変換を行なう。この時の変換行列は次式
B = px 0- (x 1 -x 0 ) · (px 0 ) (x 1 -x 0 ) / | x 1 -x 0 | 2 · is a vector dot product = px 0 -e 0. ( px 0 ) e 0 c = q-x 0 -e 0・ (q-x 0 ) e 0 e 0 = a / | a | e 1 = b / | b | e 2 = c / | c | In order to determine the unevenness relationship between the polygons A and B, the vector b is X 0 as shown in FIG. Perform coordinate transformation to match the axis. The transformation matrix at this time is

【数1】 で与えられる。(Equation 1) Given by

【0017】法線ベクトルnBの向きにより、次の2通
りの条件のどちらかを満たせば、ポリゴンA,ポリゴン
Bは凸の関係にあるといえる。すなわち、 1) (e0×e1)・nB>0の場合 [T・c]Z<0 であり、かつ、(e1×e2)・nA>0を満たす時、 2) (e0×e1)・nB≦0の場合 [T・c]Z≧0 であり、かつ、(e1×e2)・nA≦0を満たす時、ポリゴ
ンA,ポリゴンBは凸の関係にあるといえる。実際のC
ADデータを扱う場合には、誤差を考慮して判定条件は
以下のようになる。
If one of the following two conditions is satisfied depending on the direction of the normal vector n B , it can be said that the polygon A and the polygon B have a convex relationship. That is, 1) When (e 0 × e 1 ) · n B > 0 [T · c] Z <0 and when (e 1 × e 2 ) · n A > 0, 2) ( When e 0 × e 1 ) · n B ≦ 0 [T · c] Z ≧ 0 and (e 1 × e 2 ) · n A ≦ 0, the polygons A and B are convex. It can be said that there is a relationship. Actual C
When dealing with AD data, the judgment conditions are as follows, taking into account errors.

【0018】1) (e0×e1)・nB>0の場合 [T・c]Z<ε であり、かつ、(e1×e2)・nA>−εを満たす時、 2) (e0×e1)・nB≦0の場合 [T・c]Z≧−ε であり、かつ、(e1×e2)・nA≦εを満たす時、ポリゴ
ンA,ポリゴンBは凸の関係にある。ここで、εは扱う
対象によって決める微少量である。分割統治法で得られ
るポリゴン部分集合の集合DC(P)の各要素は、実は
凸とは限らない。図6に示した凹凸判定条件は、局所的
条件である。しかしながら、図6に示した条件のもとに
初期のポリゴン集合を分割すると、多くの場合において
非常によい凸性を示す。
1) When (e 0 × e 1 ) · n B > 0 When [T · c] Z <ε and (e 1 × e 2 ) · n A > −ε, 2 ) When (e 0 × e 1 ) · n B ≦ 0 [T · c] Z ≧ −ε and (e 1 × e 2 ) · n A ≦ ε, polygon A and polygon B Are in a convex relationship. Here, ε is a very small amount determined depending on the object to be handled. Each element of the set DC (P) of the polygon subset obtained by the divide and conquer method is not necessarily convex. The unevenness determination condition shown in FIG. 6 is a local condition. However, when the initial polygon set is divided under the conditions shown in FIG. 6, very good convexity is exhibited in many cases.

【0019】(B)第2実施例 分割統治法による基本アルゴリズムによって凸分解を行
なう場合、分解したあとの凸要素数は最少とは限らな
い。第2実施例では、凸分解基本アルゴリズムを繰り返
して使用することにより、凸要素数を最適化する(でき
るだけ少なくする)ものである。第2実施例の最適化法
は厳密な意味で凸要素数を最小化する分けではなく、あ
くまでも限られた時間内で、できるだけ要素数を減らす
手法である。図7は第2実施例(最適化法)の処理の流
れ図である。三次元CADシステム等から初期ポリゴン
集合(非凸多面体のポリゴン集合)Pを入力し(ステッ
プ1201)、ついで、初期ポリゴン集合Pに対して分
割統治法による凸分解基本アルゴリズムを適用する(ス
テップ1202)。すなわち、初期ポリゴン集合Pを第
1、第2の2つのグループに分割し、各グループにおい
て隣接ポリゴンとの関係が凸であるポリゴン部分集合を
求める。ついで、共通の境界稜線を有する第1グループ
のポリゴン部分集合と第2グループのポリゴン部分集合
とが凸関係にあるものを併合して凸要素毎の複数の新た
なポリゴン部分集合DP1,DP2,・・・を求める。
(B) Second Embodiment When the convex decomposition is performed by the basic algorithm based on the divide-and-conquer method, the number of convex elements after the decomposition is not always the minimum. In the second embodiment, the number of convex elements is optimized (minimized as much as possible) by repeatedly using the basic algorithm of convex decomposition. The optimization method of the second embodiment is not a method of strictly minimizing the number of convex elements, but a method of reducing the number of elements as much as possible within a limited time. FIG. 7 is a flowchart of the process of the second embodiment (optimization method). An initial polygon set (polygon set of non-convex polyhedron) P is input from a three-dimensional CAD system or the like (step 1201), and a basic algorithm for convex decomposition based on the divide and conquer method is applied to the initial polygon set P (step 1202). . That is, the initial polygon set P is divided into first and second groups, and a polygon subset having a convex relationship with adjacent polygons in each group is obtained. Next, the polygon subsets of the first group and the polygon subset of the second group having a common boundary ridge are merged in a convex relationship to form a plurality of new polygon subsets DP1, DP2,.・ ・

【0020】しかる後、ポリゴン部分集合DP1,DP
2,・・・を要素とする凸要素集合DC(P)を出力す
る(ステップ1203)。尚、凸要素数はNDC(P)
である。ついで、凸要素集合DC(P)に再度分割統治
法による凸分解基本アルゴリズムを適用する(ステップ
1204)。すなわち、凸要素集合DC(P)を構成す
る複数のポリゴン部分集合を第1、第2のグループに分
割し、各グループにおいて隣接ポリゴンとの関係が凸で
あるポリゴンの部分集合を求め、共通の境界稜線を有す
る第1グループのポリゴン部分集合と第2グループのポ
リゴン部分集合とが凸関係にあるものを併合して複数の
新たなポリゴン部分集合DDP1,DDP2,・・・を
求める。しかる後、ポリゴン部分集合DDP1,DDP
2,・・・を要素とする凸要素集合DC(DC(P))
を出力する(ステップ1205)。尚、凸要素数はND
DC(P)である。
Thereafter, the polygon subsets DP1, DP
A convex element set DC (P) having 2,... As elements is output (step 1203). The number of convex elements is NDC (P)
It is. Next, the convex decomposition basic algorithm based on the divide-and-conquer method is applied to the convex element set DC (P) again (step 1204). That is, a plurality of polygon subsets constituting the convex element set DC (P) are divided into first and second groups, and in each group, a subset of polygons having a convex relationship with adjacent polygons is obtained, and a common subset is obtained. A plurality of new polygon subsets DDP1, DDP2,... Are obtained by merging polygon subsets of the first group having boundary edges and polygon subsets of the second group in a convex relationship. Then, the polygon subsets DDP1, DDP
Convex element set DC (DC (P)) having 2,.
Is output (step 1205). The number of convex elements is ND
DC (P).

【0021】ついで、前回に求めたポリゴン部分集合の
数NDC(P)と今回求めたポリゴン部分集合の数ND
DC(P)を比較し(ステップ1206)、一致すれ
ば、凸要素集合DC(DC(P))を最終的に出力する
(ステップ1207)。そして、この凸要素集合DC
(DC(P))を構成するポリゴン部分集合を用いて凸
多面体を生成することになる 一方、NDDC(P)とNDC(P)が等しくない場合
には(例えば、NDDC(P)<NDC(P))、DC
(DC(P))→DC(P)とし(ステップ120
8)、以後、ステップ1204以降の処理を繰り返す。
すなわち、新たに求めた複数のポリゴン部分集合DC
(DC(P))に対して分割統治法による凸分解処理を
繰返し施す。最適化法では、凸要素数がこれ以上減らな
くなるまで凸分解基本アルゴリズムを出力DC(P)に
対して繰返し作用させる。
Next, the number of polygon subsets NDC (P) obtained previously and the number ND of polygon subsets obtained this time are calculated.
DC (P) is compared (step 1206), and if they match, a convex element set DC (DC (P)) is finally output (step 1207). And this convex element set DC
A convex polyhedron is generated using a polygon subset constituting (DC (P)). On the other hand, if NDDC (P) and NDDC (P) are not equal (for example, NDDC (P) <NDC ( P)), DC
(DC (P)) → DC (P) (Step 120
8) Thereafter, the processing from step 1204 is repeated.
That is, a plurality of newly obtained polygon subsets DC
(DC (P)) is repeatedly subjected to convex decomposition processing by the divide-and-conquer method. In the optimization method, the basic algorithm for convex decomposition is repeatedly applied to the output DC (P) until the number of convex elements no longer decreases.

【0022】(C)第3実施例 分割統治法による基本アルゴリズムを用いる方法では、
穴等の認識において分割した凸要素数が予想以上に増え
る可能性がある。第3実施例では、凸要素数を減少させ
るために、穴等の物体に対してブール代数を負とみなし
て凸分解処理を行ない、その他の正物体に対して第1実
施例の凸分解処理を施すものである。ブール代数を負と
みなすとは、端的に各ポリゴンの法線方向の符号を反転
(法線方向を逆転)することである。通常の分割統治法
による基本アルゴリズムと負物体認識法とを組み合わせ
ることにより、凸要素数の少ない凸分解が可能となる。
図8は穴等の形状(負物体)を含む物体のブール集合演
算による物体表現法の説明図である。HLは穴、HL′
は法線方向を逆転した穴部、BDYは穴のない物体(穴
なし物体)である。穴付き物体は穴なし物体BDYから
法線方向を逆転した穴部分を差し引くことにより表現さ
れる。
(C) Third Embodiment In the method using the basic algorithm based on the divide-and-conquer method,
In the recognition of holes and the like, the number of divided convex elements may increase more than expected. In the third embodiment, in order to reduce the number of convex elements, convex decomposition processing is performed on an object such as a hole by regarding a Boolean algebra as negative, and the convex decomposition processing of the first embodiment is performed on other positive objects. Is applied. To regard a Boolean algebra as negative is to simply reverse the sign of the normal direction of each polygon (reverse the normal direction). Combining the basic algorithm based on the ordinary divide-and-conquer method and the negative object recognition method enables convex decomposition with a small number of convex elements.
FIG. 8 is an explanatory diagram of an object expression method by a Boolean set operation of an object including a shape such as a hole (negative object). HL is a hole, HL '
Is a hole part whose normal direction is reversed, and BDY is an object without a hole (an object without a hole). An object with a hole is represented by subtracting a hole portion whose normal direction is reversed from the object BDY without a hole.

【0023】図9は第3実施例の凸分解処理の流れ図、
図10はその凸分解結果の説明図である。三次元CAD
システム等から初期ポリゴン集合(非凸多面体のポリゴ
ン集合)Pを入力し(ステップ1301)、ついで、初
期ポリゴン集合Pの法線方向を全て逆転したポリゴン集
合PBを作る(ステップ1302)。しかる後、ポリゴ
ン集合PBに対して凸分解基本アルゴリズムを適用する
(ステップ1303)。すなわち、ポリゴン集合PB
第1、第2の2つのグループに分割し、各グループにお
いて隣接ポリゴンとの関係が凸であるポリゴン部分集合
を求める。ついで、共通の境界稜線を有する第1グルー
プのポリゴン部分集合と第2グループのポリゴン部分集
合とが凸関係にあるものを併合して凸要素毎の複数の新
たなポリゴン部分集合を求める。
FIG. 9 is a flowchart of the convex decomposition processing of the third embodiment.
FIG. 10 is an explanatory diagram of the result of the convex decomposition. 3D CAD
Initial polygon set by the system or the like enter the P (polygon set of non-convex polyhedron) (step 1301), then making the polygon set P B was reversed all the normal direction of the initial polygon set P (step 1302). Thereafter, applying a convex decomposition basic algorithm for polygon set P B (step 1303). That is, the polygon set P B is divided into first and second groups, and a polygon subset having a convex relationship with adjacent polygons in each group is obtained. Next, a plurality of new polygon subsets for each convex element are obtained by merging polygon subsets of the first group and polygon subsets of the second group having a common boundary ridge in a convex relationship.

【0024】しかる後、該複数のポリゴン部分集合を要
素とする凸要素集合DC(PB)(図10参照)を出力
し、又、凸要素集合DC(PB)の各凸要素において、
ポリゴン数が2以上で構成される凸要素を取りだし、そ
れらの凸要素を構成する全てのポリゴン集合をP2(D
C(PB))とする。すなわち、穴等の負物体凸要素を
構成するポリゴンを集めてP2(DC(PB))とする
(ステップ1304)。ついで、初期ポリゴン集合Pと
2(DC(PB))の差集合を取り、正物体を構成する
ポリゴン集合P-P2(DC(PB))を求める(ステップ130
5)。正物体を構成するポリゴン集合(差集合)が求ま
れば、該差集合P-P2(DC(PB))に対して分割統治法による
凸分解基本アルゴリズムを適用する(ステップ130
6)。すなわち、差集合P-P2(DC(PB))を第1、第2の2
つのグループに分割し、各グループにおいて隣接ポリゴ
ンとの関係が凸であるポリゴン部分集合を求める。つい
で、共通の境界稜線を有する第1グループのポリゴン部
分集合と第2グループのポリゴン部分集合とが凸関係に
あるものを併合して凸要素毎の複数の新たなポリゴン部
分集合を求める。しかる後、該複数のポリゴン部分集合
を要素とする凸要素集合DC(P-P2(DC(PB)))を出力し(ス
テップ1307、図10)、正物体の認識を行なう。最
後に、DC(P-P2(DC(PB)))を正物体の凸要素、DC
(PB)を負物体の凸要素として出力する(ステップ1
308)。以後、各凸要素のポリゴン部分集合を用いて
凸多面体が生成されることになる。
Thereafter, a convex element set DC (P B ) (see FIG. 10) having the plurality of polygon subsets as elements is output, and for each convex element of the convex element set DC (P B ),
A convex element composed of two or more polygons is extracted, and all the polygon sets constituting the convex element are represented by P 2 (D
C (P B )). That is, polygons constituting a negative object convex element such as a hole are collected and set as P 2 (DC (P B )) (step 1304). Next, a difference set between the initial polygon sets P and P 2 (DC (P B )) is obtained, and a polygon set PP 2 (DC (P B )) constituting the positive object is obtained (step 130).
5). When the polygon set (difference set) constituting the regular object is obtained, a basic algorithm for convex decomposition by the divide-and-conquer method is applied to the difference set PP 2 (DC (P B )) (step 130)
6). That is, the difference set PP 2 (DC (P B )) is divided into the first and second 2
It divides into two groups, and obtains a polygon subset having a convex relationship with adjacent polygons in each group. Next, a plurality of new polygon subsets for each convex element are obtained by merging polygon subsets of the first group and polygon subsets of the second group having a common boundary ridge in a convex relationship. Thereafter, a convex element set DC (PP 2 (DC (P B ))) having the plurality of polygon subsets as elements is output (step 1307, FIG. 10), and a positive object is recognized. Finally, DC (PP 2 (DC (P B ))) is a convex element of a positive object, DC
(P B ) is output as a convex element of a negative object (Step 1)
308). Thereafter, a convex polyhedron is generated using the polygon subset of each convex element.

【0025】(D)第4実施例 第1実施例に最適化法を施すことにより凸要素数を減少
したのと同様に、第3実施例に最適化法を施して凸要素
数を減少することができる。図11はかかる場合の凸分
解処理の流れ図であり、第3実施例と異なる点は、ステ
ップ1303′、1306′において凸分解基本アルゴ
リズムの替わりに最適化法を適用した点である。
(D) Fourth Embodiment The number of convex elements is reduced by applying the optimization method to the third embodiment, similarly to the case where the number of convex elements is reduced by applying the optimization method to the first embodiment. be able to. FIG. 11 is a flowchart of the convex decomposition processing in such a case, and is different from the third embodiment in that an optimization method is applied instead of the basic convex decomposition algorithm in steps 1303 'and 1306'.

【0026】(E)本発明の第5実施例 (a) 考察 以上の実施例では、第1グループのポリゴン部分集合C
Liと第2グループのポリゴン部分集合CHjのMerge
可能性を以下のように判定している。すなわち、ポリゴ
ン部分集合CLiとポリゴン部分集合CHjが共通稜線
を有しているのか、いないのかに関係なく、CLiの境
界稜線を構成する全ポリゴン辺とCHjの境界稜線を構
成する全ポリゴン辺の中点が一致するか否かにより共通
の境界稜線を求めている。
(E) Fifth Embodiment of the Present Invention (a) Consideration In the above embodiment, the polygon subset C of the first group is used.
Merge of Li and polygon subset CHj of the second group
The possibility is determined as follows. That is, irrespective of whether the polygon subset CLi and the polygon subset CHj have a common edge or not, all of the polygon edges forming the boundary edge of CLi and all the polygon edges forming the boundary edge of CHj A common boundary ridge is determined based on whether or not the points match.

【0027】しかし、かかるMerge可能性の判定処理で
は、あらゆるポリゴン部分集合の組合せにおいて、しか
も、境界稜線を構成するポリゴン辺の総当たり的な組合
せにおいて中点が一致するか否かを調べなくてはならな
いため、Merge可能性の判定処理に相当の時間を要し、
凸分解の高速化に限界を与えている。ところで、凸要素
CLiの境界稜線と凸要素CHjの境界稜線が共通の境
界稜線部分を有する場合には、凸要素CLiの境界稜線
で構成する凸物体と凸要素CHjの境界稜線で構成する
凸物体とが干渉する。そこで、凸要素CLi,CLjの
共通の境界稜線を求める処理を実行する前に、計算負荷
がO(N)の干渉チェック法により凸要素CLiの境界稜
線で構成する凸物体と凸要素CHjの境界稜線で構成す
る凸物体とが干渉するかチェックする。そして、干渉し
ない場合には以降のmerge処理をスキップし、干渉する
場合のみ以降のMerge処理を継続するようにする。この
ようにすれば、Merge処理に要する時間を大幅に短縮で
き凸分解処理を高速に行なうことができる。
However, in the merging possibility determination processing, it is not necessary to check whether or not the midpoints match in all combinations of polygon subsets and in all-round combinations of polygon sides forming the boundary ridge line. Therefore, it takes a considerable amount of time to determine the possibility of Merge,
This limits the speed of convex decomposition. By the way, when the boundary ridge line of the convex element CLi and the boundary ridge line of the convex element CHj have a common boundary ridge portion, the convex object composed of the boundary ridge line of the convex element CLi and the convex object composed of the boundary ridge line of the convex element CHj And interfere. Therefore, before executing a process for obtaining a common boundary ridge line between the convex elements CLi and CLj, the boundary between the convex object and the convex element CHj formed by the boundary ridge line of the convex element CLi is calculated by an interference check method of O (N). It is checked whether or not there is interference between the ridge and the convex object. When no interference occurs, the subsequent merge processing is skipped, and only when interference occurs, the subsequent merge processing is continued. In this way, the time required for the Merge processing can be greatly reduced, and the convex decomposition processing can be performed at high speed.

【0028】(b) 干渉チェック前処理の概略 図12は第5実施例の干渉チェック前処理の別の概略的
処理フローであり、図3の第1実施例と同一部分には同
一符号を付している。第1実施例と異なる点は、ステッ
プ1003′において、分割統治法による凸分解基本ア
ルゴリズムに替えて干渉チェック組込型の分割統治法に
よる凸分解基本アルゴリズム(高速凸分解基本アルゴリ
ズム)を適用している点である。
(B) Outline of Interference Check Pre-Processing FIG. 12 is another schematic processing flow of the interference checking pre-processing of the fifth embodiment, and the same parts as those of the first embodiment of FIG. doing. The difference from the first embodiment is that in step 1003 ', a basic algorithm for convexity decomposition (basic algorithm for high-speed convex decomposition) based on a divide-and-conquer method incorporating an interference check is applied in place of the basic algorithm for convex decomposition by divide-and-conquer method. It is a point.

【0029】図13は高速凸分解基本アルゴリズムの処
理のフローである。初期ポリゴン集合(非凸多面体のポ
リゴン集合)Pを入力し(ステップ1101)、つい
で、初期ポリゴン集合Pに対して高速凸分解アルゴリズ
ムによる凸分解処理を施す(ステップ1102′)。す
なわち、初期ポリゴン集合Pを第1、第2の2つのグル
ープに分割し、各グループにおいて隣接ポリゴンとの関
係が凸であるポリゴン部分集合を求める。ついで、共通
の境界稜線を有する第1グループのポリゴン部分集合と
第2グループのポリゴン部分集合とが凸関係にあるもの
を併合(マージング)して凸要素毎の複数の新たなポリ
ゴン部分集合DP1,DP2,・・・を求める。しかる
後、ポリゴン部分集合DP1,DP2,・・・を出力す
る(ステップ1103)。尚、各ポリゴン部分集合DP
1,DP2,・・・に基づいて凸多面体が生成される。
分割統治法において問題依存性が存在する最も重要な個
所は、「併合」過程、すなわち、関数Mergeの構成方法
である。
FIG. 13 is a flowchart of the processing of the basic algorithm for high-speed convex decomposition. An initial polygon set (polygon set of a non-convex polyhedron) P is input (step 1101), and then the initial polygon set P is subjected to convex decomposition processing by a high-speed convex decomposition algorithm (step 1102 '). That is, the initial polygon set P is divided into first and second groups, and a polygon subset having a convex relationship with adjacent polygons in each group is obtained. Next, the polygon subset of the first group and the polygon subset of the second group having a common boundary ridge are merged (merged) in a convex relationship, and a plurality of new polygon subsets DP1 for each convex element are merged. DP2,... Thereafter, the polygon subsets DP1, DP2,... Are output (step 1103). Note that each polygon subset DP
A convex polyhedron is generated based on 1, DP2,.
The most important place where the problem dependency exists in the divide-and-conquer method is the "merging" process, that is, how to construct the function Merge.

【0030】(c) 分割統治法におけるMergeプロセス 凸要素CLi,CHjがMerge可能であるためには、C
Li,CHjが共通の境界稜線を有することである。す
なわち、凸要素CLi,CHjが互いに境界稜線を通じ
て干渉していることが必要条件である。従って、凸要素
CLi,CHj間に干渉チェックアルゴリズムを 適用
し、干渉していなければ、CLi,CHjに対して以後
のMerge処理をスキップできる。図14は分割統治
法におけるMergeプロセスの流れ図である。 1) 凸要素集合DC(PL),DC(PH)を用意する
(ステップ1111a,1111b)。 DC(PL)={CL1,CL2,・・・CLi,・・・} i=1,2,・・・NDC(PL) CLi{polygons={pCL11,pCL12,pCL13,・・・pNCLP1} boundary edges={bCL11,bCL12,bCL13,・・・bNCLB1}} DC(PH)={CH1,CH2,・・CHi,・・・} i=1,2,・・・NDC(PH) CLi{polygons={pCH11,pCH12,pCH13,・・・pNCHP1} boundary edges={bCH11,bCH12,bCH13,・・・bNCHB1}} 凸要素集合DC(PL),DC(PH)の各要素はポリ
ゴン部分集合(polygons)とその要素の境界をなす境界
稜線の集合(boundary edges)で構成される。
(C) Merge process in the divide-and-conquer method In order for the convex elements CLi and CHj to be mergeable, C
Li and CHj have a common boundary edge. That is, it is a necessary condition that the convex elements CLi and CHj interfere with each other through the boundary ridge line. Therefore, the interference check algorithm is applied between the convex elements CLi and CHj, and if there is no interference, the subsequent merge processing can be skipped for CLi and CHj. FIG. 14 is a flowchart of the Merge process in the divide-and-conquer method. 1) Prepare convex element set DC (PL), DC (PH)
(Steps 1111a and 1111b). DC (PL) = {CL1, CL2, ··· CLi, ···} i = 1,2, ··· NDC (PL) CLi {polygons = {p CL11, p CL12, p CL13, ··· p NCLP1} boundary edges = {b CL11 , b CL12, b CL13, ··· b NCLB1}} DC (PH) = {CH1, CH2, ·· CHi, ···} i = 1,2, ··· NDC (PH) CLi {polygons = {p CH11 , p CH12 , p CH13 , ... p NCHP1 } boundary edges = {b CH11 , b CH12 , b CH13 , ... b b NCHB1 }} convex element set DC (PL) , DC (PH) are composed of polygon subsets (polygons) and a set of boundary edges (boundary edges) forming the boundaries of the elements.

【0031】2) Merge 可能性の判定 凸要素CLi,CHjが互いにMerge可能か否かを判定
する(ステップ1112′)。判定条件は以下の通りで
ある。 条件1:凸要素CLi,CHjの境界稜線BedgeCLi、Be
dgeCHj間で干渉チェックを行なう。干渉が無ければMerg
e不可能と判定する。 条件2:干渉している可能性のある凸要素CLi,CH
jに対し、CLi,CHj間で共有している境界稜線を
全て取り出す。共有しているか否かは、境界稜線を構成
するポリゴン辺の中点を比較することにより判定でき
る。共有している境界稜線が1本もなければMerge不可
能と判定する。 条件3:共有している境界稜線に対し、その稜線を共有
するCLiのポリゴンとCHjのポリゴン間の凹凸関係
を調べる。1組でも凹の関係にあるポリゴンの組合せが
存在すれば、Merge不可能と判定する。 条件3:条件1、条件2、条件3をクリアした場合はMe
rege可能と判定する。
2) Judgment of Merge Possibility It is judged whether or not the convex elements CLi and CHj can be merged with each other (step 1112 '). The judgment conditions are as follows. Condition 1: Boundary edges Bedge CLi , Be of convex elements CLi, CHj
Perform interference check between dge CHj . Merg without interference
e Judge as impossible. Condition 2: convex elements CLi, CH possibly interfering
For j, all boundary edges shared between CLi and CHj are extracted. Whether or not they are shared can be determined by comparing the midpoints of the polygon sides forming the boundary ridge line. If there is no shared border ridge, it is determined that merging is not possible. Condition 3: With respect to the shared boundary ridge line, the unevenness relationship between the CLi polygon and the CHj polygon sharing the ridge line is examined. If there is at least one combination of polygons having a concave relationship, it is determined that merging is impossible. Condition 3: Me when Condition 1, Condition 2, and Condition 3 are cleared
Judge that rege is possible.

【0032】3) Mergeの順序 凸要素のMergeは以下の順序で行なう。 3-1) 凸要素CL1がCHj(j=1,2,・・・NPH)とMerge可能か
否かを判定する。もし、CL1がCHjとMerge可能であ
れば、それ以降は、CL1,DC(PH)を以下のように
する。 CL1∪CHj→CL1 DC(PH)={CH1,CH2,・・・CHj-1,CHj+1
・・} 3-2) CLi(i=2,3,・・・NPL)に対して同様の手順を実行す
る。 4) 併合凸要素集合DC(P)の構成 上記3)のプロセスにより 併合凸要素集合DC(P)=Merge (DC(PL),D
C(PH)) が実行され、 DC(P)={CL1,CL2,・・・CLPNPL,C
j′,CHj″・・・} で与えられる併合凸要素集合DC(P)が出力される
(ステップ1113′)。ここで、{CHj′,CHj″・
・・}は、いかなるCLiともMergeしないDC(PH)の
凸要素である。
3) Merge Order Merge of convex elements is performed in the following order. 3-1) Convex element CL1Is CHj(j = 1,2, ... NPH) and Merge available
Determine whether or not. If CL1Is CHjAnd Merge is possible
Then, after that, CL1, DC (PH) as follows
I do. CL1∪CHj→ CL1  DC (PH) = $ CH1, CHTwo, ... CHj-1, CHj + 1
・ ・} 3-2) Execute the same procedure for CLi (i = 2,3, ... NPL)
You. 4) Configuration of merged convex element set DC (P) By the process of 3) above, merged convex element set DC (P) = Merge (DC (PL), D
C (PH)) is executed, and DC (P) = {CL1, CLTwo, ... CLPNPL, C
Hj', CHjThe merged convex element set DC (P) given by "..." is output
(Step 1113 '). Where {CHj', CHj″ ・
・ ・} Is the DC (PH) that does not merge with any CLI
It is a convex element.

【0033】(d) 干渉チェックアルゴリズム 凸物体間の干渉チェックアルゴリズムのうち、Bobrow
法、Lin/Canny法、Gilbert法が既存の計算負荷O(N)の干
渉チェック法として使用できる。図15は干渉チェック
アルゴリズムの概略処理フローである。凸要素CLi,
CHjの境界稜線BedgeCLi、BedgeCHjで構成される凸物
体間に干渉チェックアルゴリズムを適用する(ステップ
1401)。干渉チェックアルゴリズムの適用により境
界稜線BedgeCLi、BedgeCHjの最接近点間の距離dist(Bed
geCLi、BedgeCHj)を求めて出力する(ステップ140
2)。最接近点間の距離が求まれば、該距離dist(Bedge
CLi、BedgeCHj)とεの大小を比較し、dist(BedgeCLi、B
edgeCHj)≦εの場合には干渉すると判定し、dist(Bedge
CLi、BedgeCHj)>εの場合には干渉しないと判定する。
尚、εは干渉チェック判定の精度を決めるユーザ定義の
微小定数である。
(D) Interference Check Algorithm Among the interference check algorithms between convex objects, Bobrow
Method, Lin / Canny method, and Gilbert method can be used as interference check methods for the existing computational load O (N). FIG. 15 is a schematic processing flow of the interference check algorithm. Convex element CLi,
An interference check algorithm is applied between convex objects constituted by the boundary edges Bedge CLi and Bedge CHj of CHj (step 1401). By applying the interference check algorithm, the distance between the closest points of the boundary edges Bedge CLi and Bedge CHj dist (Bed
ge CLi , Bedge CHj ) and output it (step 140).
2). Once the distance between the closest points is obtained, the distance dist (Bedge
CLi, and compares the Bedge CHj) and ε, dist (Bedge CLi, B
edge CHj ) ≦ ε, it is determined that interference occurs, and dist (Bedge
If CLi , Bedge CHj )> ε, it is determined that there is no interference.
Here, ε is a user-defined minute constant that determines the accuracy of the interference check determination.

【0034】(f) 干渉チェック方法(Gilbert法) (f-1) 物体の表現法と物体間の距離 三次元空間上の凸多面体Xを考える。この時、X内の任
意の点xは、Xの境界に位置する格子点(頂点)xi∈
Xを使って以下のように表現できる。 x=Σλi・xi (i=1〜m) :xi∈X,λi≧0 λ1+λ2+・・・+λm=1 (1) 上式を格子点の集合{xi:i=1、2、・・・m}で張
られる凸多面体の定義としてもよい。{xi}のことを凸
多面体Xのベースという。今、2つの凸多面体K1,K2
を考える。この時、2物体間の最接近距離は以下で定義
される。
(F) Interference Check Method (Gilbert Method) (f-1) Object Representation Method and Distance Between Objects Consider a convex polyhedron X in a three-dimensional space. At this time, an arbitrary point x in X is a lattice point (vertex) xi∈ located at the boundary of X.
It can be expressed as follows using X. x = Σλi · xi (i = 1 to m): xi∈X, λi ≧ 0 λ 1 + λ 2 +... + λm = 1 (1) The above equation is expressed as a set of lattice points {xi: i = 1,2, .. May be defined as a convex polyhedron spanned by m}. {xi} is called the base of the convex polyhedron X. Now, two convex polyhedrons K 1 and K 2
think of. At this time, the closest approach distance between the two objects is defined as follows.

【0035】 d(K1,K2)=min{|x−y|:x∈K1,y∈K2) (2) ここで、x,yは位置ベクトルであり、 |x−y|=√{(x1−y12+(x2−y22+(x3−y3)}2 である。従って、2つの凸多面体間の最接近点を求める
問題は、(2)式を満足するようなx,yを以下の式で求
めることである。 x=Σλi・xi (i=1〜m1) :xi∈K1,λi≧0 λ1+λ2+・・・+λm1=1 y=Σμi・yi (i=1〜m2) :yi∈K2,μi≧0 μ1+μ2+・・・+μm2=1 (3) 単純に考えると(3)式では、λとμの両方が変数である
から計算負荷は、O(M1・M2)である。(2)式は以下のよ
うに書き換えることが可能である。
D (K 1 , K 2 ) = min {| xy−: x∈K 1 , y∈K 2 ) (2) where x and y are position vectors, and | xy− = {(X 1 −y 1 ) 2 + (x 2 −y 2 ) 2 + (x 3 −y 3 )} 2 . Therefore, the problem of finding the point of closest approach between two convex polyhedrons is to find x, y that satisfies equation (2) by the following equation. x = {λi · xi (i = 1 to m 1 ): xi∈K 1 , λi ≧ 0 λ 1 + λ 2 +... + λm 1 = 1 y = {μi · yi (i = 1 to m 2 ): yi} K 2 , μi ≧ 0 μ 1 + μ 2 +... + Μm 2 = 1 (3) When simply considered, in equation (3), since both λ and μ are variables, the calculation load is O (M 1 · M 2 ). Equation (2) can be rewritten as follows.

【0036】任意の物体K1,K2の和集合、差集合をK
1±K2={x±y:x∈K1,y∈K2}で定義する時、
(2)式は次式と等価になる。 d12=min{|z|:z∈K},K=K1−K2 (4) 尚、物体K1,K2の和集合とは各物体の任意の位置ベク
トルx,yのベクトル加算により得られる位置ベクトル
zの集合で構成された物体であり、物体X1,X2の差集
合とは各物体の任意の位置ベクトルx,yのベクトル減
算により得られる位置ベクトルzの集合で構成された物
体である。(4)式は、最接近点の探索問題が座標原点O
から多面体Kに対する最接近点を求める問題に等しいこ
とを物語っている。多面体K1,K2がいずれも凸多面体
の場合は、多面体Kも凸多面体になり、凸多面体Kを構
成する格子点の集合Zは以下で与えられる。
The union and difference sets of arbitrary objects K 1 and K 2 are represented by K
1 ± K 2 = {x ± y: x∈K 1, y∈K 2} when defined,
Equation (2) is equivalent to the following equation. d 12 = min {| z |: z∈K}, K = K 1 −K 2 (4) The union of the objects K 1 and K 2 is the vector addition of arbitrary position vectors x and y of each object. And the difference set of the objects X 1 and X 2 is a set of position vectors z obtained by vector subtraction of arbitrary position vectors x and y of each object. Object. Equation (4) shows that the search for the closest approach point
This is equivalent to the problem of finding the closest point to the polyhedron K from. When both the polyhedrons K 1 and K 2 are convex polyhedrons, the polyhedron K is also a convex polyhedron, and a set Z of lattice points constituting the convex polyhedron K is given below.

【0037】 Z={zi=xj−yk:xj∈K1,yk∈K2, i=1,2,・・・m1m2 j=1,2,・・・m1 k=1,2,・・・m2} (5) 以上をまとめると、以下の結論が導出される。すなわ
ち、「2つの凸多面体K1,K2間の最接近点を求める問
題は、座標原点Oから凸多面体K(=K1−K2)への最
接近点を求める問題に等しい。但し、Kはm1m2個(m1
1の格子点数、m 2:K2の格子点数)の格子点{zi=
xj−yk}で張られた凸多面体である。」
Z = {zi = xj−yk: xj∈K1, Yk∈KTwo, I = 1,2, ... m1mTwo  j = 1,2, ... m1  k = 1,2, ... mTwo} (5) Summarizing the above, the following conclusions are drawn. Sand
Chi, "Two convex polyhedrons K1, KTwoFor finding the closest point between
The title is a convex polyhedron K (= K1-KTwoThe best to
Equivalent to the problem of finding the approach point. Where K is m1mTwoPieces (m1:
K1Grid points of m Two: KTwoLattice points {zi =
xj-yk} is a convex polyhedron. "

【0038】(f-2) Gilbert法の概略 (f-1)における結論より、2つの凸多面体K1,K2間の
最接近点を求める問題は、一点Oから凸多面体Kへの最
接近点を求める問題に帰着される。Gilbert法では、こ
の事実と次に述べるサポート関数(Support Function)と
呼ばれる関数を使用する。凸多面体のサポート関数hx
(η):R3→Rとは以下で定義されるものである。 hx(η)=max{xi・η:i=1〜m} (6) ここで、{xi}は凸多面体Xのベースとなる格子点の
集合であり、・はベクトル内積を意味しており、又、R
3→Rは3次元より1次元への変換を意味している。従
って、(6)式のポート関数hx(η)は、図16に示すよう
にベクトルηを決めた時、その方向に対して原点から最
も離れた凸多面体Xの格子点を求めることを意味してい
る。今、座標原点Oからこの格子点に向かうベクトル
(位置ベクトル)を sx(η)とすると(6)式は以下の
ようになる。
(F-2) Outline of Gilbert's Method From the conclusion in (f-1), the problem of finding the point of closest approach between the two convex polyhedrons K 1 and K 2 is the closest approach from one point O to the convex polyhedron K. It comes down to the problem of finding points. The Gilbert method uses this fact and a function called a support function, described below. Support function hx for convex polyhedron
(η): R 3 → R is defined as follows. hx (η) = max {xi · η: i = 1 to m} (6) where {xi} is a set of lattice points serving as a base of the convex polyhedron X, and denotes a vector inner product. , And R
3 → R means conversion from three dimensions to one dimension. Therefore, the port function hx (η) in the equation (6) means that, when the vector η is determined as shown in FIG. 16, the lattice point of the convex polyhedron X farthest from the origin in the direction is determined. ing. Now, assuming that a vector (position vector) from the coordinate origin O to this grid point is sx (η), the equation (6) is as follows.

【0039】hx(η)=sx(η)・η (7) Gilbert法による最接近点探索の計算負荷はO(M1+M2
となる。その理由は、凸多面体K1,K2の差集合Kのサ
ポート関数hk(η)、位置ベクトルsk(η)に対して以
下の法則が成り立つことに基づいている。 hk(η)=hk1(η)+hk2(−η), sk(η)=sk1(η)−sk2(−η) (8) 上式は、m1m2個の格子点からなる凸多面体K=K1−K2
に対するサポート関数が凸多面体K1,K2に対するサポ
ート関数の和で構成されることを意味している。従っ
て、(6)式の定義から明らかなように、hx(η)を求め
る計算負荷はO(M1+M2)となる。Gilbert法による最接
近点探索の本質は、サポート関数hx(η)を繰返し使
用することによって最接近点に漸次、近づいていくとこ
ろにある。すなわち、Gilbert法は、以下の4つのプロ
セスから構成される。
Hx (η) = sx (η) · η (7) The calculation load of the closest approach point search by the Gilbert method is O (M 1 + M 2 ).
Becomes The reason is based on the fact that the following rule is satisfied for the support function hk (η) and the position vector sk (η) of the difference set K of the convex polyhedrons K 1 and K 2 . hk (η) = hk 1 (η) + hk 2 (−η), sk (η) = sk 1 (η) −sk 2 (−η) (8) The above equation is obtained from m 1 m 2 grid points. Convex polyhedron K = K 1 −K 2
Mean that the support function for is composed of the sum of the support functions for the convex polyhedrons K 1 and K 2 . Therefore, as is clear from the definition of the equation (6), the calculation load for obtaining hx (η) is O (M 1 + M 2 ). The essence of the search for the closest point by the Gilbert method is that the support function hx (η) is repeatedly used to gradually approach the closest point. That is, the Gilbert method includes the following four processes.

【0040】(f-3) Gilbert法による最接近点探索アル
ゴリズム 1) 初期化 凸多面体K1,K2に対し、差凸多面体K1−K2をKとす
る。凸多面体K内の任意の点を取り、それらをy1,y2
・・・yp∈Kとする。尚、y1,y2・・・ypは必ずし
も凸多面体Kのベース格子点である必要はない。pは一
般に1≦p≦4とする。この時、初期格子点の集合Vk
(=V0)を Vk={y1,y2・・・yp}, k=0 とする。
(F-3) Algorithm for searching for the closest point by the Gilbert method 1) Initialization For the convex polyhedrons K 1 and K 2 , let K be the difference convex polyhedron K 1 −K 2 . Take arbitrary points in the convex polyhedron K and denote them as y 1 , y 2
... Yp と す る K. Incidentally, y 1 , y 2 ... Yp need not necessarily be the base lattice points of the convex polyhedron K. p is generally 1 ≦ p ≦ 4. At this time, a set of initial lattice points V k
(= V 0 ) is set to V k = {y 1 , y 2 ... Yp}, k = 0.

【0041】2)基本多面体に対する最接近点探索 要素数p(4個以下)からなる格子点の集合Vkに対
し、 νk=ν(co Vk) (9) を計算する。ここで、co Vkは、格子点集合Vkをベー
スとする凸多面体、ν(X)は座標原点Oから凸多面体X
への最接近点ベクトル(位置ベクトル)を表す。
2) Search for the closest point to the basic polyhedron With respect to a set Vk of lattice points consisting of the number of elements p (four or less), ν k = ν (co V k ) (9) is calculated. Here, co V k is a convex polyhedron based on the lattice point set V k , and ν (X) is a convex polyhedron X from the coordinate origin O.
Represents a vector (position vector) of the point of closest approach to.

【0042】3)最接近点判定 R3→Rへの関数gx(x)を以下のように定義する。 gx(x)=|x|2+hx(−x) 上式において右辺第1項は、凸多面体K上の所定ポイン
トの位置ベクトルをxとするとき、該ポイント迄の距離
の二乗を意味し、右辺第2項はベクトルx方向に原点か
ら最も近い格子点位置ベクトルとベクトル−xとの内積
を意味する。換言すれば、hx(−x)は格子点の位置
ベクトルとxの内積のうち最小となる値である。このg
x(x)は最接近点の判定関数となり、xが原点OからK
への最接近点であるならば、また、その時に限りg
x(x)=0となる。尚、gx(x)が最接近点の判定関数
となることは証明できるが割愛する。詳細は前述の、
「IEEE JOUNAL OF ROBOTICS AND AUTOMATION, VOL.4, N
O.2, APRIL 1988、頁193〜203「A Fast Procedure for C
omputing the Distance Between Complex Objects in T
hree-Dimensional Space」を参照されたい。以上より、
もし、(9)式で求めたνkに対し、 gk(νk)=0 (10) ならば、ν(K)=νkとし、最接近点探索処理を終了
する。
3) Determination of closest approach point A function g x (x) for R 3 → R is defined as follows. g x (x) = | x | 2 + h x (−x) In the above equation, the first term on the right side means the square of the distance to a given point on the convex polyhedron K, where x is the position vector. The second term on the right side means the inner product of the lattice point position vector closest to the origin in the vector x direction and the vector -x. In other words, h x (−x) is the minimum value of the inner product of the position vector of the grid point and x. This g
x (x) is a determination function of the closest approach point, and x is K from the origin O
If it is the closest point to
x (x) = 0. It can be proved that gx (x) is a function for determining the closest approach point, but is omitted. Details are described above,
`` IEEE JOUNAL OF ROBOTICS AND AUTOMATION, VOL.4, N
O.2, APRIL 1988, pp. 193-203 `` A Fast Procedure for C
omputing the Distance Between Complex Objects in T
hree-Dimensional Space ". From the above,
If g k (v k ) = 0 (10) with respect to v k obtained by equation (9), v (K) = v k and the closest approach point search process is terminated.

【0043】4)kのインクリメント (10)式が成立しなければ、kをインクリメントする。す
なわち、V(k+1)を V(k+1)=Vk′∪{sk(−νk)} (11) とする。ここで、Vk′はVk′⊆Vkであり、かつ、νk
∈co Vk′となるVkの最小部分集合である。(11)式
は、Vkの部分集合Vk′(νkを含む)と、Vkにおける
最接近点ベクトルνk方向に原点から最も近い格子点sk
(−νk)を含む集合を意味する。以上から、(10)式が
成立しなければ、(11)式によりkをインクリメントして
2)へ戻り以降の処理を(10)式が成立するまで繰り返す。
4) Increment of k If equation (10) does not hold, k is incremented. That is, V (k + 1) is set to V (k + 1) = V k ′ ∪ {s k (−ν k )} (11). Here, V k ′ is V k ′ ⊆V k and ν k
It is the minimum subset of V k that becomes ∈co V k ′. (11) is a subset of V k V k 'and ([nu k a comprises) closest grid point from the origin to the point of closest approach vector [nu k direction in V k s k
A set including (−ν k ) is meant. From the above, if equation (10) does not hold, k is incremented by equation (11).
Returning to 2), the subsequent processing is repeated until Expression (10) is satisfied.

【0044】(f-4) Gilbert法による最接近点探索アル
ゴリズムの適用 上記Gilbert法による最接近点探索アルゴリズムの理解
度を深めるために図17を参照して最接近点探索を説明
する。図17において、初期値V0={z1,z2,z3
とし、V0における最接近点ベクトルを求めるとν0とな
る。この時、(10)式は満たされないからkをインクリメ
ントする。 V1=V0′∪{sk(−ν0)}=V0′∪{z4} であり、又、V0′={z2,z3}となるからV1={z
2,z3,z4}となる。V1における最接近点ベクトルを
求めるとν1となる。この時、(10)式は満たされないか
らkをインクリメントする。
(F-4) Application of closest point search algorithm by Gilbert method In order to deepen the understanding of the closest point search algorithm by Gilbert method, the closest point search will be described with reference to FIG. In FIG. 17, the initial value V 0 = {z 1 , z 2 , z 3 }
And then, the [nu 0 when obtaining the point of closest approach vector in V 0. At this time, since the expression (10) is not satisfied, k is incremented. V 1 = V 0 is' ∪ {s k (-ν 0 )} = V 0 '∪ {z 4}, also, V 0' = {z 2 , z 3} from the V 1 = {z
2, z 3, a z 4}. When the closest point vector at V 1 is obtained, it becomes ν 1 . At this time, since the expression (10) is not satisfied, k is incremented.

【0045】 V2=V1′∪{sk(−ν1)}=V1′∪{z5} であり、又、V1′={z3,z4}となるからV2={z
3,z4,z5}となる。V1における最接近点ベクトルを
求めるとν2となり、このν2により(10)式が満たされ、
ν2は最接近点ベクトルとなり、 ν2=ν(K)∈co {z4,z5} となる。この結果、最接近距離dはd=|ν2|とな
る。同じことを初期値を変えて行ってみる。図30にお
いて、初期値V0={z2}とし、V0における最接近点
ベクトルを求めるとν0′(=z2)となる。この時、(1
0)式は満たされないからkをインクリメントする。 V1=V0′∪{sk(−ν0′)}=V0′∪{z5} であり、又、V0′={z2}であるからV1={z2,z
5}となる。
V 2 = V 1 ′ {s k (−ν 1 )} = V 1 ′ {z 5 }, and V 1 ′ = {z 3 , z 4 }, so that V 2 = {Z
3 , z 4 , z 5 }. When the closest point vector at V 1 is obtained, it becomes ν 2 , and this ν 2 satisfies the expression (10),
ν 2 is the closest approach point vector, and ν 2 = ν (K) Kco {z 4 , z 5 }. As a result, the closest approach distance d is d = | ν 2 |. Try the same with different initial values. In FIG. 30, when the initial value V 0 = {z 2 } and the closest point vector at V 0 is obtained, ν 0 ′ (= z 2 ). At this time, (1
Since equation (0) is not satisfied, k is incremented. V 1 = V 0 ′ ∪ {s k (−ν 0 ′)} = V 0 ′ ∪ {z 5 、 and V 0 ′ = {z 2か ら, V 1 = {z 2 , z
5 }.

【0046】V1における最接近点ベクトルを求めると
ν1′となる。この時、(10)式は満たされないからkを
インクリメントする。 V2=V1′∪{sk(−ν1′)}=V1′∪{z4} であり、又、V1′={z2,z5}であるからV2={z
2,z4,z5}となる。V2における最接近点ベクトルを
求めるとν2′(=ν2)となり、このν2′により(10)
式が満たされ、ν2は最接近点ベクトルとなり、 ν2′=ν2=ν(K)∈co {z4,z5} となる。この結果、最接近距離dはd=|ν2|とな
り、初期値V0を V0={z1,z2,z3} とした場合と同じ結果が得られる。
When the closest approach point vector at V 1 is obtained, it becomes ν 1 '. At this time, since the expression (10) is not satisfied, k is incremented. V 2 = V 1 ′ ∪ {s k (−ν 1 ′)} = V 1 ′ ∪ {z 4 、 and V 1 ′ = {z 2 , z 5か ら, so that V 2 = {z
2, z 4, the z 5}. Determining points of closest approach vector in V 2 When ν 2 '(= ν 2), and this [nu 2' (10)
The equation is satisfied, and ν 2 becomes the closest point vector, and ν 2 ′ = ν 2 = ν (K) ∈co {z 4 , z 5 }. As a result, the closest approach distance d becomes d = | ν 2 |, and the same result as when the initial value V 0 is set to V 0 = {z 1 , z 2 , z 3 } is obtained.

【0047】なお、Gilbert法の初期格子点(初期値)
0は一般には任意であるが、以下に示すような各凸多
面体の重心差分方向の格子点から出発するのが効率的で
ある。 v0={sk(−zc1+zc2)} (12) ここで、zc1,zc2は、それぞれ zc1=Σ(xi/M1) (i=1〜M1) xi:凸多面
体K1のベース格子点 zc2=Σ(yi/M2) (i=1〜M2) yi:凸多面
体K2のベース格子点 である。Gilbert法により最接近点を求める時、以下の
不等式が成立する(図18参照) 。 rk=−hk(−νk)/|νk|≦ |ν(K)|≦|νk| (13) 従って、あるkに対し、rk>0ならば2凸物体間の干渉
は無いといえる。
The initial lattice point (initial value) of the Gilbert method
Although V 0 is generally arbitrary, it is efficient to start from a lattice point in the gravity center difference direction of each convex polyhedron as shown below. v 0 = {s k (−z c1 + z c2 )} (12) where z c1 and z c2 are respectively z c1 = Σ (xi / M 1 ) (i = 1 to M 1 ) xi: convex polyhedron Base lattice point of K 1 z c2 = Σ (yi / M 2 ) (i = 1 to M 2 ) yi: Base lattice point of convex polyhedron K 2 . When finding the point of closest approach by the Gilbert method, the following inequality holds (see FIG. 18). r k = −h k (−ν k ) / | ν k | ≦ | ν (K) | ≦ | ν k | (13) Therefore, for a certain k, if r k > 0, the interference between the biconvex objects There is no.

【0048】(g) Gibert法に基づくMerge可能性判定処
理 図19はGilbert法に基づくMerge可能性判定処理フロー
である。凸要素CLi,CHjの境界稜線BedgeCLi、Be
dgeCHjでそれぞれ構成される凸物体間にGilbert法を適
用して、(13)式のrkを計算する(ステップ141
1)。ついで、rk>0か判断し(ステップ141
2)、rk>0の場合には干渉しないから、Merge不可能
と判定する(ステップ1413)。しかし、rk≦0の場
合には、干渉しているからMerge干渉ありとして、前述
のMerge可能性の条件2〜条件4よりMerge可能/不可能
を判定する(ステップ1414)。
(G) Merge Possibility Judgment Processing Based on Gibert Method FIG. 19 is a flowchart of the Merge possibility judgment processing based on the Gilbert method. Boundary ridges Bedge CLi , Be of convex elements CLi, CHj
by applying the Gilbert method between each composed convex object with dge CHj, it computes the r k of (13) (step 141
1). Next, r k> 0 it is determined whether or not (step 141
2) If r k > 0, there is no interference, so it is determined that Merge is not possible (step 1413). However, if r k ≦ 0, it is determined that Merge interference exists because of interference, and Merge possibility / impossibility is determined from the above Merge possibility conditions 2 to 4 (step 1414).

【0049】(h) 簡略化したGibert法に基づくMerge可
能性判定処理 Gibert法に基づくMerge可能性判定処理を更に簡略化す
る。簡略化の要点はGilbert法の初期格子点V0として境
界稜線上の頂点集合BedgeCLi、BedgeCHjから任意の頂点
BedgeCLi0、BedgeCHji0を選んで、 V0=BedgeCLi0−BedgeCHji0 (14) を構成する。ついで、このV0を使って r=−hk(−V0)=−hk1(−V0)−hk2(V0) (15) を計算する。もし、r>0ならば、BedgeCLi、BedgeCHj
間は干渉が無く、凸要素CLi,CHjはMergeする可
能性が無いと判定する。
(H) Merge Possibility Determination Processing Based on Simplified Gibert Method Merge possibility determination processing based on the Gibert method is further simplified. The point of simplification is to set an arbitrary vertex from the vertex set Bedge CLi and Bedge CHj on the boundary edge as the initial lattice point V 0 of the Gilbert method.
Select the Bedge CLi0, Bedge CHji0, constitute V 0 = Bedge CLi0 -Bedge CHji0 (14). Then, using this V 0 , r = −h k (−V 0 ) = − h k1 (−V 0 ) −h k2 (V 0 ) (15) is calculated. If r> 0, Bedge CLi , Bedge CHj
There is no interference between them, and it is determined that there is no possibility of merging the convex elements CLi and CHj.

【0050】図20は簡略化したGilbert法に基づくMer
ge可能性判定処理フローである。凸要素CLi,CHj
の境界稜線BedgeCLi、BedgeCHjでそれぞれ構成される凸
物体間に簡略化したGilbert法を適用して、(15)式のr
を計算する(ステップ1411′)。ついで、r>0か
判断し(ステップ1412′)、r>0の場合には干渉
しないから、Merge不可能と判定する(ステップ141
3′)。しかし、r≦0の場合には、干渉しているから
Merge干渉ありとして、前述のMerge可能性の条件2〜条
件4よりMerge可能/不可能を判定する(ステップ141
4′)。
FIG. 20 shows Mer based on the simplified Gilbert method.
It is a ge possibility determination processing flow. Convex elements CLi, CHj
Applying the simplified Gilbert method between convex objects composed of the boundary edges Bedge CLi and Bedge CHj of
Is calculated (step 1411 '). Next, it is determined whether r> 0 (step 1412 ′). If r> 0, there is no interference, so it is determined that Merge is impossible (step 141).
3 '). However, when r ≦ 0, interference occurs.
It is determined that there is Merge interference, and Merge is possible / impossible from the above Merge possibility conditions 2 to 4 (step 141).
4 ').

【0051】(F)変形例 (a) 変形例1 以上の第5実施例の凸分解法に最適化処理を施して凸要
素数を減少するように構成することができる。この場合
の処理フローを図21に示す。図21において、第2実
施例の処理(図7参照)と異なる点は、ステップ120
2′、1204′において凸分解基本アルゴリズムに替
わって、干渉チェック組込型の高速凸分解アルゴリズム
を使用している点である。 (b) 変形例2 干渉チェック組込型の高速凸分解アルゴリズムを負物体
が存在する場合における凸分解処理に適用することがで
き、この場合の処理フローを図22に示す。図22にお
いて、第3実施例と異なる点は、ステップ1303′、
1306′において凸分解基本アルゴリズムに替わっ
て、干渉チェック組込型の高速凸分解アルゴリズムを使
用している点である。 (c) 変形例3 変形例2に更に最適化処理を施して凸要素数を減少する
ように構成することもできる。以上、本発明を実施例に
より説明したが、本発明は請求の範囲に記載した本発明
の主旨に従い種々の変形が可能であり、本発明はこれら
を排除するものではない。
(F) Modifications (a) Modification 1 The number of convex elements can be reduced by performing optimization processing on the convex decomposition method of the fifth embodiment described above. FIG. 21 shows a processing flow in this case. In FIG. 21, the difference from the processing of the second embodiment (see FIG. 7) is that step 120
In 2 'and 1204', a high-speed convex decomposition algorithm incorporating an interference check is used instead of the basic convex decomposition algorithm. (b) Modification 2 The high-speed convex decomposition algorithm incorporating the interference check can be applied to the convex decomposition processing in the presence of a negative object, and the processing flow in this case is shown in FIG. In FIG. 22, the point different from the third embodiment is that step 1303 ′,
In 1306 ', a fast convex decomposition algorithm incorporating an interference check is used instead of the basic convex decomposition algorithm. (c) Modification 3 Modification 2 may be further optimized to reduce the number of convex elements. As described above, the present invention has been described with reference to the embodiments. However, the present invention can be variously modified in accordance with the gist of the present invention described in the claims, and the present invention does not exclude these.

【0052】[0052]

【発明の効果】以上本発明によれば、分割統治法による
凸分解処理により高速に凸要素毎のポリゴン部分集合を
求めることができ、従って、該ポリゴン部分集合を用い
て高速に非凸多面体を構成する凸多面体を生成でき、し
かも、凸多面体間の干渉チェックに際してリアルタイム
性を有するGilbert法等の干渉チェック方法を非凸多面
体の干渉チェックに適用できる。又、本発明によれば、
分割統治法による凸分解処理により求めた複数のポリゴ
ン部分集合に対して分割統治法による凸分解処理を繰返
し適用するように構成したから、局所的に最小数の凸多
面体に分割できる。
As described above, according to the present invention, a polygon subset for each convex element can be obtained at high speed by convex decomposition processing by the divide-and-conquer method. Therefore, a non-convex polyhedron can be quickly formed using the polygon subset. A convex polyhedron can be generated, and an interference check method such as the Gilbert method having real-time property can be applied to interference check of a non-convex polyhedron when checking interference between convex polyhedrons. According to the present invention,
Since a plurality of polygon subsets obtained by the divide-and-conquer method are repeatedly applied to the plurality of polygon subsets obtained by the divide-and-conquer method, it can be locally divided into the minimum number of convex polyhedrons.

【0053】更に、本発明によれば、非凸多面体が穴等
の負の形状(負物体)を有する場合には、非凸多面体を
構成する各凸多角形(ポリゴン)の法線ベクトルの符号
を逆転して反転形状のモデルを想定し、該反転形状モデ
ルに分割統治法を適用して負物体のポリゴン部分集合を
求める、しかる後、非凸多面体を構成する初期のポリゴ
ン集合より負物体のポリゴン部分集合を除去し、該除去
することにより得られた非反転形状のポリゴン集合に分
割統治法を適用して正物体のポリゴン部分集合を求め
る。そして、正負の各ポリゴン部分集合より凸多面体を
生成するようにしたから、非凸多面体に穴等の負物体が
存在する場合でも、該非凸多面体を該負物体を含む凸多
面体に分割できる。
Further, according to the present invention, when the non-convex polyhedron has a negative shape (negative object) such as a hole, the sign of the normal vector of each convex polygon (polygon) constituting the non-convex polyhedron Is inverted to assume an inverted shape model, and a polygonal subset of the negative object is obtained by applying the divide-and-conquer method to the inverted shape model. Thereafter, the negative object is calculated from the initial polygon set constituting the non-convex polyhedron. The polygon subset is removed, and a polygon subset of the regular object is obtained by applying the divide and conquer method to the non-inverted shape polygon set obtained by the removal. Then, since the convex polyhedron is generated from each of the positive and negative polygon subsets, even when the non-convex polyhedron has a negative object such as a hole, the non-convex polyhedron can be divided into a convex polyhedron including the negative object.

【0054】又、本発明によれば、分割統治法における
マージング可能性を、各ポリゴン部分集合の境界稜線で
構成される凸物体が干渉するかチェックし、干渉しない
場合には共通の境界稜線がないものと判定して以降のマ
ージング可能性の処理をスキップし、干渉する場合には
共通の境界稜線が存在するものと判定して以降のマージ
ング可能性の処理を継続するようにしたから、マージン
グ可能性の処理に要する時間を短縮でき、高速に凸要素
毎のポリゴン部分集合を求めることができる。
Further, according to the present invention, the merging possibility in the divide-and-conquer method is checked by checking whether or not a convex object constituted by the boundary edges of each polygon subset interferes. Since it is determined that there is no merging possibility, the subsequent merging possibility processing is skipped, and in the case of interference, it is determined that a common boundary edge exists, and the subsequent merging possibility processing is continued. The time required for processing the possibility can be reduced, and a polygon subset for each convex element can be obtained at high speed.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の原理説明図である。FIG. 1 is a diagram illustrating the principle of the present invention.

【図2】本発明のシステム構成図である。FIG. 2 is a system configuration diagram of the present invention.

【図3】干渉チェック前処理の概略的処理フローであ
る。
FIG. 3 is a schematic processing flow of an interference check pre-processing.

【図4】凸分解基本アルゴリズムの処理フローである。FIG. 4 is a processing flow of a convex decomposition basic algorithm.

【図5】Mergeプロセスの流れ図である。FIG. 5 is a flow chart of the Merge process.

【図6】ポリゴン間の凹凸関係判定説明図である。FIG. 6 is an explanatory diagram for determining the unevenness relationship between polygons.

【図7】本発明の第2実施例の処理フローである。FIG. 7 is a processing flow according to a second embodiment of the present invention.

【図8】ブール集合演算による物体表現説明図である。FIG. 8 is an explanatory diagram of an object representation by a Boolean set operation.

【図9】本発明の第3実施例の処理フローである。FIG. 9 is a processing flow of a third embodiment of the present invention.

【図10】負物体がある場合の凸分解の結果説明図であ
る。
FIG. 10 is an explanatory diagram of a result of convex decomposition when there is a negative object.

【図11】本発明の第4実施例の処理フローである。FIG. 11 is a processing flow according to a fourth embodiment of the present invention.

【図12】本発明の干渉チェック前処理の別の概略的処
理フローである。
FIG. 12 is another schematic processing flow of the interference check pre-processing of the present invention.

【図13】高速凸分解基本アルゴリズムのフローであ
る。
FIG. 13 is a flowchart of a fast convex decomposition basic algorithm.

【図14】Mergeプロセスの流れ図である。FIG. 14 is a flow chart of the Merge process.

【図15】干渉チェックアルゴリズムの概略処理フロー
である。
FIG. 15 is a schematic processing flow of an interference check algorithm.

【図16】サポート関数の説明図である。FIG. 16 is an explanatory diagram of a support function.

【図17】Gilbert法による最接近点探索の説明図であ
る。
FIG. 17 is an explanatory diagram of a search for a point of closest approach by the Gilbert method.

【図18】Gilbert法による干渉チェック原理説明図で
ある。
FIG. 18 is an explanatory diagram of the principle of interference check by the Gilbert method.

【図19】Gilbert法に基づくMerge可能性判定のフロー
である。
FIG. 19 is a flowchart of Merge possibility determination based on the Gilbert method.

【図20】簡略化したGilbert法に基づくMerge可能性判
定のフローである。
FIG. 20 is a flowchart of Merge possibility determination based on the simplified Gilbert method.

【図21】本発明の第1変形例の処理フローである。FIG. 21 is a processing flow of a first modification of the present invention.

【図22】本発明の第2変形例の処理フローである。FIG. 22 is a processing flow of a second modified example of the present invention.

【符号の説明】[Explanation of symbols]

1・・非凸多面体を構成する初期ポリゴン集合 2・・分割手段 3a,3b・・第1、第2グループのポリゴン集合 4a,4b・・凸関係にあるポリゴン部分集合を求める
手段 5・・マージング手段 6・・マージングにより得られた凸関係にある複数のポ
リゴン部分集合
1. Initial polygon set constituting non-convex polyhedron 2. Dividing means 3a, 3b Polygon sets of first and second groups 4a, 4b ... Means for obtaining polygon subsets having convex relations 5. Merging Means 6 ··· A plurality of polygon subsets in a convex relationship obtained by merging

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭64−26981(JP,A) 特開 昭62−212783(JP,A) 特開 昭63−19075(JP,A) 特開 昭63−178372(JP,A) 情報処理学会グラフィクスとCADシ ンポジウム論文集(平成4年)95−104 頁 杉原厚吉「位相優先法 幾何的アル ゴリズムの数値的安定化のための一手 法」 (58)調査した分野(Int.Cl.6,DB名) G06F 17/50 G06T 17/00 JICSTファイル(JOIS)──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-64-26981 (JP, A) JP-A-62-212783 (JP, A) JP-A-63-19075 (JP, A) JP-A-63-19075 178372 (JP, A) Information Processing Society of Japan, Graphics and CAD Symposium (1992), pp. 95-104, Atsuyoshi Sugihara, "Phase First Method, A Technique for Numerically Stabilizing Geometric Algorithms" (58) Survey Field (Int.Cl. 6 , DB name) G06F 17/50 G06T 17/00 JICST file (JOIS)

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 非凸多面体を凸多面体に分割し、該凸多
面体を用いて非凸多面体の干渉チェックを行なう干渉チ
ェックシステムにおける凸多面体生成装置において、 非凸多面体の表面を覆う多数の凸多角形(ポリゴン)の
形状データを含むポリゴンデータファイルを作成するポ
リゴンデータ作成部、 ポリゴンデータ作成部で作成された前記ポリゴンデータ
ファイルを記憶するメモリ、 非凸多面体を凸多面体に分割する分割処理の開始を指示
する操作部、 メモリに格納されている前記ポリゴンデータファイルを
用いて、非凸多面体の表面を覆う多数のポリゴンを第
1、第2のグループに分割し、各グループにおいて隣接
ポリゴンとの関係が凸であるポリゴンの部分集合を求め
るポリゴン部分集合作成処理部、 共通の境界稜線を有する第1グループのポリゴン部分集
合と第2グループのポリゴン部分集合とが凸関係にある
ものを併合して複数の新たなポリゴン部分集合を求め、
これらポリゴン部分集合を用いて凸多面体を生成する凸
多面体生成処理部、 処理結果を出力する出力部、 を備えたことを特徴とする干渉チェックシステムにおけ
る凸多面体作成装置。
A non-convex polyhedron is divided into convex polyhedrons.
Interference check for non-convex polyhedron interference check
In the convex polyhedron generation device in the check system, a large number of convex polygons (polygons) covering the surface of the non-convex polyhedron are generated .
Create a polygon data file containing shape data
The polygon data created by the polygon data creation section and the polygon data creation section
Instructs the memory for storing files and the start of the division process to divide a non-convex polyhedron into a convex polyhedron
The operation unit that executes the above-mentioned polygon data file stored in the memory.
Multiple polygons covering the surface of the non-convex polyhedron
Divide into 1 and 2 groups, adjacent in each group
Find a subset of polygons whose relationship with polygons is convex
Polygon subset creation processing unit, a first group of polygon subsets having a common boundary edge
And the polygon subset of the second group have a convex relationship
Merge things to find multiple new polygon subsets,
Convex which generates convex polyhedron using these polygon subsets
An interference check system comprising a polyhedron generation processing unit and an output unit for outputting a processing result.
Convex polyhedron making device.
【請求項2】 前記凸多面体生成処理部は、 2つのポリゴン部分集合が凸関係にあるか否かは、前記
境界稜線を共有するポリゴンの全組合せを求め、全組合
せにおいてポリゴン間が凸の関係にある時、第1グルー
プのポリゴン部分集合と第2グループのポリゴン部分集
合とが凸関係にあると判定し、1組でも凹の関係にある
場合には凸の関係にないと判定することを特徴とする請
求項1記載の干渉チェックシステムにおける凸多面体作
成装置
2. The convex polyhedron generation processing unit determines whether or not two polygon subsets have a convex relationship by determining all combinations of polygons sharing the boundary ridge line, and in all combinations, the relationship between polygons is convex. , It is determined that the polygon subset of the first group and the polygon subset of the second group are in a convex relationship, and if even one set is in a concave relationship, it is determined that there is no convex relationship. 2. A convex polyhedron in the interference check system according to claim 1.
Equipment .
【請求項3】 前記凸多面体生成処理部は、 第1グループのポリゴン部分集合の境界稜線で構成され
る凸物体と第2グループのポリゴン部分集合で構成され
る凸物体とが干渉するかチェックし、干渉しない場合に
は共通の境界稜線がないものと判定し、干渉する場合に
は共通の境界稜線が存在するものと判定し、共通の境界
稜線を有する2つのポリゴン部分集合に対して前記凸関
係にあるか否かを判定することを特徴とする請求項2記
載の干渉チェックシステムにおける凸多面体作成装置。
3. The convex polyhedron generation processing unit checks whether a convex object composed of a boundary ridge line of a polygon subset of a first group and a convex object composed of a polygon subset of a second group interfere with each other. If there is no interference, it is determined that there is no common boundary ridge. If there is interference, it is determined that there is a common boundary ridge. 3. The method according to claim 2, wherein whether or not there is a relationship is determined.
The convex polyhedron creation device in the interference check system described above.
【請求項4】 前記凸多面体生成処理部は、 前記最終的に求めた複数のポリゴン部分集合を第1、第
2のグループに分割し、各グループにおいて隣接ポリゴ
ンとの関係が凸であるポリゴンの部分集合を求め、共通
の境界稜線を有する第1グループのポリゴン部分集合と
第2グループのポリゴン部分集合とが凸関係にあるもの
を併合して複数の新たなポリゴン部分集合を求め、前回
に求めたポリゴン部分集合の数と今回求めたポリゴン部
分集合の数が等しくない場合には、新たに求めた複数の
ポリゴン部分集合に対して上記処理を更に繰返し、等し
くなれば前回あるいは今回求めた各ポリゴン部分集合を
出力することを特徴とする請求項1記載の干渉チェック
システムにおける凸多面体作成装置
4. The convex polyhedron generation processing unit divides the plurality of finally obtained polygon subsets into first and second groups, and in each group, a polygon having a convex relation with an adjacent polygon is formed. A subset is obtained, and a polygon subset of the first group and a polygon subset of the second group having a common boundary ridge are merged to obtain a plurality of new polygon subsets by combining the polygon subsets. If the number of polygon subsets obtained is not equal to the number of polygon subsets obtained this time, the above processing is further repeated for a plurality of newly obtained polygon subsets. The interference check according to claim 1, wherein a subset is output.
Convex polyhedron creation device in the system .
JP6209007A 1993-09-14 1994-09-02 Convex polyhedron generator for interference check system Expired - Fee Related JP2820894B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6209007A JP2820894B2 (en) 1994-09-02 1994-09-02 Convex polyhedron generator for interference check system
US08/710,550 US5675720A (en) 1993-09-14 1996-09-19 Method of searching for points of closest approach, and preprocessing method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6209007A JP2820894B2 (en) 1994-09-02 1994-09-02 Convex polyhedron generator for interference check system

Publications (2)

Publication Number Publication Date
JPH0877210A JPH0877210A (en) 1996-03-22
JP2820894B2 true JP2820894B2 (en) 1998-11-05

Family

ID=16565750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6209007A Expired - Fee Related JP2820894B2 (en) 1993-09-14 1994-09-02 Convex polyhedron generator for interference check system

Country Status (1)

Country Link
JP (1) JP2820894B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3689226B2 (en) * 1997-03-13 2005-08-31 富士通株式会社 Decomposition path generator
JP3383563B2 (en) * 1997-12-18 2003-03-04 富士通株式会社 Object movement simulation device
JPH11272721A (en) 1998-03-19 1999-10-08 Fujitsu Ltd Interference check result display method, interference check result display device and computer readable record medium recording interference check result display program
JP4936522B2 (en) 2006-09-29 2012-05-23 キヤノン株式会社 Image processing method and image processing apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理学会グラフィクスとCADシンポジウム論文集(平成4年)95−104頁 杉原厚吉「位相優先法 幾何的アルゴリズムの数値的安定化のための一手法」

Also Published As

Publication number Publication date
JPH0877210A (en) 1996-03-22

Similar Documents

Publication Publication Date Title
US10614195B2 (en) Mechanisms for reparametrizing surfaces to provide inter-surface continuity
US7436407B2 (en) Topology determination, decomposable shape generation, and structured mesh generation
US20080034023A1 (en) Contact geometry calculation device, contact geometry calculation method, and computer program product
US6124857A (en) Meshing method and apparatus
JPH08138082A (en) Method and system for generation of square mesh
JPH03171303A (en) Method and apparatus for generating data structure
US20130116984A1 (en) Designing a Modeled Volume Represented by Dexels
JP2002245098A (en) Method and device for generating hexahedral mesh
Putnam et al. Boolean operations on n-dimensional objects
JP2820894B2 (en) Convex polyhedron generator for interference check system
US8477133B2 (en) Method and apparatus for generating three-dimensional finite element mesh
Leymarie et al. Computation of the shock scaffold for unorganized point clouds in 3D
JP3316092B2 (en) Closest point search device
Veeramani et al. Cutter-path generation using multiple cutting-tool sizes for 2-1/2D pocket machining
US6192293B1 (en) System for meshing curved surface by generating and controlling the number of bubbles in parametric space
JPH1196400A (en) Shape transforming method
JP2660490B2 (en) Drawing candidate line segment extracting device, drawing candidate line segment extracting method, solid model synthesizing device, and solid model synthesizing method
Canann Plastering-A new approach to automated, 3-D hexahedral mesh generation
Niedzwiedzki et al. Idtmm: Incremental direct triangle mesh mapping
JPH087800B2 (en) Method and apparatus for synthesizing solid model
JPH0727582B2 (en) Shape modeling system in CAD system
JP3289230B2 (en) Generator of finite element mesh distribution
Ryszka et al. Graph transformation systems for modeling three dimensional finite element method. Part I
JP2004094750A (en) Three-dimensional configuration processor, interference model detecting method, program and storage medium
US20230394768A1 (en) System and method of generating smooth spline surface model preserving feature of physical object

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980818

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080828

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090828

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090828

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100828

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110828

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees