JPH11328445A - 衝突判定装置および方法、および衝突判定方法を記録した媒体 - Google Patents

衝突判定装置および方法、および衝突判定方法を記録した媒体

Info

Publication number
JPH11328445A
JPH11328445A JP11060070A JP6007099A JPH11328445A JP H11328445 A JPH11328445 A JP H11328445A JP 11060070 A JP11060070 A JP 11060070A JP 6007099 A JP6007099 A JP 6007099A JP H11328445 A JPH11328445 A JP H11328445A
Authority
JP
Japan
Prior art keywords
depth
line segment
array
area
collision
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.)
Pending
Application number
JP11060070A
Other languages
English (en)
Inventor
Masamichi Nakagawa
雅通 中川
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP11060070A priority Critical patent/JPH11328445A/ja
Publication of JPH11328445A publication Critical patent/JPH11328445A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】コンピュータグラフィックスなどで用いられる
3次元形状や、距離画像などの衝突判定に関して、ポリ
ゴンへの変換やポリゴンの数によらず衝突判定を行うこ
とを目的とする。 【解決手段】奥行き記憶手段には、投影像の各画素毎に
物体の奥行き値の配列を保持し、投影像の重なりの画素
の奥行き値のリストを用い、衝突判定手段により各画素
ごとに、衝突判定を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータグラ
フィックスなどで用いられる3次元形状や、距離計測装
置、立体画像などにより得られる奥行きを持った画像な
どの衝突判定に関するものである。
【0002】
【従来の技術】従来、コンピュータグラフィックスやC
ADなどで物体や部品の接触や相互干渉を判定する方式
として、幾何形状を用いた衝突判定の方式が用いられて
いる。コンピュータグラフィックスで用いられる物体の
3次元形状を小さな平面で近似したポリゴンモデルの衝
突判定について説明する。ポリゴンモデル同士の衝突判
定は、各平面(ポリゴン)同士の衝突判定を、すべての
ポリゴンの組み合わせに対して行うことになる。
【0003】そこで、2つの三角形ポリゴンの衝突判定
の方法について、図 を用いて説明する。図17(a)
は2つの三角形ポリゴン901と902が衝突してい
る、つまり重なっている状態を示している。ポリゴン同
士の重なりを調べるには、一方の三角形を構成する辺の
各線分と、他方の三角形の平面と重なりを調べればよ
い。
【0004】図17(b)は、三角形ポリゴン902の
1つの辺903と三角ポリゴン901が点 904で重
なっている状態を示している。辺903の3次元空間で
の直線の方程式は、直線上の点の座標(x0,y0,z0),直線
の方向ベクトルを(i, j, k)として場合、媒介変数tを
用いて x = x0 + it (1) y = y0 + jt (2) z = z0 + kt (3) と表せる。一方、三角形ポリゴン901の平面の方程式
は、面の法線ベクトルを(a,b,c),原点からの距離をdと
して ax+by+cz+d = 0 (4) と表せる。よって、式(1)、式(2)、式(3)、式
(4)から、交点904での直線の媒介変数t0は t0 = - ( ax0+by0+cz0+d) / ( ai+bj+ck) (5) と求まる。式(1)、式(2)、式(3)に求めたtを
代入することにより交点904の座標を求めることがで
きる。
【0005】ただし、この交点は平面と直線のパラメー
タからのみ計算しているので、この交点が、線分903
の内部にありかつ、三角形ポリゴン901の内部にある
ことを次に調べる必要がある。交点 04が線分903
の内部にあるかどうかは、線分903の2つの端点90
5、906での媒介変数をt1, t2( t1 < t2 )とすれ
ば、式(5)での交点の媒介変数t0が t1 ≦ t0 (6) かつ t0 ≦ t2 (7) であれば、線分上(内部)にあるということが判定でき
る。
【0006】また、点904が、三角形ポリゴン901
の内部の点かどうかの判定は、図17(c)に示すよう
に、点 04から、三角形ポリゴンの各頂点に線分を引
き、それぞれの線分がなす鋭角の合計が360度ならば
内部の点、図17(d)に示すように、360度になら
ない場合、外部の点と判定できる。
【0007】以上の判定処理を、モデルを構成するすべ
てのポリゴンの組について行うことにより、2つのポリ
ゴンモデルの衝突判定を行う。
【0008】
【発明が解決しようとする課題】しかしながら上記の方
法は、3次元形状の複雑さに比例して処理時間が増加す
るという課題があった。ポリゴンモデルでは形状が複雑
になるにつれて細かな形状を表すポリゴンの数が増加
し、衝突判定において比較するポリゴンの組み合せの数
が増加する。
【0009】特に、距離計測装置などで計測された画像
の各画素について、カメラからの距離が与えられた距離
画像同士、あるいは距離画像とポリゴンモデルとの衝突
判定を考えると、距離画像は画像画素数分の四角形ポリ
ゴンで構成されると考えれば、画像の画素数分のポリゴ
ンの組み合せの衝突判定が必要になる。例えば距離画像
の各画素を四角形の1ポリゴンと考え、他方の物体の三
角形ポリゴン1つとの衝突判定でも、辺の数3として、
式(5)の交点の計算と、線分内外の判定である式
(6)、式(7)の2回の大小比較を、最悪画素数回行
わなければならない。また四角形ポリゴン内部の判定
も、4つの各頂点について、画素数回行う必要がある。
【0010】一つの方法として距離画像を1画素1ポリ
ゴンとせず、平面としてみなせる部分は1つの大きなポ
リゴンに置き換え、ポリゴン数を減らす方法も考えられ
るが、そのポリゴン減少のための、処理の増加を招くと
いう課題がある。
【0011】また距離画像だけでなく、3次元形状を中
身の詰まった固体物(ソリッド)として表現するソリッ
ドモデルやボクセルモデル、メタボールなどのようなポ
リゴンモデル以外のコンピュータグラフィックスで用い
られる種々のモデルの衝突判定を行う場合、一旦ポリゴ
ンモデルに変換して判定を行う必要があり、その変換処
理の増加と、モデルの表現方法の違いにより他のモデル
では簡潔に表現できる形状がポリゴンモデルでは非常に
ポリゴンの数が増えるといった課題があった。後者の課
題の例として、メタボールなどでは球体は基本形状であ
り簡潔に記述できるが、ポリゴンモデルではある程度の
滑らかさをもった球体を記述するには多くのポリゴンが
必要となるといった例がある。
【0012】本発明は、複雑な形状の物体の衝突判定
を、ポリゴンなどの幾何形状の衝突判定ではなく、物体
の投影像の各画素に関連づけられた配列を用いた衝突判
定を行うことにより、物体の複雑さによらず投影像の画
素数に比例した処理量で判定を可能とすることを目的と
する。
【0013】
【課題を解決するための手段】この課題を解決するため
に、本発明はポリゴン同士の衝突判定ではなく、 衝突
判定する各物体の投影像の各画素に投影される物体の領
域と、任意の点または平面からの距離を投影像の各画素
毎に配列した奥行き配列を用い、各画素毎に判定を行う
ことにより、物体の形状の複雑さによらない衝突判定を
行うものである。
【0014】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図1から図16を用いて説明する。
【0015】(実施の形態1)図1は本発明の衝突判定
の処理を2物体に関して適用した場合の概要を示すフロ
ーチャートである。図1において101a,101bは3
次元物体A,Bを同じ視点から見た投影像であり、10
2a,102bは物体A,Bの投影像の各画素に関連づ
けられた奥行き配列を保存する奥行き記憶手段であり、
103は投影像と奥行き配列から物体A,Bの衝突判定
を行う衝突判定手段である。ここで物体A,Bの衝突と
は、物体Aの一部が、物体Bに食い込んだ状態を言う。
また、物体A,Bの重なりとは、視点から見た物体A,
Bの全部または一部が互いに重なっている状態を言い、
物体A,Bが、空間的に離れてはいるが重なって見える
場合と、物体A,Bの一部が同じ空間を占有している、
すなわち衝突している場合とがある。
【0016】記憶手段102aには、物体Aの投影像の
任意の画素おいて、物体Aが奥行き方向に空間を占有す
る領域を表す第1線分の両端点を記憶する。記憶手段1
02bには、物体Bの投影像の任意の画素おいて、物体
Bが奥行き方向に空間を占有する領域を表す第2線分の
両端点を記憶する。 103の衝突判定手段において、
ステップ104では投影像の重なり領域を検出し、ステ
ップ105では投影像の重なり領域の各画素を順に1画
素づつ指定していき、ステップ106において指定され
た画素に対する、それぞれの物体についての奥行きを取
得し、ステップ107において奥行きを用いて衝突判定
を行う。衝突があった場合は、ステップ108で、現在
設定されているモードが、衝突している領域全てを検出
するモードか、衝突が一個所でもあった場合終了するモ
ードかを判定する。これらのモードは、使用者により予
め選択可能となっている。一個所でも衝突があれば終了
するモードなら衝突であるとの判定を出して処理を終了
する。全ての衝突領域を検出するモードの場合は、ステ
ップ109で衝突ありのフラグを立て、かつ現在の画素
が衝突領域であるというフラグをつけて次の処理に進
む。ステップ110では、重なりの領域に処理していな
い画素がある場合は、ステップ105に戻り、全て処理
が終わった場合は、ステップ109で衝突のフラグが立
っているかを調べ、衝突フラグが立っている場合は衝突
の判定を出し、フラグが立っていない場合は、非衝突の
判定を出し、衝突判定処理を終了する。
【0017】次に、ステップ107の奥行きによる衝突
判定の処理について、図2、図3を用いて詳しく説明す
る。図2(a)は物体と投影像と奥行き配列の関係を示
した図である。図2の201は対象となる物体であり、
202の視点から見た投影像が203である。投影像2
03の1つの画素204に関連づけられる物体の領域は
視点202と注目画素204を通る直線205と物体が
重なる線分となる。この線分を図2(b)に示す。線分
210、211が、画素204に関連する物体の領域と
なる。その線分の端点が物体の表面上の点となり、点2
06、208は視点202を向いた表の物体表面であ
り、点206、208と視点202との距離を表奥行き
値となる。同様に点207、209は視点と反対を向い
た裏の物体表面であり、点207、209と視点202
との距離が裏奥行き値となる。この表奥行き値と、裏奥
行き値を、投影像と同じように対応する画素毎に配列し
たものが、物体の形状を表す奥行き配列となり、奥行き
記憶手段102a、102bに記憶される。
【0018】この裏、表奥行き値は、コンピュータグラ
フィックスなどで3次元形状を2次元画像に合成する場
合、合成画像の画素毎に対応する最小奥行き値を保存す
るZバッファを利用することが多い。このZバッファの
値は最小の表奥行き値に対応する。Zバッファは最小値
で値を更新していくが、物体表面のすべてのZ値を保存
するように拡張することにより、表、裏奥行き値を取得
できる。ソリッドモデルなどの場合は、物体内部の情報
を持っているので、より直接にモデルから表、裏奥行き
値を得ることもできる。また、レーザ光を利用した距離
画像計測装置や、間隔をおいて配置された2つのカメラ
によるステレオ計測装置などで得ることができる、画像
の画素毎に奥行き情報を持った距離画像は、この最小の
表奥行き値1つだけの配列とみなすことができる。実写
の風景などを計測した場合、表面から後ろは、全部物体
が詰まっているとみなして、裏奥行き値が無限大の、
裏、表1組の奥行き配列とみなして、処理すればよい。
あるいは、180度方向を変えて2方向から計測すること
により、最小の表奥行き値と、最大の裏奥行き値を得る
ことはできる。
【0019】図3は、奥行き配列の1つの要素のデータ
構造を示した図である。301は、この裏奥行き値と表
奥行き値の組の個数を示す。これは物体の奥行き方向で
の凹凸の度合いを表しており、単純な凸物体なら1組、
図2に示したような奥行き方向に2領域に分割する物体
なら2組となる。302は最初の表奥行き値であり、3
03は最初の裏奥行き値である。この並びを図2の20
5の視点からの直線上の順番に並べるためには、小さい
値でソートしておけばよい。そうすることにより、デー
タの最初から順に表奥行き値、裏奥行き値の組で扱え
ば、それが物体内部の領域を表す図2(b)の線分の端
点を表すことになる。
【0020】次に、前記奥行き配列を用いて画素毎の衝
突判定の方法について説明する。図4は、2つの物体が
衝突した場合の3次元空間での様子と、投影像での様子
を説明した図である。図4(a)の401は凹形状の物
体を示し、402はその投影像である。図4(b)の4
03は円柱状の物体を示し、404はその投影像であ
る。図4(c)に示すように2つの物体401,403
が重なり、かつ衝突している場合(図5(a)参照)、
その投影像の合成図は406のようになる。これは同じ
視点からの投影を行っているとすれば、投影像402の
上に、投影像404を重ねることにより合成できる。4
07は406上での投影像404の領域を示している。
図1のステップ104の投影像の重なり領域の抽出は、
簡単には、この図4の407の領域としてもよいし、あ
るいは投影像402、404の上で物体の占める領域だ
け抽出できているなら、その領域だけをマスキングし
て、より小さな重なり領域として抽出することもでき
る。
【0021】図4の408の直線上で各物体の奥行き配
列がどうなっているかを図5に示す。図5(a)は、横
方向に直線408上での画素の並び、縦方向に物体の奥
行きの形状を重ねて示した説明図である。物体403の
一部は、物体401の一部に食い込んでいるので、物体
401,403との間で物体間の衝突が生じている。線
503に沿って、物体401,403を貫通した場合の
表奥行き値(黒丸)、裏奥行き値(白丸)を図示したもの
が、図5(b)である。実線の線分506が物体403
の奥行き方向の領域で、506fが表奥行き値を表し、
506bが裏奥行き値を表す。実線の線分507が物体
401の細い腕部分の奥行き方向の領域で、507fが
表奥行き値を表し、507bが裏奥行き値を表す。実線
の線分508が物体401の太い腕部分の奥行き方向の
領域で、508fが表奥行き値を表し、508bが裏奥
行き値を表す。図1のステップ107の画素毎の衝突判
定は、この線分で示した領域の重なりを調べればよい。
図3で示した奥行き配列には、図5(b)の黒丸、白丸
で示した表奥行き値、裏奥行き値が要素として保存され
ている。
【0022】次に、物体403に対応する線分506
と、物体401の細腕に対応する線分507の重なりを
調べる方法について説明する。線分が重なっている場合
は、物体同士が衝突している場合であり、線分が重なっ
ていない場合は、物体同士が重なってはいるが、衝突し
ていない場合である。図6(a)に示すように、線分5
06の黒丸の値である表奥行き値をA_front、白丸の値
である裏奥行き値をA_backとし、同様に線分507の黒
丸の値である表奥行き値を B_front、白丸の値である裏
奥行き値をB_backとする。そこで次の2つの式の正負を
考える。
【0023】 A_front - B_back (8) A_back - B_front (9) 物体403と、物体401の細腕が衝突する場合は、線
分506と507が重なる場合である。線分506と5
07が重なる場合は、図6(b)、(e)に示すよう
に、一方の物体が、他方の物体に完全に取りこまれてい
る場合と、図6(c)、(d)に示すように、一方の物
体の後部が、他方の物体の前部に食い込まれている場合
の、4つの場合がある。
【0024】図6(b)、(c)、(d)、(e)の場合
は、いずれも式(8)の結果は負となり、式(9)の結
果は正となる。すなわち、2つの式(8)、(9)の計
算結果の符号が異なる。よって式(8)、式(9)の計
算結果の値の符号が異なる場合は衝突と判定を出す。
【0025】物体403と、物体401の細腕が衝突し
ない場合は、線分506と507が重ならない場合であ
る。線分506と507が重ならない場合は、図6
(f)、(g)に示すように、一方の物体が、他方の物
体の前または後ろにある2つの場合がある。
【0026】図6(f)の場合は、式(8)、式(9)
の計算結果の値の符号は共に正となり、符号は一致す
る。図6(g)の場合は、式(8)、式(9)の計算結
果の値の符号は共に負となり、符号は一致する。
【0027】正を1、負を0で表せば、両者の排他的O
Rを取ると、正正、負負の場合は0となり、正負、負正
の場合は1となる。これにより、衝突、非衝突の判定が
可能となる。
【0028】式(8)、式(9)の値が0になる場合
は、2つの物体が接している場合であるが、これは衝突
に含めることにする。よって1つの線分の組について、
2回の減算、2回の正負の判定、1回の排他的論理和の
演算をすれば、衝突判定が行える。
【0029】2つの物体の衝突を判定するために、2つの
線分、例えば線分506と線分507の重なりを判定す
る必要がある。以上の説明では、2つの線分の重なりの
判定は式(8)、(9)を用いて行なったが、式
(8)、(9)の代わりに次の式(10)、(11)を
用いて判定することも可能である。
【0030】 A_front < B_back (10) A_back > B_front (11) すなわち、式(10)、(11)の両方の条件を満たせ
ば、2つの線分は重なると判定でき、したがって2つの物
体は衝突していると判定できる。例えば、図6の
(b)、(c)、(d)、(e)の場合は、式(1
0)、(11)の両方の条件を満たしており、衝突して
いる旨の判定が得られる一方、図6の(f)、(g)の
場合は、式(10)、(11)のいずれか一方の条件し
か満たしていないので、衝突していない旨の判定が得ら
れる。式(10)、(11)において等号が成り立つの
は、線分の一方の端で2つの物体が接する場合であり、
衝突に含める。含めないとすることも可能である。した
がって、2つの線分について、2つの大小比較と、1つの
論理積を行なえば、衝突判定が行なえる。
【0031】以上の衝突判定を少なくとも1画素につい
て行ない、衝突している旨の判定が得られれば、2つの
物体の判定を行なうことができる。更に、重なりのある
領域の画素の全てについて、衝突判定を行えば、2つの
物体の衝突している部分を正確に知ることができる。
【0032】このような図1の処理のソフトウェアプロ
グラムは、記録媒体に書き込んで市場に流通させること
もできる。これは以下の実施の形態においても同様であ
る。
【0033】(実施の形態2)前記の衝突判定は、物体
が非衝突の場合には重なりの領域の全部の画素を判定す
るまで判定が出せず、重なりの領域が大きくなると処理
量が多くなる。非衝突の場合でも凹凸が組み合わさるの
ではなく、完全に離れていている場合をすべての画素に
ついて処理する前に判定する方法について以下に説明す
る。
【0034】図7は奥行き配列の最小の奥行き値の階層
化の説明図である。奥行き配列の最小値は奥行き配列の
最初の要素である図3の302の表奥行き値1であり、
投影像に見えている物体領域までの距離である距離画像
と同じ値である。これは、どのような形状の物体のどの
画素に関しても必ず存在する。この最小の奥行きだけを
配列したものが、図7の601である。この601の複
数個の画素を統合して、より小さな配列にしたものが6
02であり、順次同様に統合することによって、配列6
03、604、605を階層的に構成する。この図の場
合最終的に605は、画像全体の画素の最小奥行き値を
統合したものとなっている。上の階層への統合の仕方を
次に説明する。階層601の4画素からなる領域606
は、階層602の画素607に対応している。607の
値は、領域606の最小奥行き値の最小値とするよう構
成する。以下同様に、上の階層は、下の階層の対応する
領域の最小値を与える。よって最上位の階層605の1
つしかない画素は、この物体の全体での最小の奥行き値
を表すことになる。言い換えると、各階層は異なる解像
度で物体の表の外接形状を形づくることになる。
【0035】同様に、奥行き配列の最大の奥行き値を階
層化する。各画素に対する奥行き配列の最大値は、図3
のデータの最後の要素となり、この値もどのような場合
も必ず存在する。最大の奥行き値の階層化の場合は、前
記最小の奥行きの階層化とは逆に対応する領域の最大値
を値として上の階層を構成する。この各階層は裏の外接
形状を形づくることになる。
【0036】この2つの最大、最小奥行きの階層を上位
の階層から比較することにより、物体が離れている場合
の非衝突の場合は、より少ない演算で行うことができ
る。例えば、物体が完全に離れていれば、手前にある物
体の最大奥行き値のすべての値が、後方にある物体の最
小奥行き値のどの値よりも小さくなる。よって図7の6
05のような画像全体を統合する階層同士を比較すれ
ば、1回の比較で非衝突が判定できる。
【0037】階層化した奥行き配列を用いた衝突判定の
処理の流れを図を用いて説明する。図8は処理のフロー
チャートであり、図9は簡単な例の奥行き配列と処理の
流れの説明図である。図9(a)は、球に矩形の板が衝
突している様子を示した模式図である。図9(b)に、
その投影像を示す。801が球の投影像であり、802
が板の投影像である。球と板は別々に投影像へ変換さ
れ、重ね合わされる。
【0038】図10(a)、(b)に、球の投影像80
1に対応した階層化された表および裏の奥行きマップを
示す。803が、元々の投影像に対応する8×8の表の
奥行き配列である。各配列要素を表す四角の枠の中の数
字は奥行き値を表している。対応する物体の投影像がな
い要素に関しては、物体の像がないことを示す特別なフ
ラグを立てておく。このような要素には数字を書かず空
白にしてある。803の太線で示す隣接する2×2の領
域を統合して4×4の配列にしたものが、1階層上の表
の階層化奥行き配列804である。804の各要素は、
対応する803の領域の4つの奥行き値の最小値、すな
わち視点から一番近い点の奥行き値を代表値として持
つ。よって、この最小値より小さな奥行き値は、対応す
る803の領域の4つの要素よりも小さいことになる。
投影像のない空白の要素は、最小値の計算には参照せ
ず、4つの要素とも空白の場合は、その上位の要素も空
白とする。
【0039】同様に804の2×2の領域の最小値を代
表値として、次の1階層上の要素の値とし、2×2の奥
行き配列805を形成する。同様に、805を統合した
ものが806であり、806は、最上位の表の階層化奥
行き配列である。この配列の要素の値が、球の表の奥行
き値の最小値となる。
【0040】同様に、球の投影像801の裏の奥行き配
列807を階層化したものが、808、809、810
である。裏の奥行き配列の場合は、対応する2×2の領
域内における最大値、すなわち視点から一番遠い点の奥
行き値を代表値として持つ。この代表値を1つ上の階層
の配列の要素とする。最上位の裏の階層化奥行き配列8
10の値14が、球の奥行き値の最大値となる。よって
球の全ての奥行き値は、806の値1から810の値1
4の間にあることになる。上位の奥行きの階層は、実際
の形状を取り囲む、より大きな外接形状を表しているこ
とになる。
【0041】図11(a)、(b)に、板の投影像80
2の表および裏の奥行き値に対応する階層化奥行き配列
を示す。811が投影像802の4×4の表の奥行き配
列で、812が、その2×2の領域を最小値で統合した
一階層上の表の階層化奥行き配列、813がさらに一階
層上の表の階層化奥行き配列で、最上位である。同様に
814が投影像802の裏の奥行き配列で、それを順次
階層化した裏の奥行き配列が815、816である。
【0042】次に図10、図11の階層化奥行き配列を
用いて衝突判定を行う処理に付いて述べる。まず図8の
ステップ701に示すように、最上位の階層から処理を
開始する。図12(a)に示すように、最上位の球の表
の階層806と、最上位の板の裏の階層816を比較す
る(すなわち式(8)を行なう)と共に、図12(b)
に示すように、最上位の球の裏の階層810と、最上位
の板の表の階層813を比較する(すなわち式(9)を
行なう)。次にステップ702において、その階層で含
まれている要素(画素)で、投影像で重なりの生じてい
る部分の画素の組を抽出する。図12の場合は、対応す
る領域が1つづつしかなく重なりの領域は1組しかな
い。次に、ステップ703において、式(8)、式
(9)の表の奥行きと裏の奥行きの差の符号を調べて、
この組の要素の衝突を判定する。具体的には次の通りで
ある。
【0043】 式(8)の場合は (806)-(816) = 1−3 = -2 負となり、 式(9)の場合は (810)−(813) = 14−2 =12 で正となり、異符号であるので衝突している可能性があ
る。ただし上位の階層で衝突していても、下の層で領域
を細分化していけば、衝突していない場合もありうる。
逆に非衝突の場合は、その最大、最小で囲まれるより大
きな外接形状で衝突しなければ、それより形状を細分化
していっても、衝突することはないので、703で非衝
突と判定できれば、それで処理を終了できる。これによ
り、非衝突の場合の処理の高速化が図れる。
【0044】次に衝突の場合は、ステップ704で衝突
している組すべてを抽出し、その組についてステップ7
05で下の階層へ処理を移すかを判断する。たとえば次
の階層が図10の803、807、図11の811、8
14のように1画素1要素の最下層ならば、ステップ7
07の画素毎の比較で処理を行っても良い。あるいは、
重なっている一方の物体の領域の面積が、設定した閾値
より小さくなり、下層へ分割して行う処理量より707
の画素比較を行ったほうが処理が少ない場合なども、そ
こで階層化の処理を打ち切る。
【0045】下層での処理を継続する場合、ステップ7
06で対応する要素のうち、もとの最下層での対応する
領域の面積の大きな方を、1つ下の階層の対応する領域
で置き換える。図12で806、810に対応する球の
要素の方が面積が大きいので、806、810を一階層
下の805、を809で置き換える。置き換えた結果を
図13に示す。置き換えた後、ステップ702から同様
の処理を繰り返す。図13で、重なり領域は805、8
09の右上の要素817と818だけであるので、81
7と816、818と813で式(8)、式(9)の衝
突判定を行う。この場合も、それぞれの差は異符号であ
るので、衝突の可能性があるので、さらに下位の階層で
判定を行う。
【0046】706において、対応する組805と80
9、817と818の面積は等しいので、どちらを分割
しても良いが、805、817の球の奥行き配列をさら
に下層の配列804、808へ分割する。図14に、分
割後の重なりの様子を示す。805は4つの領域81
9、820、821、823に分割され、817は82
4、825、826、827に分割される。ただし82
3、827は投影像のない空白の領域なので、702の
重なりの組の抽出で省かれる。よって重なりのある3つ
の組で、式(8)、式(9)の衝突判定を行う。
【0047】819、824の組では 式(8)の場合は (819)−(816)= 4−3 = 1 式(9)の場合は (824)−(813)= 11−2 = 9 で同符号となり、非衝突である。
【0048】820、825の組では 式(8)の場合は (820)−(816)= 1−3 = −2 式(9)の場合は (825)−(813)= 14−2 = 12 となり、異符号であるので衝突の可能性がある。
【0049】821、826の組では、 式(8)の場合は (821)−(816)= 4−3 = 1 式(9)の場合は (826)−(813)= 11−2 = 9 で、同符号であり、非衝突である。
【0050】よって、820と816、825と813
の1組で、より下層の衝突判定を行う。706におい
て、816、813を下位の階層804、808の対応
する領域に分割した様子が、図15である。重なりのあ
る組は、820と828、825と829に対応する一
組であり、式(8)、式(9)の符号を調べると、異符
号で衝突の可能性がある。
【0051】そこで、820と825を更に下の階層8
03、807に分割する。この様子を図16に示す。7
02で求められた重なり領域は830と831であり、
板の領域815、812と、式(8)、式(9)により
衝突判定を行うと、異符号で衝突している。803、8
07は元々の1画素1要素に対応する奥行き配列であ
り、衝突領域が画素に対応して求まったので、707の
画素同士の衝突判定が終了したことになり、処理は終了
する。
【0052】
【発明の効果】以上のように本発明によれば、ポリゴン
の衝突判定のように幾何形状の複雑さにより処理量が増
加することなしに、投影像の画素数に比例する処理で衝
突判定が可能となる。また投影像の画素処理はコンピュ
ータグラフィックスのZバッファなどによる画像合成処
理と同様の処理が多く、画像合成の処理の中に衝突判定
を組み込むことにより処理の共有化により高速化がはか
れる。
【0053】また、時間的に変化するシーンを、複数の
画像(フレーム)からなる動画像として合成する場合な
どにおいて、大多数のフレームは非衝突の画像となる。
その場合、階層化奥行き配列により、その非衝突の判定
を高速に行なうことにより、動画全体としても大きな高
速化が図れる。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態の構成、処理のフ
ローチャートである。
【図2】 物体と投影像と奥行き配列の関係を示した説
明図である。
【図3】 奥行き配列の1つの要素のデータ構造を示し
た図である。
【図4】 2つの物体が衝突する様子の説明図である。
【図5】 画素毎の奥行き配列の説明図である。
【図6】 奥行き配列により衝突、非衝突を判定する説
明図である。
【図7】 本発明の第2実施の形態の奥行き配列の階層
化の説明図である。
【図8】 階層化した奥行き配列による衝突判定のフロ
ーチャートである。
【図9】 球体と直方体が衝突する様子の説明図であ
る。
【図10】 球体の階層化した奥行き配列の説明図であ
る。
【図11】 直方体の階層化した奥行き配列の説明図で
ある。
【図12】 最上位の階層同士の奥行き値比較の説明図
である。
【図13】 最上位の階層と中間階層の奥行き値比較の
説明図である。
【図14】 ある中間階層の組み合わせの奥行き値比較
の説明図である。
【図15】 別の中間階層の組み合わせの奥行き値比較
の説明図である。
【図16】 最下位の階層と中間階層との奥行き値比較
の説明図である。
【図17】 従来のポリゴンによる衝突判定の説明図で
ある。
【符号の説明】
101 投影像 102 奥行き記憶手段 103 衝突判定手段 104 投影像の重なり指定処理 107 奥行きによる衝突判定処理 302 表奥行き値の最初の1つ 303 裏奥行き値の最初の1つ 406 重なりを生じた投影像

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】第1物体の投影像の任意の画素おいて、該
    第1物体が奥行き方向に空間を占有する領域を表す第1
    線分の両端点を記憶する手段と、 第2物体の投影像の任意の画素おいて、該第2物体が奥
    行き方向に空間を占有する領域を表す第2線分の両端点
    を記憶する手段と、 第1物体と第2物体とが重なっている画素について、第
    1線分の両端点と第2線分の両端点を読み出す手段と、 第1線分と第2線分とが重なっているかどうかを判定す
    る線分重なり判定手段と、 第1線分と第2線分とが重なっていると判定された場合
    は、第1物体と第2物体とが、衝突していると判定する
    衝突判定手段を有することを特徴とする衝突判定装置。
  2. 【請求項2】前記第1線分の両端点を記憶する手段は、
    第1線分の一方の端点を表の奥行き情報A_frontと、第
    1線分の他方の端点を裏の奥行き情報A_backとして記憶
    し、 前記第2線分の両端点を記憶する手段は、第2線分の一
    方の端点を表の奥行き情報B_frontと、第2線分の他方
    の端点を裏の奥行き情報B_backとして記憶し、 前記読み出し手段は、第1物体と第2物体とが重なって
    いる画素について該4つの奥行き情報を読み出すことを
    特徴とする請求項1記載の衝突判定装置。
  3. 【請求項3】前記判定手段は、 A_front - B_back A_back - B_front を計算し、計算結果の正負の符号が一致しない場合は、
    第1物体と第2物体は衝突すると判定することを特徴と
    する請求項2記載の衝突判定装置。
  4. 【請求項4】前記判定手段は、 A_front < B_back A_back > B_front を計算し、両方の条件を満たす場合は、第1物体と第2
    物体は衝突すると判定することを特徴とする請求項2記
    載の衝突判定装置。
  5. 【請求項5】前記奥行き情報を、物体の投影像の視点か
    らの距離とすることを特徴とする請求項2記載の衝突判
    定装置。
  6. 【請求項6】前記奥行き情報を、物体の投影像の視点を
    含み視線方向に垂直な平面からの距離とすることを特徴
    とする請求項2記載の衝突判定装置。
  7. 【請求項7】前記奥行き情報を、物体の表面の向いてい
    る方向が外側である表面までの距離を1つまたは複数個
    配列した表奥行き配列と、物体の表面の向いている方向
    が内側である表面までの距離を1つまたは複数個配列し
    た裏奥行き配列からなることを特徴とする請求項2記載
    の衝突判定装置。
  8. 【請求項8】前記表奥行き情報が、各要素をより大きな
    領域で統合し、領域に含まれる配列要素の最小値をその
    領域の値とする大域的な表奥行きの配列としたものを、
    繰り返し、より大きな領域に統合した階層的表奥行き配
    列と、前記裏奥行き配列が各要素をより大きな領域で統
    合し、領域に含まれる配列要素の最大値をその領域の値
    とする大域的な裏奥行きの配列を繰り返し、より大きな
    領域に統合した階層的裏奥行き配列とからなることを特
    徴とする請求項7記載の衝突判定装置。
  9. 【請求項9】第1物体の投影像の各画素に投影される物
    体の領域と、任意の点または平面からの距離を投影像の
    各画素毎に配列した奥行き配列を記憶し、 第2物体の投影像の各画素に投影される物体の領域と、
    任意の点または平面からの距離を投影像の各画素毎に配
    列した奥行き配列を記憶し、 第1物体と第2物体とが重なっている部分について、第
    1物体および第2物体の前記奥行き配列を記憶から読み
    出し、 読み出し情報に基づき、第1物体と第2物体との間の衝
    突判定を行うことを特徴とする衝突判定方法。
  10. 【請求項10】第1物体の投影像の任意の画素おいて、
    該第1物体が奥行き方向に空間を占有する領域を表す第
    1線分の両端点を記憶し、 第2物体の投影像の任意の画素おいて、該第2物体が奥
    行き方向に空間を占有する領域を表す第2線分の両端点
    を記憶し、 第1物体と第2物体とが重なっている画素について、第
    1線分の両端点と第2線分の両端点を読み出し、 第1線分と第2線分とが重なっているかどうかを判定
    し、 第1線分と第2線分とが重なっていると判定された場合
    は、第1物体と第2物体とが、衝突していると判定する
    ことを特徴とする衝突判定方法。
  11. 【請求項11】前記第1線分の両端点の記憶は、第1線
    分の一方の端点を表の奥行き情報A_frontと、第1線分
    の他方の端点を裏の奥行き情報A_backとして記憶し、 前記第2線分の両端点の記憶は、第2線分の一方の端点
    を表の奥行き情報B_frontと、第2線分の他方の端点を
    裏の奥行き情報B_backとして記憶し、 前記読み出しは、第1物体と第2物体とが重なっている
    画素について該4つの奥行き情報を読み出すことを特徴
    とする請求項10記載の衝突判定方法。
  12. 【請求項12】前記判定は、 A_front - B_back A_back - B_front を計算し、計算結果の正負の符号が一致しない場合は、
    第1物体と第2物体は衝突すると判定することを特徴と
    する請求項11記載の衝突判定方法。
  13. 【請求項13】前記判定は、 A_front < B_back A_back > B_front を計算し、両方の条件を満たす場合は、第1物体と第2
    物体は衝突すると判定することを特徴とする請求項11
    記載の衝突判定方法。
  14. 【請求項14】前記奥行き情報を、物体の投影像の視点
    からの距離とすることを特徴とする請求項11記載の衝
    突判定方法。
  15. 【請求項15】前記奥行き情報を、物体の投影像の視点
    を含み視線方向に垂直な平面からの距離とすることを特
    徴とする請求項11記載の衝突判定方法。
  16. 【請求項16】前記奥行き情報を、物体の表面の向いて
    いる方向が外側である表面までの距離を1つまたは複数
    個配列した表奥行き配列と、物体の表面の向いている方
    向が内側である表面までの距離を1つまたは複数個配列
    した裏奥行き配列からなることを特徴とする請求項11
    記載の衝突判定方法。
  17. 【請求項17】前記表奥行き情報が、各要素をより大き
    な領域で統合し、領域に含まれる配列要素の最小値をそ
    の領域の値とする大域的な表奥行きの配列としたもの
    を、繰り返し、より大きな領域に統合した階層的表奥行
    き配列と、前記裏奥行き配列が各要素をより大きな領域
    で統合し、領域に含まれる配列要素の最大値をその領域
    の値とする大域的な裏奥行きの配列を繰り返し、より大
    きな領域に統合した階層的裏奥行き配列とからなること
    を特徴とする請求項16記載の衝突判定方法。
  18. 【請求項18】コンピュータに、 第1物体の投影像の任意の画素おいて、該第1物体が奥
    行き方向に空間を占有する領域を表す第1線分の両端点
    を記憶させ、 第2物体の投影像の任意の画素おいて、該第2物体が奥
    行き方向に空間を占有する領域を表す第2線分の両端点
    を記憶させ、 第1物体と第2物体とが重なっている画素について、第
    1線分の両端点と第2線分の両端点を読み出させ、 第1線分と第2線分とが重なっているかどうかを判定
    し、 第1線分と第2線分とが重なっていると判定された場合
    は、第1物体と第2物体とが衝突していると判定する手
    順を実行させるためのプログラムを記録したことを特徴
    とするコンピュータ読取可能な記録媒体。
  19. 【請求項19】前記第1線分の両端点の記憶は、第1線
    分の一方の端点を表の奥行き情報A_frontと、第1線分
    の他方の端点を裏の奥行き情報A_backとして記憶し、 前記第2線分の両端点の記憶は、第2線分の一方の端点
    を表の奥行き情報B_frontと、第2線分の他方の端点を
    裏の奥行き情報B_backとして記憶し、 前記読み出しは、第1物体と第2物体とが重なっている
    画素について該4つの奥行き情報を読み出すことを特徴
    とする請求項18記載の記録媒体。
  20. 【請求項20】前記判定は、 A_front - B_back A_back - B_front を計算し、計算結果の正負の符号が一致しない場合は、
    第1物体と第2物体は衝突すると判定することを特徴と
    する請求項19記載の記録媒体。
  21. 【請求項21】前記判定は、 A_front < B_back A_back > B_front を計算し、両方の条件を満たす場合は、第1物体と第2
    物体は衝突すると判定することを特徴とする請求項19
    記載の記録媒体。
  22. 【請求項22】前記奥行き情報を、物体の投影像の視点
    からの距離とすることを特徴とする請求項19記載の記
    録媒体。
  23. 【請求項23】前記奥行き情報を、物体の投影像の視点
    を含み視線方向に垂直な平面からの距離とすることを特
    徴とする請求項19記載の記録媒体。
  24. 【請求項24】前記奥行き情報を、物体の表面の向いて
    いる方向が外側である表面までの距離を1つまたは複数
    個配列した表奥行き配列と、物体の表面の向いている方
    向が内側である表面までの距離を1つまたは複数個配列
    した裏奥行き配列からなることを特徴とする請求項19
    記載の記録媒体。
  25. 【請求項25】前記表奥行き情報が、各要素をより大き
    な領域で統合し、領域に含まれる配列要素の最小値をそ
    の領域の値とする大域的な表奥行きの配列としたもの
    を、繰り返し、より大きな領域に統合した階層的表奥行
    き配列と、前記裏奥行き配列が各要素をより大きな領域
    で統合し、領域に含まれる配列要素の最大値をその領域
    の値とする大域的な裏奥行きの配列を繰り返し、より大
    きな領域に統合した階層的裏奥行き配列とからなること
    を特徴とする請求項24記載の記録媒体。
