JP2820894B2 - 干渉チェックシステムにおける凸多面体生成装置 - Google Patents

干渉チェックシステムにおける凸多面体生成装置

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
English (en)
Other versions
JPH0877210A (ja
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/ja
Publication of JPH0877210A publication Critical patent/JPH0877210A/ja
Priority to US08/710,550 priority patent/US5675720A/en
Application granted granted Critical
Publication of JP2820894B2 publication Critical patent/JP2820894B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は非凸多面体と他の物体と
の干渉チェックを行なう干渉チェックシステムにおける
凸多面体作成装置に係わり、特に非凸多面体を構成する
ポリゴン集合を凸関係にある複数のポリゴン部分集合に
分割して凸多面体を生成する凸多面体作成装置に関す
る。更に詳細には、本発明は、グラフィックワークステ
ーション等に構築された任意の三次元CADモデルに対
して、そのモデルの各領域における凹凸を判定すること
により、初期のモデルを有限個の凸物体の集合に自動的
に分解する凸多面体作成装置に係り、三次元CADモデ
ル間の干渉状態を高速にチェックするリアルタイム干渉
チェックシステムの実現に必要な凸多面体の生成技術に
関する。
【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は対象の総格子点数
である)以下の計算時間で最接近点を算出することがで
きる。しかしながら、これらの方法を適用できる対象は
いずれも凸多面体に限られている。
【0003】一方、Pro/Engineer等の市販の三次元CA
Dシステムを使って設計される形状データは、ほとんど
の場合が非凸物体である。そのため、部品間の干渉チェ
ックを行なうのに、Boblow法やLin/Carry法、Gilbert法
等のリアルタイム性を有する干渉チェック方法を適用で
きず、もっぱら、部品を構成しているポリゴン間に間し
て総当たり的に干渉チェックを行なう方法や形状を定義
する方程式を解析的に時間を掛けて解く方法が取られて
いた。
【0004】
【発明が解決しようとする課題】以上のように、従来
は、非凸多面体と他の物体間の干渉チェックを高速に行
なえない問題があった。又、従来は、非凸多面体と他の
物体間の干渉チェックに際してGilbert法等のリアルタ
イム性を有する干渉チェック方法を適用できない問題が
あった。以上から、本発明の第1の目的は、非凸多面体
を構成するポリゴン集合を凸の関係にある複数ポリゴン
部分集合に分解して凸多面体を生成する干渉チェックシ
ステムにおける凸多面体作成装置を提供することであ
る。本発明の第2の目的は、高速に非凸多面体と他の物
体間の干渉チェックを行なえるようにすることである。
本発明の第3の目的は、凸多面体間の干渉チェックに際
して、リアルタイム性を有するGilbert法等の干渉チェ
ック方法を適用できるようにすることである。
【0005】
【課題を解決するための手段】図1は本発明の原理説明
図である。1は非凸多面体を構成するポリゴンの集合、
2はポリゴン集合を第1、第2の2つのグループに分割
する手段、3a,3bは分割された第1、第2のポリゴ
ン集合、4a,4bは第1、第2グループにおいて、凸
関係にあるポリゴン部分集合にグループ化する手段、5
は第1、第2グループの凸関係にあるポリゴン部分集合
を併合(マージング)するマージング手段、6は非凸多
面体における凸関係にある複数のポリゴン部分集合であ
る。
【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法等の干渉
チェック方法を適用できる。
【0007】又、分割統治法におけるマージング可能性
を、各ポリゴン部分集合の境界稜線で構成される凸物体
が干渉するかチェックし、干渉しない場合には共通の境
界稜線がないものと判定して以降のマージング可能性の
処理をスキップし、干渉する場合には共通の境界稜線が
存在するものと判定して以降のマージング可能性の処理
を継続するように構成する。このようにすれば、マージ
ング可能性の判定処理に要する時間を短縮でき、更に高
速に凸要素毎のポリゴン部分集合を求めることができ
る。更に、分割統治法による凸分解処理により求めた複
数のポリゴン部分集合に対して分割統治法による凸分解
処理を繰返し適用するようにする。このようにすれば、
最小数の凸要素数に分割できる(凸要素数のローカルミ
ニマムを求めることができる)。
【0008】又、非凸多面体が穴等の負の形状(負物
体)を有する場合には、非凸多面体を構成する各凸多角
形(ポリゴン)の法線ベクトルの符号を逆転して反転形
状のモデルを想定し、該反転形状モデルを構成する多数
のポリゴンを2つのグループに分割し、ついで、分割統
治法を適用して負物体のポリゴン部分集合を求める。し
かる後、非凸多面体を構成する初期のポリゴン集合より
負物体のポリゴン部分集合を除去し、該除去することに
より得られた非反転形状のポリゴン集合に分割統治法を
適用して正物体のポリゴン部分集合を求め、正負の各ポ
リゴン部分集合を出力する。このようにすれば、非凸多
面体に穴等の負物体が存在する場合でも、該非凸多面体
を該負物体を含む凸多面体に分割できる。
【0009】
【実施例】
(A) 本発明の第1実施例 (a) システムの構成 図2はグラフィックワークステーション上の形状モデル
に干渉チェック前処理を施す場合におけるシステム構成
図であり、GWSはグラフィックワークステーション、
CPUは干渉チェック前処理や干渉チェック処理、その
他の処理を実行するプロセッサ、MEMはメモリであ
り、図示しない三次元CADシステムで設計された形状
データFDTや干渉チェック前処理プログラムICP等
を記憶するもの、DPLは表示部、OPSはキーボー
ド、マウス等の操作部、OPRはオペレータである。オ
ペレータOPRは、操作部OPSを使ってグラフィック
ワークステーションGWS上の形状モデルに対して前処
理指令を入力する。前処理指令が入力されると、プロセ
ッサCPUはメモリMEMに記憶されている干渉チェッ
ク前処理プログラムICPに基づいて非凸多面体の形状
データFDTを用いて前処理(非凸多面体のポリゴン集
合の分割処理)を実行する。そして、分割結果をメモリ
MEMに記憶すると共に、前処理結果を表示部DPLを
通してオペレータに提示する。
【0010】(b) 干渉チェック前処理の概略 図3は本発明の干渉チェック前処理の概略的な処理フロ
ーである。三次元CADシステムは形状モデル(非凸多
面体)を作成してグラフィックワークステーションGW
Sに入力する(ステップ1001、1002)。CAD
システムは物体(非凸多面体)をポリゴンで覆った場合
における全ポリゴンデータを入力する。ポリゴンデータ
は、ポリゴンの各頂点の座標値とその点における光の反
射方向を示す情報を有している。最も一般的なポリゴン
データは、図3に示すように三角形ポリゴンの張り合わ
せで表現されるものである。図3に示す三角形ポリゴン
のデータの場合、normal に続く3つの実数が光の反射
方向を示し、vertex に続く3つの実数が頂点座標値を
表している。三次元CADシステム内の形状モデルから
ポリゴンデータを出力する手順は通常、三次元CADシ
ステム内に用意されている。ついで、分割統治法による
凸分解基本アルゴリズムに従って、上記ポリゴンデータ
を凸要素毎に分割されたポリゴンデータの組(ポリゴン
部分集合)に分ける。すなわち、初期のポリゴンデータ
(非凸多面体のポリゴン集合)を凸要素毎の部分集合の
組に分割して出力する(ステップ1003,100
4)。しかる後、各部分集合毎に凸多面体を生成する。
尚、ポリゴンの各形状は一般的に任意であるが、各ポリ
ゴンは凸性を満たしているものとする。
【0011】(c) 分割統治法による凸分解基本アルゴリ
ズム 図4は分割統治法による凸分解基本アルゴリズムのフロ
ー図である。初期ポリゴン集合(非凸多面体のポリゴン
集合)Pを入力し(ステップ1101)、ついで、初期
ポリゴン集合Pに対して分割統治法による処理を施す
(ステップ1102)。すなわち、初期ポリゴン集合P
を第1、第2の2つのグループに分割し、各グループに
おいて隣接ポリゴンとの関係が凸であるポリゴン部分集
合を求める。ついで、共通の境界稜線を有する第1グル
ープのポリゴン部分集合と第2グループのポリゴン部分
集合とが凸関係にあるものを併合して凸要素毎の複数の
新たなポリゴン部分集合DP1,DP2,・・・を求め
る。しかる後、ポリゴン部分集合DP1,DP2,・・
・を出力する(ステップ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の構成方法である。
【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可能と判定する。
【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)の
凸要素である。
【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は次式で与えられる。
【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軸と一致するように座標
変換を行なう。この時の変換行列は次式
【数1】 で与えられる。
【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データを扱う場合には、誤差を考慮して判定条件は
以下のようになる。
【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に示した条件のもとに
初期のポリゴン集合を分割すると、多くの場合において
非常によい凸性を示す。
【0019】(B)第2実施例 分割統治法による基本アルゴリズムによって凸分解を行
なう場合、分解したあとの凸要素数は最少とは限らな
い。第2実施例では、凸分解基本アルゴリズムを繰り返
して使用することにより、凸要素数を最適化する(でき
るだけ少なくする)ものである。第2実施例の最適化法
は厳密な意味で凸要素数を最小化する分けではなく、あ
くまでも限られた時間内で、できるだけ要素数を減らす
手法である。図7は第2実施例(最適化法)の処理の流
れ図である。三次元CADシステム等から初期ポリゴン
集合(非凸多面体のポリゴン集合)Pを入力し(ステッ
プ1201)、ついで、初期ポリゴン集合Pに対して分
割統治法による凸分解基本アルゴリズムを適用する(ス
テップ1202)。すなわち、初期ポリゴン集合Pを第
1、第2の2つのグループに分割し、各グループにおい
て隣接ポリゴンとの関係が凸であるポリゴン部分集合を
求める。ついで、共通の境界稜線を有する第1グループ
のポリゴン部分集合と第2グループのポリゴン部分集合
とが凸関係にあるものを併合して凸要素毎の複数の新た
なポリゴン部分集合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)である。
【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)に
対して繰返し作用させる。
【0022】(C)第3実施例 分割統治法による基本アルゴリズムを用いる方法では、
穴等の認識において分割した凸要素数が予想以上に増え
る可能性がある。第3実施例では、凸要素数を減少させ
るために、穴等の物体に対してブール代数を負とみなし
て凸分解処理を行ない、その他の正物体に対して第1実
施例の凸分解処理を施すものである。ブール代数を負と
みなすとは、端的に各ポリゴンの法線方向の符号を反転
(法線方向を逆転)することである。通常の分割統治法
による基本アルゴリズムと負物体認識法とを組み合わせ
ることにより、凸要素数の少ない凸分解が可能となる。
図8は穴等の形状(負物体)を含む物体のブール集合演
算による物体表現法の説明図である。HLは穴、HL′
は法線方向を逆転した穴部、BDYは穴のない物体(穴
なし物体)である。穴付き物体は穴なし物体BDYから
法線方向を逆転した穴部分を差し引くことにより表現さ
れる。
【0023】図9は第3実施例の凸分解処理の流れ図、
図10はその凸分解結果の説明図である。三次元CAD
システム等から初期ポリゴン集合(非凸多面体のポリゴ
ン集合)Pを入力し(ステップ1301)、ついで、初
期ポリゴン集合Pの法線方向を全て逆転したポリゴン集
合PBを作る(ステップ1302)。しかる後、ポリゴ
ン集合PBに対して凸分解基本アルゴリズムを適用する
(ステップ1303)。すなわち、ポリゴン集合PB
第1、第2の2つのグループに分割し、各グループにお
いて隣接ポリゴンとの関係が凸であるポリゴン部分集合
を求める。ついで、共通の境界稜線を有する第1グルー
プのポリゴン部分集合と第2グループのポリゴン部分集
合とが凸関係にあるものを併合して凸要素毎の複数の新
たなポリゴン部分集合を求める。
【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)。以後、各凸要素のポリゴン部分集合を用いて
凸多面体が生成されることになる。
【0025】(D)第4実施例 第1実施例に最適化法を施すことにより凸要素数を減少
したのと同様に、第3実施例に最適化法を施して凸要素
数を減少することができる。図11はかかる場合の凸分
解処理の流れ図であり、第3実施例と異なる点は、ステ
ップ1303′、1306′において凸分解基本アルゴ
リズムの替わりに最適化法を適用した点である。
【0026】(E)本発明の第5実施例 (a) 考察 以上の実施例では、第1グループのポリゴン部分集合C
Liと第2グループのポリゴン部分集合CHjのMerge
可能性を以下のように判定している。すなわち、ポリゴ
ン部分集合CLiとポリゴン部分集合CHjが共通稜線
を有しているのか、いないのかに関係なく、CLiの境
界稜線を構成する全ポリゴン辺とCHjの境界稜線を構
成する全ポリゴン辺の中点が一致するか否かにより共通
の境界稜線を求めている。
【0027】しかし、かかるMerge可能性の判定処理で
は、あらゆるポリゴン部分集合の組合せにおいて、しか
も、境界稜線を構成するポリゴン辺の総当たり的な組合
せにおいて中点が一致するか否かを調べなくてはならな
いため、Merge可能性の判定処理に相当の時間を要し、
凸分解の高速化に限界を与えている。ところで、凸要素
CLiの境界稜線と凸要素CHjの境界稜線が共通の境
界稜線部分を有する場合には、凸要素CLiの境界稜線
で構成する凸物体と凸要素CHjの境界稜線で構成する
凸物体とが干渉する。そこで、凸要素CLi,CLjの
共通の境界稜線を求める処理を実行する前に、計算負荷
がO(N)の干渉チェック法により凸要素CLiの境界稜
線で構成する凸物体と凸要素CHjの境界稜線で構成す
る凸物体とが干渉するかチェックする。そして、干渉し
ない場合には以降のmerge処理をスキップし、干渉する
場合のみ以降のMerge処理を継続するようにする。この
ようにすれば、Merge処理に要する時間を大幅に短縮で
き凸分解処理を高速に行なうことができる。
【0028】(b) 干渉チェック前処理の概略 図12は第5実施例の干渉チェック前処理の別の概略的
処理フローであり、図3の第1実施例と同一部分には同
一符号を付している。第1実施例と異なる点は、ステッ
プ1003′において、分割統治法による凸分解基本ア
ルゴリズムに替えて干渉チェック組込型の分割統治法に
よる凸分解基本アルゴリズム(高速凸分解基本アルゴリ
ズム)を適用している点である。
【0029】図13は高速凸分解基本アルゴリズムの処
理のフローである。初期ポリゴン集合(非凸多面体のポ
リゴン集合)Pを入力し(ステップ1101)、つい
で、初期ポリゴン集合Pに対して高速凸分解アルゴリズ
ムによる凸分解処理を施す(ステップ1102′)。す
なわち、初期ポリゴン集合Pを第1、第2の2つのグル
ープに分割し、各グループにおいて隣接ポリゴンとの関
係が凸であるポリゴン部分集合を求める。ついで、共通
の境界稜線を有する第1グループのポリゴン部分集合と
第2グループのポリゴン部分集合とが凸関係にあるもの
を併合(マージング)して凸要素毎の複数の新たなポリ
ゴン部分集合DP1,DP2,・・・を求める。しかる
後、ポリゴン部分集合DP1,DP2,・・・を出力す
る(ステップ1103)。尚、各ポリゴン部分集合DP
1,DP2,・・・に基づいて凸多面体が生成される。
分割統治法において問題依存性が存在する最も重要な個
所は、「併合」過程、すなわち、関数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)で構成される。
【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可能と判定する。
【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)の
凸要素である。
【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)>εの場合には干渉しないと判定する。
尚、εは干渉チェック判定の精度を決めるユーザ定義の
微小定数である。
【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物体間の最接近距離は以下で定義
される。
【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)式は以下のよ
うに書き換えることが可能である。
【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は以下で与えられる。
【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}で張られた凸多面体である。」
【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)式は以下の
ようになる。
【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つのプロ
セスから構成される。
【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 とする。
【0041】2)基本多面体に対する最接近点探索 要素数p(4個以下)からなる格子点の集合Vkに対
し、 νk=ν(co Vk) (9) を計算する。ここで、co Vkは、格子点集合Vkをベー
スとする凸多面体、ν(X)は座標原点Oから凸多面体X
への最接近点ベクトル(位置ベクトル)を表す。
【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とし、最接近点探索処理を終了
する。
【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)式が成立するまで繰り返す。
【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をインクリメントする。
【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}となる。
【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} とした場合と同じ結果が得られる。
【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凸物体間の干渉
は無いといえる。
【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)。
【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する可
能性が無いと判定する。
【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′)。
【0051】(F)変形例 (a) 変形例1 以上の第5実施例の凸分解法に最適化処理を施して凸要
素数を減少するように構成することができる。この場合
の処理フローを図21に示す。図21において、第2実
施例の処理(図7参照)と異なる点は、ステップ120
2′、1204′において凸分解基本アルゴリズムに替
わって、干渉チェック組込型の高速凸分解アルゴリズム
を使用している点である。 (b) 変形例2 干渉チェック組込型の高速凸分解アルゴリズムを負物体
が存在する場合における凸分解処理に適用することがで
き、この場合の処理フローを図22に示す。図22にお
いて、第3実施例と異なる点は、ステップ1303′、
1306′において凸分解基本アルゴリズムに替わっ
て、干渉チェック組込型の高速凸分解アルゴリズムを使
用している点である。 (c) 変形例3 変形例2に更に最適化処理を施して凸要素数を減少する
ように構成することもできる。以上、本発明を実施例に
より説明したが、本発明は請求の範囲に記載した本発明
の主旨に従い種々の変形が可能であり、本発明はこれら
を排除するものではない。
【0052】
【発明の効果】以上本発明によれば、分割統治法による
凸分解処理により高速に凸要素毎のポリゴン部分集合を
求めることができ、従って、該ポリゴン部分集合を用い
て高速に非凸多面体を構成する凸多面体を生成でき、し
かも、凸多面体間の干渉チェックに際してリアルタイム
性を有するGilbert法等の干渉チェック方法を非凸多面
体の干渉チェックに適用できる。又、本発明によれば、
分割統治法による凸分解処理により求めた複数のポリゴ
ン部分集合に対して分割統治法による凸分解処理を繰返
し適用するように構成したから、局所的に最小数の凸多
面体に分割できる。
【0053】更に、本発明によれば、非凸多面体が穴等
の負の形状(負物体)を有する場合には、非凸多面体を
構成する各凸多角形(ポリゴン)の法線ベクトルの符号
を逆転して反転形状のモデルを想定し、該反転形状モデ
ルに分割統治法を適用して負物体のポリゴン部分集合を
求める、しかる後、非凸多面体を構成する初期のポリゴ
ン集合より負物体のポリゴン部分集合を除去し、該除去
することにより得られた非反転形状のポリゴン集合に分
割統治法を適用して正物体のポリゴン部分集合を求め
る。そして、正負の各ポリゴン部分集合より凸多面体を
生成するようにしたから、非凸多面体に穴等の負物体が
存在する場合でも、該非凸多面体を該負物体を含む凸多
面体に分割できる。
【0054】又、本発明によれば、分割統治法における
マージング可能性を、各ポリゴン部分集合の境界稜線で
構成される凸物体が干渉するかチェックし、干渉しない
場合には共通の境界稜線がないものと判定して以降のマ
ージング可能性の処理をスキップし、干渉する場合には
共通の境界稜線が存在するものと判定して以降のマージ
ング可能性の処理を継続するようにしたから、マージン
グ可能性の処理に要する時間を短縮でき、高速に凸要素
毎のポリゴン部分集合を求めることができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明のシステム構成図である。
【図3】干渉チェック前処理の概略的処理フローであ
る。
【図4】凸分解基本アルゴリズムの処理フローである。
【図5】Mergeプロセスの流れ図である。
【図6】ポリゴン間の凹凸関係判定説明図である。
【図7】本発明の第2実施例の処理フローである。
【図8】ブール集合演算による物体表現説明図である。
【図9】本発明の第3実施例の処理フローである。
【図10】負物体がある場合の凸分解の結果説明図であ
る。
【図11】本発明の第4実施例の処理フローである。
【図12】本発明の干渉チェック前処理の別の概略的処
理フローである。
【図13】高速凸分解基本アルゴリズムのフローであ
る。
【図14】Mergeプロセスの流れ図である。
【図15】干渉チェックアルゴリズムの概略処理フロー
である。
【図16】サポート関数の説明図である。
【図17】Gilbert法による最接近点探索の説明図であ
る。
【図18】Gilbert法による干渉チェック原理説明図で
ある。
【図19】Gilbert法に基づくMerge可能性判定のフロー
である。
【図20】簡略化したGilbert法に基づくMerge可能性判
定のフローである。
【図21】本発明の第1変形例の処理フローである。
【図22】本発明の第2変形例の処理フローである。
【符号の説明】
1・・非凸多面体を構成する初期ポリゴン集合 2・・分割手段 3a,3b・・第1、第2グループのポリゴン集合 4a,4b・・凸関係にあるポリゴン部分集合を求める
手段 5・・マージング手段 6・・マージングにより得られた凸関係にある複数のポ
リゴン部分集合
───────────────────────────────────────────────────── フロントページの続き (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)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 非凸多面体を凸多面体に分割し、該凸多
    面体を用いて非凸多面体の干渉チェックを行なう干渉チ
    ェックシステムにおける凸多面体生成装置において、 非凸多面体の表面を覆う多数の凸多角形(ポリゴン)の
    形状データを含むポリゴンデータファイルを作成するポ
    リゴンデータ作成部、 ポリゴンデータ作成部で作成された前記ポリゴンデータ
    ファイルを記憶するメモリ、 非凸多面体を凸多面体に分割する分割処理の開始を指示
    する操作部、 メモリに格納されている前記ポリゴンデータファイルを
    用いて、非凸多面体の表面を覆う多数のポリゴンを第
    1、第2のグループに分割し、各グループにおいて隣接
    ポリゴンとの関係が凸であるポリゴンの部分集合を求め
    るポリゴン部分集合作成処理部、 共通の境界稜線を有する第1グループのポリゴン部分集
    合と第2グループのポリゴン部分集合とが凸関係にある
    ものを併合して複数の新たなポリゴン部分集合を求め、
    これらポリゴン部分集合を用いて凸多面体を生成する凸
    多面体生成処理部、 処理結果を出力する出力部、 を備えたことを特徴とする干渉チェックシステムにおけ
    る凸多面体作成装置。
  2. 【請求項2】 前記凸多面体生成処理部は、 2つのポリゴン部分集合が凸関係にあるか否かは、前記
    境界稜線を共有するポリゴンの全組合せを求め、全組合
    せにおいてポリゴン間が凸の関係にある時、第1グルー
    プのポリゴン部分集合と第2グループのポリゴン部分集
    合とが凸関係にあると判定し、1組でも凹の関係にある
    場合には凸の関係にないと判定することを特徴とする請
    求項1記載の干渉チェックシステムにおける凸多面体作
    成装置
  3. 【請求項3】 前記凸多面体生成処理部は、 第1グループのポリゴン部分集合の境界稜線で構成され
    る凸物体と第2グループのポリゴン部分集合で構成され
    る凸物体とが干渉するかチェックし、干渉しない場合に
    は共通の境界稜線がないものと判定し、干渉する場合に
    は共通の境界稜線が存在するものと判定し、共通の境界
    稜線を有する2つのポリゴン部分集合に対して前記凸関
    係にあるか否かを判定することを特徴とする請求項2記
    載の干渉チェックシステムにおける凸多面体作成装置。
  4. 【請求項4】 前記凸多面体生成処理部は、 前記最終的に求めた複数のポリゴン部分集合を第1、第
    2のグループに分割し、各グループにおいて隣接ポリゴ
    ンとの関係が凸であるポリゴンの部分集合を求め、共通
    の境界稜線を有する第1グループのポリゴン部分集合と
    第2グループのポリゴン部分集合とが凸関係にあるもの
    を併合して複数の新たなポリゴン部分集合を求め、前回
    に求めたポリゴン部分集合の数と今回求めたポリゴン部
    分集合の数が等しくない場合には、新たに求めた複数の
    ポリゴン部分集合に対して上記処理を更に繰返し、等し
    くなれば前回あるいは今回求めた各ポリゴン部分集合を
    出力することを特徴とする請求項1記載の干渉チェック
    システムにおける凸多面体作成装置
