JPH0877210A - Pretreatment method for interference check - Google Patents
Pretreatment method for interference checkInfo
- Publication number
- JPH0877210A JPH0877210A JP6209007A JP20900794A JPH0877210A JP H0877210 A JPH0877210 A JP H0877210A JP 6209007 A JP6209007 A JP 6209007A JP 20900794 A JP20900794 A JP 20900794A JP H0877210 A JPH0877210 A JP H0877210A
- Authority
- JP
- Japan
- Prior art keywords
- convex
- polygon
- group
- subsets
- subset
- 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.)
- Granted
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
(57)【要約】
【目的】 非凸多面体のポリゴン集合を高速に凸要素の
複数の部分ポリゴン集合に分割する。
【構成】 分割手段2により非凸多面体を構成する多数
の凸多角形(初期ポリゴン集合)1を第1、第2の2つ
のグループ3a,3bに分割し、グループ化手段4a,
4bにより各グループ3a,3bにおいて隣接ポリゴン
との関係が凸であるポリゴン部分集合を求める。つい
で、マージング手段5により、共通の境界稜線を有する
第1グループのポリゴン部分集合と第2グループのポリ
ゴン部分集合とが凸関係にあるものを併合して複数の新
たなポリゴン部分集合6を求めて出力する。
(57) [Summary] [Objective] A polygonal set of a non-convex polyhedron is rapidly divided into a plurality of partial polygonal sets of convex elements. [Structure] The dividing means 2 divides a large number of convex polygons (initial polygon set) 1 forming a non-convex polyhedron into two groups, first and second groups 3a and 3b, and grouping means 4a,
4b, a polygon subset having a convex relationship with an adjacent polygon in each group 3a, 3b is obtained. Then, the merging means 5 merges those having a convex relationship between the polygon subsets of the first group and the polygon subsets of the second group having a common boundary edge line to obtain a plurality of new polygon subsets 6. Output.
Description
【0001】[0001]
【産業上の利用分野】本発明は非凸多面体と他の物体と
の干渉チェックを行なう干渉チェック前処理方法に係わ
り、特に非凸多面体を構成するポリゴン集合を凸関係に
ある複数のポリゴン部分集合に分割する方法に関する。
更に詳細には、本発明は、グラフィックワークステーシ
ョン等に構築された任意の三次元CADモデルに対し
て、そのモデルの各領域における凹凸を判定することに
より、初期のモデルを有限個の凸物体の集合に自動的に
分解する方法に係り、三次元CADモデル間の干渉状態
を高速にチェックするリアルタイム干渉チェックシステ
ムの実現に必要な技術に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an interference check preprocessing method for checking interference between a non-convex polyhedron and another object, and more particularly to a polygon set forming a non-convex polyhedron having a plurality of convex polygonal subsets. On how to split into.
More specifically, according to the present invention, an arbitrary model of a three-dimensional CAD model constructed in a graphic workstation or the like is judged to have unevenness in each area of the model, thereby determining the initial model as a finite number of convex objects. The present invention relates to a method for automatically decomposing into a set, and relates to a technique necessary for realizing a real-time interference check system for checking an interference state between three-dimensional CAD models at high speed.
【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 high speed, all the conventionally known interference check methods have limited 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 International Conference 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). Both of these methods have a computational load of O.
The closest point can be calculated in a calculation time of (N) (0 () is a function representing the calculation load, and N is the total number of target grid points). However, the targets to which these methods can be applied are 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
Shape data designed using the D system is almost always a non-convex object. Therefore, it is not possible to apply a real-time interference check method such as the Boblow method, the Lin / Carry method, or the Gilbert method to the interference check between the parts, and it is possible to apply only between the polygons forming the parts. A method of performing a brute force interference check and a method of analytically taking time to solve an equation defining a shape have been adopted.
【0004】[0004]
【発明が解決しようとする課題】以上のように、従来
は、非凸多面体と他の物体間の干渉チェックを高速に行
なえない問題があった。又、従来は、非凸多面体と他の
物体間の干渉チェックに際してGilbert法等のリアルタ
イム性を有する干渉チェック方法を適用できない問題が
あった。以上から、本発明の第1の目的は、非凸多面体
を構成するポリゴン集合を凸の関係にある複数ポリゴン
部分集合に分解する凸分解方法を提供することである。
本発明の第2の目的は、高速に非凸多面体と他の物体間
の干渉チェックを行なえる干渉チェック前処理方法を提
供することである。本発明の第3の目的は、凸多面体間
の干渉チェックに際して、リアルタイム性を有するGilb
ert法等の干渉チェック方法を適用できる干渉チェック
前処理方法を提供することである。As described above, conventionally, there is a problem that the interference check between the non-convex polyhedron and another object cannot be performed at high speed. Further, conventionally, there has been a problem that a real-time interference check method such as the Gilbert method cannot be applied to the interference check between a non-convex polyhedron and another object. From the above, the first object of the present invention is to provide a convex decomposition method for separating a polygon set forming a non-convex polyhedron into a plurality of polygon subsets having a convex relationship.
A second object of the present invention is to provide an interference check pre-processing method capable of performing an interference check between a non-convex polyhedron and another object at high speed. A third object of the present invention is to provide a Gilb that has real-time property when checking the interference between convex polyhedrons.
An object of the present invention is to provide a pre-processing method for interference check, to which an interference check method such as the ert method can be applied.
【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 for explaining the principle of the present invention. 1 is a set of polygons forming a non-convex polyhedron,
2 is a means for dividing a polygon set into two groups, a first and a second group, 3a and 3b are first and second divided polygon sets, and 4a and 4b are in a convex relationship in the first and second groups. Means for grouping into certain polygon subsets, 5
Is a merging means for merging the first and second groups of convex polygon subsets, and 6 is a plurality of convex polygon subsets 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法等の干渉
チェック方法を適用できる。The dividing means 2 divides a large number of convex polygons (polygons) 1 forming a non-convex polyhedron into the first and second groups 3a and 3b, and the grouping means 4a and 4b divides each group 3a, 3b. In 3b, a polygon subset having a convex relationship with an adjacent polygon is obtained. Then, the merging means 5 merges those having a convex relationship between the polygon subsets of the first group and the polygon subsets of the second group having a common boundary edge line 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 the boundary ridge line are obtained, and when the polygons have a convex relationship in all the combinations, it is determined that the polygon subset of the first group and the polygon subset of the second group have a convex relationship. However, if even one set has a concave relationship, it is determined that the relationship is not convex. According to the above, the initial polygon set of the non-convex polyhedron can be divided into polygon sub-sets of convex elements at high speed, and the interference check method such as the Gilbert method which has real-time property in the interference check can be applied.
【0007】又、分割統治法におけるマージング可能性
を、各ポリゴン部分集合の境界稜線で構成される凸物体
が干渉するかチェックし、干渉しない場合には共通の境
界稜線がないものと判定して以降のマージング可能性の
処理をスキップし、干渉する場合には共通の境界稜線が
存在するものと判定して以降のマージング可能性の処理
を継続するように構成する。このようにすれば、マージ
ング可能性の判定処理に要する時間を短縮でき、更に高
速に凸要素毎のポリゴン部分集合を求めることができ
る。更に、分割統治法による凸分解処理により求めた複
数のポリゴン部分集合に対して分割統治法による凸分解
処理を繰返し適用するようにする。このようにすれば、
最小数の凸要素数に分割できる(凸要素数のローカルミ
ニマムを求めることができる)。Further, the merging possibility in the division-and-conquer method is checked by checking whether the convex objects constituted by the boundary edges of each polygon subset interfere with each other, and if they do not interfere, it is judged that there is no common boundary edge. The subsequent merging possibility processing is skipped, and when interference occurs, it is determined that a common boundary edge line exists, and the subsequent merging possibility processing is continued. By doing so, the time required for the merging possibility determination process can be shortened, and the polygon subset for each convex element can be obtained at higher speed. Furthermore, the convex decomposition processing by the division-and-conquer method is repeatedly applied to a plurality of polygon subsets obtained by the convex decomposition processing by the division-and-conquer method. If you do this,
It can be divided into a minimum number of convex elements (a local minimum 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) forming the non-convex polyhedron is reversed to invert the shape. Assuming the above model, a large number of polygons forming the inverted shape model are divided into two groups, and then the division and conquer method is applied to obtain a polygon subset of negative objects. Then, the polygon subset of the negative object is removed from the initial polygon set that forms the non-convex polyhedron, and the polygonal structure of the positive object is applied by applying the divide-and-conquer method to the polygon set of the non-inverted shape obtained by the removal. Obtain a subset and output each positive and negative polygon subset. By doing so, even when a negative object such as a hole exists in the non-convex polyhedron, the non-convex polyhedron can be divided into convex polyhedrons including the negative object.
【0009】[0009]
(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 the case of performing interference check pre-processing on a shape model on a graphic workstation. GWS is a graphic workstation.
The CPU is a processor for executing the interference check preprocessing, the interference check processing, and other processing, and the MEM is a memory for storing the shape data FDT designed by the three-dimensional CAD system (not shown), the interference check preprocessing program ICP, and the like. , DPL is a display unit, OPS is an operation unit such as a keyboard and mouse, and OPR is an operator. The operator OPR inputs a preprocessing 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 uses the non-convex polyhedron shape data FDT based on the interference check pre-processing program ICP stored in the memory MEM to perform the pre-processing (dividing the polygon set of the non-convex polyhedron). ) Is executed. 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 Preprocessing FIG. 3 is a schematic processing flow of the interference check preprocessing of the present invention. The three-dimensional CAD system creates a shape model (non-convex polyhedron) to create a graphic workstation GW.
Input to S (steps 1001 and 1002). CAD
The system inputs all polygon data when an 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 general polygon data is represented by combining triangular polygons as shown in FIG. In the case of the triangular polygon data shown in FIG. 3, three real numbers following normal represent the light reflection direction, and three real numbers following vertex represent the vertex coordinate values. The procedure for outputting polygon data from the shape model in the three-dimensional CAD system is usually prepared in the three-dimensional CAD system. Then, the polygon data is divided into a set of polygon data (polygon subset) divided for each convex element in accordance with the convex decomposition basic algorithm by the division and conquer method. That is, the initial polygon data (polygon set of non-convex polyhedron) is divided into sets of subsets for each convex element and output (steps 1003, 100).
4). After that, a convex polyhedron is generated for each subset.
Incidentally, although each shape of the polygon is generally arbitrary, each polygon is assumed to satisfy the 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 Method FIG. 4 is a flow chart of the basic algorithm for convex decomposition by the divide and conquer method. An initial polygon set (polygon set of non-convex polyhedron) P is input (step 1101), and then the initial polygon set P is processed by the division and conquer method (step 1102). That is, the initial polygon set P
Is divided into two groups, a first group and a second group, and a polygon subset having a convex relationship with an adjacent polygon in each group is obtained. Then, a plurality of new polygon sub-sets DP1, DP2, ... for each convex element are merged by merging those in which the polygon sub-sets of the first group and the polygon sub-sets of the second group having a common boundary edge are in a convex relationship. · Ask for. 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 an example of a detailed program of the divisional governance method. Definition 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 sets NoP: number of elements P Algorithm (divide and conquer) an if (number of input polygons 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 of k or less PH = { Pk + 1 , pk + 2 , pk + 3 , ..., pNoP }: 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 reign is recursively repeated. The most important point where problem dependence exists in the divide-and-conquer law is the "merging" process, that is, the method of constructing 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 Divide and Conquer Method FIG. 5 is a flow chart of the Merge process in the Divide and Conquer method. 1) Prepare convex element sets DC (PL), DC (PH)
(Steps 1111a, 1111b). Convex element set DC
Each element of (PL) and DC (PH) is CLi, C in FIG.
As indicated by Hj, a set of polygons that form the element and a set of boundary edges that form the boundary of the element.
(boundary edges). 2) Judgment of possibility of merging 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 that form the boundary ridge. If there is no shared boundary edge line, it is determined that Merge is impossible. Condition 2: With respect to the shared boundary ridge, the uneven relationship between the CLi polygon and the CHj polygon sharing the ridge is checked. If there is a combination of polygons that are in a concave relationship, it is determined that the merge is impossible. Condition 3: When condition 1 and condition 2 are cleared, that is,
It is determined that Merege is possible when polygons have a convex relationship in all combinations of polygons sharing a boundary ridge.
【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
Hj′,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 CHjIs it possible to merge with (j = 1,2, ... NPH)?
Determine whether or not. If CL1Is CHjAnd Merge is possible
Then, after that, CL1, DC (PH) as follows
To do. CL1∪CHj→ CL1 DC (PH) = {CH1, CH2・ ・ ・ CHj-1, CHj + 1・
..} 3-2) Perform the same procedure for CLi (i = 2,3, ... NPL)
It 4) Construction 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, CL2・ ・ ・ ・ ・ ・ 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から境界稜線
x1−x0=aに降ろした垂線ベクトルである。又、ベク
トルa,b,cを単位化したものをそれぞれe0,e1,
e2とする。nA,nBは、それぞれポリゴンA、ポリゴ
ンBの外向き法線ベクトル(ポリゴンを定義する各格子
点における光の反射方向の平均とする)を表す。この
時、b,c,e0,e1,e2は次式で与えられる。(E) Judgment of Concavo-convex Relationship between Polygons FIG. 6 is an explanatory diagram of the concavo-convex relationship judgment processing between polygons.
As shown in FIG. 6 (a), one boundary ridge line BEG is shared 2
Assume one polygon A, B. The relative positional relationship of the polygons is either distant from each other or contacting each other via a ridgeline as shown in FIG. 6A, and other relationships (for example, intersecting at a portion other than the ridgeline). Etc.) is not available. 6 (a), the vector b, c is a perpendicular vector down each polygon B, the center of gravity p of the polygon A, from q to boundary edge x 1 -x 0 = a. Also, vectorized units of vectors a, b, and c are e 0 , e 1 , and
e 2 . n A and n B represent outward normal vectors of the polygon A and the polygon B (the averages of the light reflection directions at the respective lattice 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 e0=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 inner 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 concave-convex relationship between the polygon A and the polygon B, the vector b is X 0 as shown in FIG. 6B. Coordinate conversion is performed so that it matches the axis. The transformation matrix at this time is
【数1】 で与えられる。[Equation 1] Given in.
【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 either 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 is satisfied, polygon A and polygon 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 in consideration of the error.
【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 [T · c] Z <ε and (e 1 × e 2 ) · n A > −ε, 2 ) (e 0 × e 1 ) · n B ≦ 0 [T · c] Z ≧ −ε and (e 1 × e 2 ) · n A ≦ ε are satisfied, polygon A and polygon B Have a convex relationship. Here, ε is a minute amount determined by the object to be handled. Each element of the set DC (P) of polygon subsets obtained by the division and conquer method is not always 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 shown 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 convex decomposition is performed by a basic algorithm based on the divide-and-conquer method, the number of convex elements after decomposition is not always the minimum. In the second embodiment, the number of convex elements is optimized (reduced as much as possible) by repeatedly using the convex decomposition basic algorithm. The optimization method of the second embodiment is not a method of minimizing the number of convex elements in a strict sense, but is 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 (non-convex polyhedron polygon set) P is input from a three-dimensional CAD system or the like (step 1201), and then a convex decomposition basic algorithm by the division-and-conquer method is applied to the initial polygon set P (step 1202). . That is, the initial polygon set P is divided into two groups, a first group and a second group, and a polygon subset having a convex relationship with an adjacent polygon in each group is obtained. Then, a plurality of new polygon sub-sets DP1, DP2, ... for each convex element are merged by merging those in which the polygon sub-sets of the first group and the polygon sub-sets of the second group having a common boundary edge are in a convex relationship. · Ask for.
【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)である。After that, the polygon subsets DP1 and DP
A convex element set DC (P) whose elements are 2, ... Is output (step 1203). The number of convex elements is NDC (P)
Is. Then, the convex decomposition basic algorithm based on the divide and conquer method is applied again to the convex element set DC (P) (step 1204). That is, a plurality of polygon subsets forming 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 an adjacent polygon is obtained, and common polygon subsets are obtained. A plurality of new polygon sub-sets DDP1, DDP2, ... Are obtained by merging the polygon sub-sets of the first group and the polygon sub-sets of the second group having the boundary ridges in a convex relationship. After that, polygon subsets DDP1 and DDP
A convex element set DC (DC (P)) having 2, 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 NDC (P) of polygon subsets obtained last time and the number ND of polygon subsets obtained this time
DC (P) are compared (step 1206), and if they match, the convex element set DC (DC (P)) is finally output (step 1207). And this convex element set DC
On the other hand, a convex polyhedron will be generated using the polygon subset that constitutes (DC (P)). On the other hand, if NDDC (P) and NDC (P) are not equal (for example, NDDC (P) <NDC ( P)), DC
(DC (P)) → DC (P) (step 120
8) After that, 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 division-and-conquer method. In the optimization method, the convex decomposition basic algorithm is repeatedly applied to the output DC (P) until the number of convex elements is no longer reduced.
【0022】(C)第3実施例 分割統治法による基本アルゴリズムを用いる方法では、
穴等の認識において分割した凸要素数が予想以上に増え
る可能性がある。第3実施例では、凸要素数を減少させ
るために、穴等の物体に対してブール代数を負とみなし
て凸分解処理を行ない、その他の正物体に対して第1実
施例の凸分解処理を施すものである。ブール代数を負と
みなすとは、端的に各ポリゴンの法線方向の符号を反転
(法線方向を逆転)することである。通常の分割統治法
による基本アルゴリズムと負物体認識法とを組み合わせ
ることにより、凸要素数の少ない凸分解が可能となる。
図8は穴等の形状(負物体)を含む物体のブール集合演
算による物体表現法の説明図である。HLは穴、HL′
は法線方向を逆転した穴部、BDYは穴のない物体(穴
なし物体)である。穴付き物体は穴なし物体BDYから
法線方向を逆転した穴部分を差し引くことにより表現さ
れる。(C) Third Embodiment In the method using the basic algorithm by the division and conquer method,
There is a possibility that the number of divided convex elements in recognizing holes etc. will increase more than expected. In the third embodiment, in order to reduce the number of convex elements, the Boolean algebra is regarded as negative for an object such as a hole and convex decomposition processing is performed, and for other positive objects, the convex decomposition processing of the first embodiment is performed. Is to be applied. To regard a Boolean algebra as negative means to simply reverse the sign of the normal direction of each polygon (reverse the normal direction). By combining the basic algorithm based on the ordinary divide-and-conquer method with the negative object recognition method, convex decomposition with a small number of convex elements becomes possible.
FIG. 8 is an explanatory diagram of an object representation method by a Boolean set operation of an object including a shape (negative object) such as a hole. HL is a hole, HL '
Is a hole portion in which the normal direction is reversed, and BDY is an object without a hole (object without a hole). The object with a hole is represented by subtracting the hole portion with the normal direction 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 flow chart of the convex decomposition process of the third embodiment,
FIG. 10 is an explanatory diagram of the convex decomposition result. Three-dimensional CAD
An initial polygon set (non-convex polyhedron polygon set) P is input from a system or the like (step 1301), and then a polygon set P B in which all the normal directions of the initial polygon set P are reversed is created (step 1302). Thereafter, the convex decomposition basic algorithm is applied to the polygon set P B (step 1303). That is, the polygon set P B is divided into two groups, a first group and a second group, and a polygon subset having a convex relationship with an adjacent polygon in each group is obtained. Then, the polygon subsets of the first group and the polygon subsets of the second group having a common boundary edge are merged to obtain a plurality of new polygon subsets for each convex element.
【0024】しかる後、該複数のポリゴン部分集合を要
素とする凸要素集合DC(PB)(図10参照)を出力
し、又、凸要素集合DC(PB)の各凸要素において、
ポリゴン数が2以上で構成される凸要素を取りだし、そ
れらの凸要素を構成する全てのポリゴン集合をP2(D
C(PB))とする。すなわち、穴等の負物体凸要素を
構成するポリゴンを集めてP2(DC(PB))とする
(ステップ1304)。ついで、初期ポリゴン集合Pと
P2(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 each convex element of the convex element set DC (P B )
The convex elements composed of two or more polygons are taken out, and all the polygon sets forming these convex elements are set to P 2 (D
C (P B )). That is, the polygons forming the negative object convex elements such as holes 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 taken to obtain a polygon set PP 2 (DC (P B )) that constitutes a true object (step 130).
5). When the polygon set (difference set) that constitutes the true object is obtained, the convex decomposition basic algorithm by the division and convolution 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
Divide into one group, and find a polygon subset in which the relationship with adjacent polygons is convex in each group. Then, the polygon subsets of the first group and the polygon subsets of the second group having a common boundary edge are merged to obtain a plurality of new polygon subsets for each convex element. Then, a convex element set DC (PP 2 (DC (P B ))) having the plurality of polygon subsets as elements is output (step 1307, FIG. 10) to recognize a true object. Finally, DC (PP 2 (DC (P B ))) is the convex element of the positive object, DC
Output (P B ) as the convex element of the negative object (step 1
308). After that, 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, in the same way as 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 process in such a case, and the difference from the third embodiment is that the optimization method is applied instead of the convex decomposition basic 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 embodiments, the polygon subset C of the first group is used.
Merge of Li and polygon subset CHj of the second group
The possibility is judged as follows. That is, regardless of whether the polygon subset CLi and the polygon subset CHj have a common edge or not, among all the polygon edges forming the boundary edge of CLi and all the polygon edges forming the boundary edge of CHj. A common boundary ridge line is obtained depending on whether the points match.
【0027】しかし、かかるMerge可能性の判定処理で
は、あらゆるポリゴン部分集合の組合せにおいて、しか
も、境界稜線を構成するポリゴン辺の総当たり的な組合
せにおいて中点が一致するか否かを調べなくてはならな
いため、Merge可能性の判定処理に相当の時間を要し、
凸分解の高速化に限界を与えている。ところで、凸要素
CLiの境界稜線と凸要素CHjの境界稜線が共通の境
界稜線部分を有する場合には、凸要素CLiの境界稜線
で構成する凸物体と凸要素CHjの境界稜線で構成する
凸物体とが干渉する。そこで、凸要素CLi,CLjの
共通の境界稜線を求める処理を実行する前に、計算負荷
がO(N)の干渉チェック法により凸要素CLiの境界稜
線で構成する凸物体と凸要素CHjの境界稜線で構成す
る凸物体とが干渉するかチェックする。そして、干渉し
ない場合には以降のmerge処理をスキップし、干渉する
場合のみ以降のMerge処理を継続するようにする。この
ようにすれば、Merge処理に要する時間を大幅に短縮で
き凸分解処理を高速に行なうことができる。However, in the merge possibility determination process, it is not necessary to check whether or not the midpoints match in all combinations of polygon subsets, and also in brute force combinations of polygon edges forming a boundary ridge. Since it does not happen, it takes a considerable amount of time to process the merge possibility determination,
It limits the speed of convex decomposition. By the way, when the boundary ridgeline of the convex element CLi and the boundary ridgeline of the convex element CHj have a common boundary ridgeline portion, a convex object constituted by the boundary ridgeline of the convex element CLi and a convex object constituted by the boundary ridgeline of the convex element CHj. Interfere with. Therefore, before executing the process of obtaining the common boundary ridgeline of the convex elements CLi and CLj, the boundary between the convex object and the convex element CHj formed by the boundary ridgeline of the convex element CLi by the interference check method with a calculation load of O (N). Check if the convex object formed by the ridge line interferes. Then, when there is no interference, the subsequent merge processing is skipped, and only when there is interference, the subsequent Merge processing is continued. By doing so, the time required for the Merge processing can be significantly reduced, and the convex decomposition processing can be performed at high speed.
【0028】(b) 干渉チェック前処理の概略 図12は第5実施例の干渉チェック前処理の別の概略的
処理フローであり、図3の第1実施例と同一部分には同
一符号を付している。第1実施例と異なる点は、ステッ
プ1003′において、分割統治法による凸分解基本ア
ルゴリズムに替えて干渉チェック組込型の分割統治法に
よる凸分解基本アルゴリズム(高速凸分解基本アルゴリ
ズム)を適用している点である。(B) Outline of Pre-Processing for Interference Check FIG. 12 is another schematic process flow of the pre-processing for interference check of the fifth embodiment. The same parts as those in the first embodiment of FIG. are doing. The difference from the first embodiment is that, in step 1003 ′, a convex decomposition basic algorithm (fast convex decomposition basic algorithm) by an interference check built-in type divide-conquer method is applied in place of the convex decomposition basic algorithm by the divide-conquer method. That is the 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 processing flow of the fast convex decomposition basic algorithm. An initial polygon set (non-convex polyhedron polygon set) 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 two groups, a first group and a second group, and a polygon subset having a convex relationship with an adjacent polygon in each group is obtained. Next, a plurality of new polygon subsets DP1 for each convex element are merged by merging the polygonal subsets of the first group and the polygonal subsets of the second group having a common boundary ridge in a convex relationship. Find DP2, ... Thereafter, the polygon subsets DP1, DP2, ... Are output (step 1103). Incidentally, each polygon subset DP
A convex polyhedron is generated based on 1, DP2, ...
The most important point where problem dependence exists in the divide-and-conquer law is the "merging" process, that is, the method of constructing 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 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 line. That is, it is a necessary condition that the convex elements CLi and CHj interfere with each other through the boundary ridge. Therefore, the interference check algorithm is applied between the convex elements CLi and CHj, and if there is no interference, the subsequent Merge process for CLi and CHj can be skipped. FIG. 14 is a flowchart of the Merge process in the Divide and Conquer method. 1) Prepare convex element sets DC (PL), DC (PH)
(Steps 1111a, 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 NCHB1 }} Convex element set DC (PL) Each element of DC (PH) is composed of polygon subsets and a set of boundary edges that form the boundary 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 Mergeability 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 edge lines Bedge CLi , Be of the convex elements CLi, CHj
Interference check between dge CHj . If there is no interference, Merg
e Determined as impossible. Condition 2: Convex elements CLi and CH that may interfere with each other
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 that form the boundary ridge. If there is no shared boundary edge line, it is determined that Merge is impossible. Condition 3: With respect to the shared boundary ridge line, the uneven relationship between the CLi polygon and the CHj polygon sharing the ridge line is checked. If there is a combination of polygons that are in a concave relationship, it is determined that the merge is impossible. Condition 3: Me if 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
Hj′,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 CHjIs it possible to merge with (j = 1,2, ... NPH)?
Determine whether or not. If CL1Is CHjAnd Merge is possible
Then, after that, CL1, DC (PH) as follows
To do. CL1∪CHj→ CL1 DC (PH) = {CH1, CH2・ ・ ・ CHj-1, CHj + 1・
..} 3-2) Perform the same procedure for CLi (i = 2,3, ... NPL)
It 4) Construction 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, CL2・ ・ ・ ・ ・ ・ CLPNPL, C
Hj′, CHjThe merged convex element set DC (P) given by ″ ...} is output.
(Step 1113 '). Where {CHj′, CHj″ ・
..} is a 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 the interference check method of the existing calculation 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 the convex objects formed by the boundary edges Bedge CLi and Bedge CHj of CHj (step 1401). By applying the interference check algorithm, the distance dist (Bed between the closest points of the boundary edges Bedge CLi and Bedge CHj
ge CLi , Bedge CHj ) and output (step 140
2). If the distance between the closest points is found, the distance dist (Bedge
CLi , Bedge CHj ) and ε are compared, and dist (Bedge CLi , B
edge CHj ) ≦ ε, it is determined that interference occurs, and dist (Bedge
If CLi and Bedge CHj )> ε, it is determined that there is no interference.
Note that ε is a user-defined minute constant that determines the accuracy of 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 grid point (vertex) xi ∈ located at the boundary of X.
It can be expressed as follows using X. x = Σλixi (i = 1 to m): xi∈X, λi ≧ 0 λ 1 + λ 2 + ... + λm = 1 (1) The above equation is a set of lattice points {xi: i = 1, 2, .. may be defined as a convex polyhedron stretched by m}. The {xi} is called the base of the convex polyhedron X. Now, the two convex polyhedra K 1 and K 2
think of. At this time, the closest 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−y1)2+(x2−y2)2+(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 {| x−y |: xεK 1 , yεK 2 ) (2) where x and y are position vectors and | x−y | = √ {(x 1 -y 1 ) 2 + (x 2 -y 2) 2 + (x 3 -y 3)} 2. Therefore, the problem of finding the closest point between two convex polyhedra is to find x and y that satisfy the equation (2) by the following equation. x = Σλi · xi (i = 1 to m 1 ): xi i 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) Simply thinking, in equation (3), both λ and μ are variables, so 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は以下で与えられる。Let K be the union and difference sets of arbitrary objects K 1 and K 2.
When 1 ± K 2 = {x ± y: x∈K 1 , y∈K 2 } is 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. Is an object composed of a set of position vectors z obtained by the above, 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. It is an object that has been destroyed. In equation (4), the problem of searching for the closest point is the coordinate origin O
Tells that it is equivalent to the problem of finding the closest point to polyhedron K. When both the polyhedra K 1 and K 2 are convex polyhedrons, the polyhedron K is also a convex polyhedron, and the set Z of lattice points forming 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:
K1の格子点数、m 2:K2の格子点数)の格子点{zi=
xj−yk}で張られた凸多面体である。」Z = {zi = xj-yk: xjεK1, Yk ∈ K2, I = 1, 2, ... m1m2 j = 1, 2, ... m1 k = 1, 2, ... m2} (5) Summarizing the above, the following conclusions are derived. Sanawa
Then, "Two convex polyhedra K1, K2The question to find the closest point between
The problem is the convex polyhedron K (= K1-K2Up to)
It is equivalent to the problem of finding the approach point. However, K is m1m2Pieces (m1:
K1Number of grid points of, m 2: K2Number of grid points) of the grid points {zi =
It is a convex polyhedron stretched by xj-yk}. "
【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 closest point between two convex polyhedrons K 1 and K 2 is that the closest point O to the convex polyhedron K is It comes down to the problem of finding points. Gilbert's method uses this fact and a function called the Support Function described below. Support function hx for convex polyhedron
(η): R 3 → R is defined below. hx (η) = max {xi · η: i = 1 to m} (6) where {xi} is the set of lattice points that are the base of the convex polyhedron X, and ・ means the vector inner product , Also R
3 → R means conversion from 3D to 1D. Therefore, the port function hx (η) of 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 that direction is obtained. ing. Now, assuming that the 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 for the closest point search by the Gilbert method is O (M 1 + M 2 ).
Becomes The reason is based on that the following law holds for the support function hk (η) and the position vector sk (η) of the difference set K of the convex polyhedra K 1 and K 2 . hk (η) = hk 1 (η) + hk 2 (−η), sk (η) = sk 1 (η) −sk 2 (−η) (8) The above equation is calculated from m 1 m 2 lattice points. Convex polyhedron K = K 1 −K 2
It means that the support function for is composed of the sum of the support functions for the convex polyhedra K 1 and K 2 . Therefore, as is clear from the definition of equation (6), the calculation load for obtaining hx (η) is O (M 1 + M 2 ). The essence of the Gilbert's method for searching for the closest point is that the closest point is gradually approached by repeatedly using the support function hx (η). That is, the Gilbert method is composed of 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) Closest point search algorithm by Gilbert method 1) Initialization With respect to the convex polyhedrons K 1 and K 2 , the difference convex polyhedron K 1 -K 2 is set to K. Take arbitrary points in the convex polyhedron K and set them as y 1 , y 2
... Let ypεK. Note that y 1 , y 2 ... Yp do not necessarily have to be the base lattice points of the convex polyhedron K. In general, p is 1 ≦ p ≦ 4. At this time, a set of initial grid points V k
Let (= V 0 ) be 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) Closest point search for the basic polyhedron For the set Vk of lattice points consisting of the number of elements p (4 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 the closest point vector (position vector) 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) Closest point determination R 3 → function g x (x) to 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 when the position vector of the given point on the convex polyhedron K is x. The second term on the right side means the inner product of the vector −x and the lattice point position vector closest to the origin in the vector x direction. In other words, h x (−x) is the minimum value of the inner products of the position vector of the lattice point and x. This g
x (x) is the judgment function of the closest point, and x is from the origin O to K
If it is the closest point to
x (x) = 0. Incidentally, it can be proved that gx (x) is the judgment function of the closest point, but it is omitted here. For details, see 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
See hree-Dimensional Space ”. From the above,
If ν k obtained by the equation (9) is g k (ν k ) = 0 (10), ν (K) = ν k is set, and the closest 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 the equation (10) is not established, k is incremented. That is, V (k + 1) is set to V (k + 1) = V k ′ ∪ {s k (−ν k )} (11). Where V k ′ is V k ′ ⊆V k , and ν k
It is the smallest subset of V k which is a ∈co V k '. Expression (11) is obtained by calculating a subset V k ′ (including ν k ) of V k and a lattice point s k closest to the origin in the direction of the closest point vector ν k in V k .
It means a set including (−ν k ). From the above, if equation (10) does not hold, increment k by equation (11)
The process after returning to 2) is repeated until Eq. (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 the closest point search algorithm by the Gilbert method In order to deepen the understanding of the closest point search algorithm by the Gilbert method, the closest point search will be described with reference to FIG. In FIG. 17, initial values V 0 = {z 1 , z 2 , z 3 }
Then, the closest point vector at V 0 is calculated as ν 0 . At this time, since the expression (10) is not satisfied, k is incremented. Since V 1 = V 0 ′ ∪ {s k (−ν 0 )} = V 0 ′ ∪ {z 4 } and V 0 ′ = {z 2 , z 3 }, V 1 = {z
2 , z 3 , z 4 }. The closest point vector at V 1 is ν 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}となる。Since V 2 = V 1 ′ ∪ {s k (−ν 1 )} = V 1 ′ ∪ {z 5 } and V 1 ′ = {z 3 , z 4 }, V 2 = {Z
3 , z 4 , z 5 }. When the vector of the closest point at V 1 is calculated, it becomes ν 2 , and this ν 2 satisfies the equation (10),
ν 2 is the closest point vector, and ν 2 = ν (K) εco {z 4 , z 5 }. As a result, the closest distance d becomes d = | ν 2 |. Try the same thing with different initial values. In FIG. 30, the initial value V 0 = {z 2 } is set, and the closest point vector at V 0 is calculated to be ν 0 ′ (= z 2 ). At this time, (1
Since 0) is not satisfied, k is incremented. Since 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} とした場合と同じ結果が得られる。The closest point vector at V 1 is calculated as ν 1 ′. At this time, since the expression (10) is not satisfied, k is incremented. Since V 2 = V 1 ′ ∪ {s k (−ν 1 ′)} = V 1 ′ ∪ {z 4 } and V 1 ′ = {z 2 , z 5 }, V 2 = {z
2 , z 4 , z 5 }. When the vector of the closest point at V 2 is calculated, it becomes ν 2 ′ (= ν 2 ), and by this ν 2 ′, (10)
The expression is satisfied, and ν 2 becomes the closest point vector, and ν 2 ′ = ν 2 = ν (K) εco {z 4 , z 5 }. As a result, the closest distance d becomes d = | ν 2 |, and the same result as when the initial value V 0 is V 0 = {z 1 , z 2 , z 3 } is obtained.
【0047】なお、Gilbert法の初期格子点(初期値)
V0は一般には任意であるが、以下に示すような各凸多
面体の重心差分方向の格子点から出発するのが効率的で
ある。 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 grid points of Gilbert's method (initial values)
V 0 is generally arbitrary, but it is efficient to start from lattice points in the direction of the difference in the center of gravity 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 grid point of K 1 z c2 = Σ (yi / M 2 ) (i = 1 to M 2 ) yi: Base grid point of convex polyhedron K 2 . The following inequalities hold when the closest point is determined by the Gilbert method (see FIG. 18). r k = −h k (−ν k ) / | ν k | ≦ | ν (K) | ≦ | ν k | (13) Therefore, if r k > 0 for a certain k, interference between two convex objects It can be said that 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 Process Based on Gibert Method FIG. 19 is a flowchart showing a merge possibility judgment process based on the Gilbert method. Boundary edge lines of convex elements CLi, CHj Bedge CLi , Be
by applying the Gilbert method between each composed convex object with dge CHj, it computes the r k of (13) (step 141
1). Then, it is determined whether r k > 0 (step 141
2) If r k > 0, there is no interference, so it is determined that merge is impossible (step 1413). However, if r k ≦ 0, it is determined that there is merge interference because of interference, and whether merge is possible / impossible is determined from the conditions 2 to 4 of merge possibility described above (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) Simplified Merge possibility determination process based on Gibert method The merge possibility determination process based on Gibert method is further simplified. The point of simplification is to set the initial lattice point V 0 of the Gilbert method as an arbitrary vertex from the set of vertices Bedge CLi and Bedge CHj on the boundary edge line.
By selecting Bedge CLi0 and Bedge CHji0 , V 0 = Bedge CLi0 −Bedge CHji0 (14) is constructed. 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
It is determined that there is no interference between the convex elements CLi and CHj and there is no possibility of merging.
【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 element CLi, CHj
Applying the simplified Gilbert method between the convex objects composed of the boundary edges Bedge CLi and Bedge CHj of
Is calculated (step 1411 '). Next, it is judged whether r> 0 (step 1412 '). If r> 0, there is no interference, so it is judged that merge is impossible (step 141).
3 '). However, if r ≦ 0, there is interference.
It is determined that merge is possible / impossible based on the conditions 2 to 4 of the possibility of merge described above as the presence of merge interference (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) Modified Example (a) Modified Example 1 The convex decomposition method of the fifth embodiment described above can be configured to be optimized to reduce the number of convex elements. The processing flow in this case is shown in FIG. In FIG. 21, the difference from the processing of the second embodiment (see FIG. 7) is step 120.
In 2 ′ and 1204 ′, a convex convex decomposition algorithm is used instead of the convex decomposition basic algorithm. (b) Modification 2 The interference check built-in high-speed convex decomposition algorithm can be applied to the convex decomposition process when a negative object exists, and the processing flow in this case is shown in FIG. In FIG. 22, the difference from the third embodiment is that step 1303 ′,
In 1306 ′, the convex decomposition basic algorithm is replaced by a high-speed convex decomposition algorithm of interference check built-in type. (c) Modification 3 The modification 2 may be further subjected to an optimization process to reduce the number of convex elements. Although the present invention has been described above with reference to the embodiments, the present invention can be variously modified according to 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, it is possible to obtain a polygon subset for each convex element at high speed by the convex decomposition processing by the division-and-conquer method. Therefore, a non-convex polyhedron can be formed at high speed by using the polygon subset. It is possible to generate convex polyhedrons to be constructed, and to apply interference checking methods such as the Gilbert method, which has real-time property in interference check between convex polyhedrons, to interference check of non-convex polyhedron. Further, according to the present invention,
Since it is configured to repeatedly apply the convex decomposition processing by the division-and-conquer method to a plurality of polygon subsets obtained by the convex decomposition processing by the division-and-conquer method, the polygon can be locally divided into the minimum number of convex polyhedra.
【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) forming the non-convex polyhedron. Assuming an inverted shape model by reversing, and applying the divide-and-conquer method to the inverted shape model to obtain the polygon subset of the negative object, and then calculating the negative object's polygon from the initial polygon set forming the non-convex polyhedron. The polygon subset is removed, and the polygonal subset of the non-inverted shape obtained by removing the polygon subset is applied to obtain the polygon subset of the regular object. Since the convex polyhedron is generated from each of the positive and negative polygon subsets, even when a negative object such as a hole exists in the non-convex polyhedron, the non-convex polyhedron can be divided into convex polyhedrons including the negative object.
【0054】又、本発明によれば、分割統治法における
マージング可能性を、各ポリゴン部分集合の境界稜線で
構成される凸物体が干渉するかチェックし、干渉しない
場合には共通の境界稜線がないものと判定して以降のマ
ージング可能性の処理をスキップし、干渉する場合には
共通の境界稜線が存在するものと判定して以降のマージ
ング可能性の処理を継続するようにしたから、マージン
グ可能性の処理に要する時間を短縮でき、高速に凸要素
毎のポリゴン部分集合を求めることができる。Further, according to the present invention, the merging possibility in the division-and-conquer method is checked to see if the convex objects formed by the boundary edges of each polygon subset interfere with each other. Since it is determined that there is no merging possibility, the subsequent merging possibility processing is skipped, and if there is interference, it is determined that a common boundary edge exists and the merging possibility processing after that is continued. The time required for the possibility processing can be shortened, and the polygon subset for each convex element can be obtained at high speed.
【図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 interference check preprocessing.
【図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 a concave-convex relationship between polygons.
【図7】本発明の第2実施例の処理フローである。FIG. 7 is a processing flow of the second embodiment of the present invention.
【図8】ブール集合演算による物体表現説明図である。FIG. 8 is an explanatory diagram of an object expression 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 of the fourth embodiment of the present invention.
【図12】本発明の干渉チェック前処理の別の概略的処
理フローである。FIG. 12 is another schematic processing flow of the interference check preprocessing of the present invention.
【図13】高速凸分解基本アルゴリズムのフローであ
る。FIG. 13 is a flow 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 the closest point search by the Gilbert method.
【図18】Gilbert法による干渉チェック原理説明図で
ある。FIG. 18 is an explanatory diagram of an interference check principle based on 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 flow of merge possibility determination based on the simplified Gilbert method.
【図21】本発明の第1変形例の処理フローである。FIG. 21 is a processing flow of a first modified example of the present invention.
【図22】本発明の第2変形例の処理フローである。FIG. 22 is a processing flow of a second modified example of the present invention.
1・・非凸多面体を構成する初期ポリゴン集合 2・・分割手段 3a,3b・・第1、第2グループのポリゴン集合 4a,4b・・凸関係にあるポリゴン部分集合を求める
手段 5・・マージング手段 6・・マージングにより得られた凸関係にある複数のポ
リゴン部分集合1 ... Initial polygon set constituting a non-convex polyhedron 2. Dividing means 3a, 3b .. Polygon set of the first and second groups 4a, 4b .. Means for finding polygon subsets having a convex relationship 5 .. Means 6 ... A plurality of convex polygonal subsets obtained by merging
Claims (9)
面体を用いて非凸多面体の干渉チェックを行なう干渉チ
ェック前処理方法において、 非凸多面体を構成する多数の凸多角形(ポリゴン)を第
1、第2のグループに分割し、 各グループにおいて隣接ポリゴンとの関係が凸であるポ
リゴンの部分集合を求め、 共通の境界稜線を有する第1グループのポリゴン部分集
合と第2グループのポリゴン部分集合とが凸関係にある
ものを併合して複数の新たなポリゴン部分集合を求めて
出力することを特徴とする干渉チェック前処理方法。1. A method for preprocessing an interference check in which a non-convex polyhedron is divided into convex polyhedrons and interference check of the non-convex polyhedron is performed using the convex polyhedron, and a large number of convex polygons (polygons) forming the non-convex polyhedron Is divided into first and second groups, and a subset of polygons in which the relationship with adjacent polygons is convex is found in each group, and the polygon subset of the first group and the polygon of the second group that have a common boundary edge A method for preprocessing interference check, characterized in that those having a convex relationship with a subset are merged to obtain and output a plurality of new polygon subsets.
か否かは、前記境界稜線を共有するポリゴンの全組合せ
を求め、全組合せにおいてポリゴン間が凸の関係にある
時、第1グループのポリゴン部分集合と第2グループの
ポリゴン部分集合とが凸関係にあると判定し、1組でも
凹の関係にある場合には凸の関係にないと判定すること
を特徴とする請求項1記載の干渉チェック前処理方法。2. Whether or not two polygon subsets have a convex relationship is determined by finding all combinations of polygons sharing the boundary ridge line, and when polygons have a convex relationship in all combinations, the first group 2. The polygonal subset and the polygonal subset of the second group are determined to have a convex relationship, and if even one set has a concave relationship, it is determined that the polygonal subset does not have a convex relationship. Interference check pretreatment method.
稜線で構成される凸物体と第2グループのポリゴン部分
集合で構成される凸物体とが干渉するかチェックし、 干渉しない場合には共通の境界稜線がないものと判定
し、 干渉する場合には共通の境界稜線が存在するものと判定
し、共通の境界稜線を有する2つのポリゴン部分集合に
対して前記凸関係にあるか否かを判定する請求項2記載
の干渉チェック前処理方法。3. It is checked whether or not a convex object formed by the boundary edges of the polygon subset of the first group and a convex object formed by the polygon subset of the second group interfere with each other. It is judged that there is no boundary edge line, if there is interference, it is judged that there is a common boundary edge line, and it is judged whether or not there is the above convex relationship for two polygon subsets that have a common boundary edge line. The interference check pretreatment method according to claim 2.
集合を第1、第2のグループに分割し、 各グループにおいて隣接ポリゴンとの関係が凸であるポ
リゴンの部分集合を求め、 共通の境界稜線を有する第1グループのポリゴン部分集
合と第2グループのポリゴン部分集合とが凸関係にある
ものを併合して複数の新たなポリゴン部分集合を求め、 前回に求めたポリゴン部分集合の数と今回求めたポリゴ
ン部分集合の数が等しくない場合には、新たに求めた複
数のポリゴン部分集合に対して上記処理を更に繰返し、
等しくなれば前回あるいは今回求めた各ポリゴン部分集
合を出力することを特徴とする請求項1記載の干渉チェ
ック前処理方法。4. A plurality of polygon subsets finally obtained are divided into first and second groups, and a subset of polygons having a convex relationship with an adjacent polygon in each group is obtained, and a common boundary is set. A plurality of new polygon subsets are obtained by merging the polygon subsets of the first group and the polygon subset of the second group, which have ridges, in a convex relationship. If the number of calculated polygon subsets is not equal, the above processing is repeated for a plurality of newly obtained polygon subsets,
2. The interference check preprocessing method according to claim 1, wherein each polygon subset obtained last time or this time is output if they are equal.
面体を用いて非凸多面体の干渉チェックを行なう干渉チ
ェック前処理方法において、 非凸多面体を構成する各凸多角形(ポリゴン)の法線ベ
クトルの符号を逆転して反転形状のモデルを想定し、該
反転形状モデルを構成するポリゴン集合を第1、第2の
グループに分割し、 各グループにおいて、隣接ポリゴンとの関係が凸である
か否かを法線ベクトルを用いて調べ、各グループのポリ
ゴンを凸の関係にある複数のポリゴン部分集合に分け、 共通の境界稜線を有する第1グループのポリゴン部分集
合と第2グループのポリゴン部分集合とが凸関係にある
ものを併合して反転形状の複数の新たなポリゴン部分集
合を求め、 該ポリゴン部分集合のうち2以上のポリゴンを有するポ
リゴン部分集合を非凸多面体を構成する初期ポリゴン集
合より除去し、 該除去することにより得られた非反転形状のポリゴン集
合を2つのグループに分割し、 各グループにおいて、隣接ポリゴンとの関係が凸である
か否かを各ポリゴンの法線ベクトルを用いて調べて各グ
ループのポリゴンを凸の関係にある複数のポリゴン部分
集合に分け、 共通の境界稜線を有する第1グループのポリゴン部分集
合と第2グループのポリゴン部分集合とが凸関係にある
ものを併合して非反転形状の複数の新たなポリゴン部分
集合を求め、 該非反転形状の凸要素のポリゴン部分集合と反転形状の
凸要素のポリゴン部分集合をそれぞれ出力することを特
徴とする干渉チェック前処理方法。5. A non-convex polyhedron is divided into convex polyhedrons, and in the interference check preprocessing method for performing interference check of the non-convex polyhedrons using the convex polyhedron, each convex polygon (polygon) forming the non-convex polyhedron is Assuming an inverted shape model by reversing the sign of the normal vector, the polygon set forming the inverted shape model is divided into first and second groups, and in each group, the relationship with adjacent polygons is convex. Whether or not there is a normal vector, the polygons of each group are divided into a plurality of convex polygon subsets, and the polygon subsets of the first group and the polygons of the second group that have a common boundary edge A new polygon sub-set having an inverted shape is obtained by merging those having a convex relationship with the sub-set, and a polygon part having two or more polygons in the polygon sub-set. Are removed from the initial polygon set forming the non-convex polyhedron, the non-inverted polygon set obtained by the removal is divided into two groups, and the relationship with the adjacent polygon is convex in each group. Whether or not it is checked by using the normal vector of each polygon, the polygons of each group are divided into a plurality of polygon subsets having a convex relationship, and the first group of polygon subsets and the second group of polygons having a common boundary edge A polygonal subset of non-inverted convex elements and a polygonal subset of inverted convex elements are merged to obtain a plurality of new non-inverted polygonal subsets. An interference check pre-processing method characterized by outputting each.
か否かは、前記境界稜線を共有するポリゴンの全組合せ
を求め、全組合せにおいてポリゴン間が凸の関係にある
時、第1グループのポリゴン部分集合と第2グループの
ポリゴン部分集合とが凸関係にあると判定し、1組でも
凹の関係にある場合には凸の関係にないと判定すること
を特徴とする請求項5記載の干渉チェック前処理方法。6. To determine whether or not two polygon subsets have a convex relationship, all combinations of polygons sharing the boundary ridge line are obtained, and when the polygons have a convex relationship in all combinations, the first group 6. The polygonal subset and the polygonal subset of the second group are determined to be in a convex relationship, and if even one set is in a concave relationship, it is determined that they are not in a convex relationship. Interference check pretreatment method.
稜線で構成される凸物体と第2グループのポリゴン部分
集合で構成される凸物体とが干渉するかチェックし、 干渉しない場合には共通の境界稜線がないものと判定
し、 干渉する場合には共通の境界稜線が存在するものと判定
し、共通の境界稜線を有する2つのポリゴン部分集合に
対して前記凸関係にあるか否かを判定する請求項6記載
の干渉チェック前処理方法。7. It is checked whether or not a convex object constituted by the boundary edges of the polygon subset of the first group and a convex object constituted by the polygon subset of the second group interfere with each other. It is judged that there is no boundary edge line, if there is interference, it is judged that there is a common boundary edge line, and it is judged whether or not there is the above convex relationship for two polygon subsets that have a common boundary edge line. The method for preprocessing interference check according to claim 6.
を第1、第2のグループに分割し、 各グループにおいて、隣接ポリゴンとの関係が凸である
か否かを各ポリゴンの法線ベクトルを用いて調べて各グ
ループのポリゴンを凸の関係にある複数のポリゴン部分
集合に分け、 共通の境界稜線を有する第1グループのポリゴン部分集
合と第2グループのポリゴン部分集合とが凸関係にある
ものを併合して複数の新たなポリゴン部分集合を求め、 前回に求めたポリゴン部分集合の数と今回求めたポリゴ
ン部分集合の数が等しくない場合には、新たに求めた複
数のポリゴン部分集合に対して等しくなるまで上記処理
を繰返す請求項5記載の干渉チェック前処理方法。8. A plurality of polygonal subsets of the inverted shape are divided into first and second groups, and in each group, a normal vector of each polygon is determined by determining whether or not the relationship with an adjacent polygon is convex. The polygons of each group are investigated and divided into a plurality of polygon subsets having a convex relationship, and the polygon subset of the first group and the polygon subset of the second group having a common boundary ridge have a convex relationship. To obtain multiple new polygon subsets, and if the number of previously obtained polygon subsets and the number of currently obtained polygon subsets are not equal, 6. The interference check pretreatment method according to claim 5, wherein the above-mentioned processing is repeated until they become equal.
合を第1、第2のグループに分割し、 各グループにおいて隣接ポリゴンとの関係が凸であるポ
リゴンの部分集合を求め、 共通の境界稜線を有する第1グループのポリゴン部分集
合と第2グループのポリゴン部分集合とが凸関係にある
ものを併合して複数の新たなポリゴン部分集合を求め、 前回に求めたポリゴン部分集合の数と今回求めたポリゴ
ン部分集合の数が等しくない場合には、新たに求めた複
数のポリゴン部分集合に対して等しくなるまで上記処理
を繰返すことを特徴とする請求項5記載の干渉チェック
前処理方法。9. The non-inverted polygon sub-sets are divided into first and second groups, and a sub-set of polygons having a convex relationship with an adjacent polygon in each group is obtained, and a common boundary ridge line is obtained. A polygonal subset of the first group and a polygonal subset of the second group having a convex relationship are merged to obtain a plurality of new polygon subsets, and the number of previously obtained polygon subsets and this time are obtained. 6. The interference check preprocessing method according to claim 5, wherein if the number of polygon subsets is not equal, the above-mentioned processing is repeated until it becomes equal for a plurality of newly obtained polygon subsets.
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 true JPH0877210A (en) | 1996-03-22 |
| JP2820894B2 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) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6157902A (en) * | 1997-03-13 | 2000-12-05 | Fujitsu Limited | Disassembly route producing apparatus, assembly route producing apparatus, and supporting system for mechanical system design |
| US6167142A (en) * | 1997-12-18 | 2000-12-26 | Fujitsu Limited | Object movement simulation apparatus |
| US6346941B1 (en) | 1998-03-19 | 2002-02-12 | Fujitsu Limited | Interference check result displaying method and interference check result displaying apparatus as well as computer-readable recording medium having interference check result displaying program recorded thereon |
| JP2008090498A (en) * | 2006-09-29 | 2008-04-17 | Canon Inc | Image processing method and image processing apparatus |
-
1994
- 1994-09-02 JP JP6209007A patent/JP2820894B2/en not_active Expired - Fee Related
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6157902A (en) * | 1997-03-13 | 2000-12-05 | Fujitsu Limited | Disassembly route producing apparatus, assembly route producing apparatus, and supporting system for mechanical system design |
| US6167142A (en) * | 1997-12-18 | 2000-12-26 | Fujitsu Limited | Object movement simulation apparatus |
| US6346941B1 (en) | 1998-03-19 | 2002-02-12 | Fujitsu Limited | Interference check result displaying method and interference check result displaying apparatus as well as computer-readable recording medium having interference check result displaying program recorded thereon |
| JP2008090498A (en) * | 2006-09-29 | 2008-04-17 | Canon Inc | Image processing method and image processing apparatus |
| US8576248B2 (en) | 2006-09-29 | 2013-11-05 | Canon Kabushiki Kaisha | Image processing method and image processing apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2820894B2 (en) | 1998-11-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3962361B2 (en) | Phase determining device, decomposable shape generating device, structural mesh generating device, phase determining method, decomposable shape generating method, computer executable program for executing the phase determining method, and decomposable shape generating method Computer executable program and structured mesh generation system | |
| US6089742A (en) | Method and apparatus for controlling robots and the like using a bubble data hierarchy placed along a medial axis | |
| Jaillet et al. | Asymptotically-optimal Path Planning on Manifolds. | |
| US5774124A (en) | Finite element modeling method and computer system for converting a triangular mesh surface to a quadrilateral mesh surface | |
| US20080034023A1 (en) | Contact geometry calculation device, contact geometry calculation method, and computer program product | |
| CN112395660A (en) | Modeling operating regions for manufacturing resources using virtual models and graph-based simulations | |
| Kayhani et al. | Construction equipment collision-free path planning using robotic approach | |
| JP3316092B2 (en) | Closest point search device | |
| JPH0877210A (en) | Pretreatment method for interference check | |
| CN113704841A (en) | Optimized stock layout method based on bias | |
| CN117234205A (en) | Mobile path planning method, system, equipment and medium for mobile robot | |
| Zhu et al. | Occlusion handling for industrial robots | |
| Dai et al. | Planeslam: Plane-based LiDAR SLAM for motion planning in structured 3D environments | |
| CANANN | Plastering-A new approach to automated, 3-D hexahedral mesh generation | |
| CN115272379B (en) | Projection-based three-dimensional grid model outline extraction method and system | |
| JP2001250122A (en) | Object position and orientation determination processing method and program recording medium therefor | |
| CN115933688B (en) | Multi-robot cooperative work obstacle avoidance method, system, equipment and storage medium | |
| CN114896812B (en) | Automatic typesetting method, equipment, storage medium and system for building block printing | |
| CN118329057A (en) | A robot obstacle avoidance path generation method, device and computer equipment | |
| Lau et al. | A portrait drawing robot using a geometric graph approach: Furthest Neighbour Theta-graphs | |
| Yukhimets et al. | Method of automatic formation of the underwater manipulator motion program based on noise three-dimensional models | |
| JPH0727582B2 (en) | Shape modeling system in CAD system | |
| CN113627646A (en) | Path planning method, device, equipment and medium based on neural network | |
| Müller | Boundary extraction for rasterized motion planning | |
| Grigorev et al. | Method of Forming Paths for Uniform Surface Treatment for Objects of Complex Shape |
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 |