JP11060070A 1998-03-11 1999-03-08 衝突判定装置および方法、および衝突判定方法を記録した媒体 Pending JPH11328445A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11060070A JPH11328445A (ja) 1998-03-11 1999-03-08 衝突判定装置および方法、および衝突判定方法を記録した媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10-60047 1998-03-11
JP6004798 1998-03-11
JP11060070A JPH11328445A (ja) 1998-03-11 1999-03-08 衝突判定装置および方法、および衝突判定方法を記録した媒体

Publications (1)

Publication Number Publication Date
JPH11328445A true JPH11328445A (ja) 1999-11-30

Family

ID=26401112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11060070A Pending JPH11328445A (ja) 1998-03-11 1999-03-08 衝突判定装置および方法、および衝突判定方法を記録した媒体

Country Status (1)

Country Link
JP (1) JPH11328445A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100370462C (zh) * 2004-09-17 2008-02-20 鸿富锦精密工业(深圳)有限公司 图元动态消隐系统及方法
JP2008084210A (ja) * 2006-09-28 2008-04-10 Fujitsu Ltd 高さ制限算出装置、高さ制限算出方法、高さ制限算出プログラムおよび3次元構造物の製造方法
JP2008305347A (ja) * 2007-06-11 2008-12-18 Canon Inc 干渉判定情報の生成方法及び装置
JP2012515979A (ja) * 2009-01-21 2012-07-12 シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッド 2つの干渉するオブジェクトを離すための並進ベクトルを求めるシステム、方法およびコンピュータプログラム
JP2015127977A (ja) * 2015-03-05 2015-07-09 セイコーエプソン株式会社 衝突検出システム、ロボットシステム及び衝突検出方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100370462C (zh) * 2004-09-17 2008-02-20 鸿富锦精密工业(深圳)有限公司 图元动态消隐系统及方法
JP2008084210A (ja) * 2006-09-28 2008-04-10 Fujitsu Ltd 高さ制限算出装置、高さ制限算出方法、高さ制限算出プログラムおよび3次元構造物の製造方法
US7869059B2 (en) 2006-09-28 2011-01-11 Fujitsu Limited Height-limit calculation apparatus, height-limit calculation method, method of manufacturing three-dimensional structure, and computer product
JP2008305347A (ja) * 2007-06-11 2008-12-18 Canon Inc 干渉判定情報の生成方法及び装置
US8217933B2 (en) 2007-06-11 2012-07-10 Canon Kabushiki Kaisha Method and apparatus for detecting between virtual objects
JP2012515979A (ja) * 2009-01-21 2012-07-12 シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッド 2つの干渉するオブジェクトを離すための並進ベクトルを求めるシステム、方法およびコンピュータプログラム
JP2015127977A (ja) * 2015-03-05 2015-07-09 セイコーエプソン株式会社 衝突検出システム、ロボットシステム及び衝突検出方法