JP6209007A 1993-09-14 1994-09-02 干渉チェックシステムにおける凸多面体生成装置 Expired - Fee Related JP2820894B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6209007A JP2820894B2 (ja) 1994-09-02 1994-09-02 干渉チェックシステムにおける凸多面体生成装置
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 (ja) 1994-09-02 1994-09-02 干渉チェックシステムにおける凸多面体生成装置

Publications (2)

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

Family

ID=16565750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6209007A Expired - Fee Related JP2820894B2 (ja) 1993-09-14 1994-09-02 干渉チェックシステムにおける凸多面体生成装置

Country Status (1)

Country Link
JP (1) JP2820894B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3689226B2 (ja) * 1997-03-13 2005-08-31 富士通株式会社 分解経路生成装置
JP3383563B2 (ja) * 1997-12-18 2003-03-04 富士通株式会社 物体移動シミュレーション装置
JPH11272721A (ja) 1998-03-19 1999-10-08 Fujitsu Ltd 干渉チェック結果表示方法および干渉チェック結果表示装置ならびに干渉チェック結果表示プログラムが記録されたコンピュータ読取可能な記録媒体
JP4936522B2 (ja) 2006-09-29 2012-05-23 キヤノン株式会社 画像処理方法、画像処理装置

Non-Patent Citations (1)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
US10614195B2 (en) Mechanisms for reparametrizing surfaces to provide inter-surface continuity
US20050007368A1 (en) Topology determination, decomposable shape generation, and structured mesh generation
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
US6124857A (en) Meshing method and apparatus
JPH03171303A (ja) データ構造発生方法及び装置
KR20130049753A (ko) 덱셀들에 의해 표현되는 모델링된 볼륨의 설계
JP2002245098A (ja) 六面体メッシュ生成方法および装置
JP2820894B2 (ja) 干渉チェックシステムにおける凸多面体生成装置
US20050128198A1 (en) Method and apparatus for generating three-dimensional finite element mesh
US6121973A (en) Quadrilateral mesh generation method and apparatus
Niedzwiedzki et al. Idtmm: Incremental direct triangle mesh mapping
Leymarie et al. Computation of the shock scaffold for unorganized point clouds in 3D
JP3316092B2 (ja) 最接近点探索装置
CN112395660A (zh) 使用虚拟模型和基于图形的模拟为制造资源的操作区建模
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 (ja) 形状変換方法
JP2660490B2 (ja) 図面候補線分抽出装置、図面候補線分抽出方法、ソリッド・モデル合成装置及びソリッド・モデル合成方法
Canann Plastering-A new approach to automated, 3-D hexahedral mesh generation
Hauth et al. Extended linked voxel structure for point-to-mesh distance computation and its application to NC collision detection
JPH087800B2 (ja) ソリッドモデルの合成方法および装置
JP3621618B2 (ja) オフセット形状データの算出方法
KR102039265B1 (ko) Jt포맷을 활용한 선박/해양플랜트 배관재의 기하학적 간섭 체크 및 설치 순서 도출 방법 및 장치
Krishnan et al. Interactive boundary computation of boolean combinations of sculptured solids

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