Similar Documents

Publication Publication Date Title
JP3840150B2 (ja) 3次元客体およびアニメートされた3次元客体のイメージベースの表現とレンダリング方法
JP6321106B2 (ja) 現実環境内にバーチャルオブジェクトを描写する方法および装置
US6256036B1 (en) Three-dimensional modeling apparatus for producing three-dimensional model of object of interest and method therefor
JP5133418B2 (ja) 現実環境内にバーチャルオブジェクトを描写する方法および装置
US5819016A (en) Apparatus for modeling three dimensional information
RU2642167C2 (ru) Устройство, способ и система для реконструкции 3d-модели объекта
US8432435B2 (en) Ray image modeling for fast catadioptric light field rendering
US6914599B1 (en) Image processing apparatus
US7760932B2 (en) Method for reconstructing three-dimensional structure using silhouette information in two-dimensional image
EP0638875B1 (en) A 3-dimensional animation generating apparatus and a method for generating a 3-dimensional animation
US7483024B2 (en) Accelerated ray-object intersection
US6529626B1 (en) 3D model conversion apparatus and method
CN113160068B (zh) 基于图像的点云补全方法及系统
JP2003077004A (ja) 3次元の静止した又は動くオブジェクトの階層イメージベース表現並びに該表現をオブジェクトのレンダリングに使用する方法及び装置
CN100399358C (zh) 图像处理装置及其方法
CN108154553A (zh) 一种三维模型与监控视频的无缝融合方法及装置
US6518966B1 (en) Method and device for collision detection and recording medium recorded with collision detection method
US7209136B2 (en) Method and system for providing a volumetric representation of a three-dimensional object
KR20160125172A (ko) 레이 트레이싱 장치 및 방법
JP3629243B2 (ja) モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
JPH11328445A (ja) 衝突判定装置および方法、および衝突判定方法を記録した媒体
US11423618B2 (en) Image generation system and method
US20110074777A1 (en) Method For Displaying Intersections And Expansions of Three Dimensional Volumes
CN112509136B (zh) 基于球坐标图元映射的模型压缩与碰撞检测方法
US6404427B1 (en) Rapid checking method for determining whether an object is located within a field of vision