JPH10221359A - 衝突判定装置及び方法 - Google Patents
衝突判定装置及び方法Info
- Publication number
- JPH10221359A JPH10221359A JP9033134A JP3313497A JPH10221359A JP H10221359 A JPH10221359 A JP H10221359A JP 9033134 A JP9033134 A JP 9033134A JP 3313497 A JP3313497 A JP 3313497A JP H10221359 A JPH10221359 A JP H10221359A
- Authority
- JP
- Japan
- Prior art keywords
- collision
- storage unit
- objects
- combination
- determination
- 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
Links
Abstract
(57)【要約】
【課題】物体の数が多い場合でも、それらが互いに衝突
しているか否かを短時間で判定し得る衝突判定装置の提
供。 【解決手段】衝突判定部4が、判定物体テーブル記憶部
3に格納された組合せに対する物体のデータを、物体デ
ータ記憶部1から読み込んで、これらの物体が互いに衝
突しているか否かを判定し、衝突している場合には、そ
の組合せを、衝突物体リスト記憶部2に書き出す。
しているか否かを短時間で判定し得る衝突判定装置の提
供。 【解決手段】衝突判定部4が、判定物体テーブル記憶部
3に格納された組合せに対する物体のデータを、物体デ
ータ記憶部1から読み込んで、これらの物体が互いに衝
突しているか否かを判定し、衝突している場合には、そ
の組合せを、衝突物体リスト記憶部2に書き出す。
Description
【0001】
【発明の属する技術分野】本発明は、物体同士の衝突の
有無を判定する衝突判定装置及び方法に関し、特にコン
ピュータグラフィックスを利用した物体の運動シミュレ
ーションを高速に行うことを可能とする衝突判定装置及
び方法に関する。
有無を判定する衝突判定装置及び方法に関し、特にコン
ピュータグラフィックスを利用した物体の運動シミュレ
ーションを高速に行うことを可能とする衝突判定装置及
び方法に関する。
【0002】
【従来の技術】一般に、運動シミュレーションを行う対
象として定義された物体の数が多いほど、また物体の形
状が複雑になるほど、運動している物体同士が衝突して
いるか否かの判定には多くの時間を要する。
象として定義された物体の数が多いほど、また物体の形
状が複雑になるほど、運動している物体同士が衝突して
いるか否かの判定には多くの時間を要する。
【0003】従来、複雑な形状をもつ物体に対しては、
例えば特開平2−224004号公報(発明の名称;
「移動体の干渉チェック装置」)に記載されているよう
に、球体を利用するなど、元の物体を被覆する簡単な形
状の物体を衝突判定のための代替物体として利用した
り、さらには物体の初期位置や物体間の初期関係に基づ
いて、対応する代替物体を階層的に構成することで、衝
突判定に要する時間の短縮を図っている。なお、上記特
開平2−224004号公報には、各物体の表面を被覆
する球体でモデル化し、物体内部はモデル化から除外す
ることにより、球体の数を少なくして階層構造を単純化
し、モデル化速度を向上して、干渉判定の高速化を図る
装置を提供するため、階層球体モデル生成手段は各物体
の表面を表わす画情報に基づいて各物体の表面を各々複
数種類の半径からなる球体により階層的に被覆してモデ
ル化し、球体干渉演算手段は球体モデル記憶手段に記憶
された任意時刻の2つの物体に関するモデル化球体の位
置に基づいて、相互に干渉する球体を検出しその干渉す
ると判断された球体同志だけについてその相互に干渉す
る球体に属するより半径の小さい球体の中からさらに干
渉する球体を検出するという手順を半径の大きい球体か
ら順に階層的に実行し、そして最終的に相互に干渉する
最小半径の球体が存在するときに2つの物体は干渉する
と判断し、相互に干渉する最小半径の球体の位置から2
つの物体の干渉位置を求め、演算結果を出力し、これに
よりモデル化速度を向上し、物体の干渉判定を高速化で
きるようにした構成が提案されている。
例えば特開平2−224004号公報(発明の名称;
「移動体の干渉チェック装置」)に記載されているよう
に、球体を利用するなど、元の物体を被覆する簡単な形
状の物体を衝突判定のための代替物体として利用した
り、さらには物体の初期位置や物体間の初期関係に基づ
いて、対応する代替物体を階層的に構成することで、衝
突判定に要する時間の短縮を図っている。なお、上記特
開平2−224004号公報には、各物体の表面を被覆
する球体でモデル化し、物体内部はモデル化から除外す
ることにより、球体の数を少なくして階層構造を単純化
し、モデル化速度を向上して、干渉判定の高速化を図る
装置を提供するため、階層球体モデル生成手段は各物体
の表面を表わす画情報に基づいて各物体の表面を各々複
数種類の半径からなる球体により階層的に被覆してモデ
ル化し、球体干渉演算手段は球体モデル記憶手段に記憶
された任意時刻の2つの物体に関するモデル化球体の位
置に基づいて、相互に干渉する球体を検出しその干渉す
ると判断された球体同志だけについてその相互に干渉す
る球体に属するより半径の小さい球体の中からさらに干
渉する球体を検出するという手順を半径の大きい球体か
ら順に階層的に実行し、そして最終的に相互に干渉する
最小半径の球体が存在するときに2つの物体は干渉する
と判断し、相互に干渉する最小半径の球体の位置から2
つの物体の干渉位置を求め、演算結果を出力し、これに
よりモデル化速度を向上し、物体の干渉判定を高速化で
きるようにした構成が提案されている。
【0004】また、例えば特開平7−230559号公
報(発明の名称;「衝突判定処理システムおよびこれを
用いた画像処理装置」)に記載されているように、一つ
の原物体に対して簡単な形状の代替物体を複数個用いる
ことで、衝突判定の精度を低下させることなく処理の高
速化を図るという方法も知られている。
報(発明の名称;「衝突判定処理システムおよびこれを
用いた画像処理装置」)に記載されているように、一つ
の原物体に対して簡単な形状の代替物体を複数個用いる
ことで、衝突判定の精度を低下させることなく処理の高
速化を図るという方法も知られている。
【0005】上記した従来の衝突判定装置の構成を図に
表すと、図10に示すようなものとなる。ただし、図1
0は、上記特開平2−224004号公報、及び特開平
7−230559号公報に記載の内容に基づき本発明者
が新たに作成したものである。図10を参照すると、物
体データ記憶部101と、代替物体生成部107と、衝
突判定部104と、衝突物体リスト記憶部102と、を
備えて構成されている。このうち、代替物体生成部10
7は、例えば物体の形状および空間における位置を物体
データとして格納する物体データ記憶部101から読み
出した一つの原物体に対して簡単な形状の代替物体を複
数個を用いるために代替物体を生成して衝突判定部10
4に渡す。
表すと、図10に示すようなものとなる。ただし、図1
0は、上記特開平2−224004号公報、及び特開平
7−230559号公報に記載の内容に基づき本発明者
が新たに作成したものである。図10を参照すると、物
体データ記憶部101と、代替物体生成部107と、衝
突判定部104と、衝突物体リスト記憶部102と、を
備えて構成されている。このうち、代替物体生成部10
7は、例えば物体の形状および空間における位置を物体
データとして格納する物体データ記憶部101から読み
出した一つの原物体に対して簡単な形状の代替物体を複
数個を用いるために代替物体を生成して衝突判定部10
4に渡す。
【0006】
【発明が解決しようとする課題】しかしながら、運動シ
ミュレーションを行う対象として定義された物体の全て
の組合せについて、衝突判定を行うという従来の方法で
は、たとえ簡単な形状の代替物体を利用したとしても、
定義された物体の数が多くなると、全体として衝突判定
処理に要する時間が膨大になるという問題があった。
ミュレーションを行う対象として定義された物体の全て
の組合せについて、衝突判定を行うという従来の方法で
は、たとえ簡単な形状の代替物体を利用したとしても、
定義された物体の数が多くなると、全体として衝突判定
処理に要する時間が膨大になるという問題があった。
【0007】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、物体の数が多い
場合でも、それらが互いに衝突しているか否かを短時間
で判定し得る衝突判定装置及び方法を提供することにあ
る。
てなされたものであって、その目的は、物体の数が多い
場合でも、それらが互いに衝突しているか否かを短時間
で判定し得る衝突判定装置及び方法を提供することにあ
る。
【0008】
【課題を解決するための手段】前記目的を達成するた
め、本発明の衝突判定装置は、物体の形状および空間に
おける位置を物体データとして格納する物体データ記憶
部と、互いに衝突している物体の組合せを格納する衝突
物体リスト記憶部と、衝突判定を行うべき物体の組合せ
を格納する判定物体テーブル記憶部と、前記判定物体テ
ーブル記憶部に格納された組合せに対応する物体のデー
タを前記物体データ記憶部から読み込み、これらの物体
が互いに衝突しているか否かを判定し、衝突しているも
のと判定した場合には前記物体の組合せを前記衝突物体
リスト記憶部に書き込む衝突判定手段と、を備えたこと
を特徴とする。
め、本発明の衝突判定装置は、物体の形状および空間に
おける位置を物体データとして格納する物体データ記憶
部と、互いに衝突している物体の組合せを格納する衝突
物体リスト記憶部と、衝突判定を行うべき物体の組合せ
を格納する判定物体テーブル記憶部と、前記判定物体テ
ーブル記憶部に格納された組合せに対応する物体のデー
タを前記物体データ記憶部から読み込み、これらの物体
が互いに衝突しているか否かを判定し、衝突しているも
のと判定した場合には前記物体の組合せを前記衝突物体
リスト記憶部に書き込む衝突判定手段と、を備えたこと
を特徴とする。
【0009】また、本発明に係る衝突判定装置は、上記
構成に加えて、衝突判定を継続するか否かの条件を格納
したルール記憶部と、前記衝突物体リスト記憶部に蓄え
られた組合せに対応する物体のデータを前記物体データ
記憶部から読み出し、衝突に伴って変化する物体の形状
および空間における位置を算出し、その結果が前記ルー
ル記憶部の条件に適合した場合には、前記判定物体テー
ブル記憶部に格納された物体の組合せを変更するテーブ
ル更新手段と、を更に備えたことを特徴とする。
構成に加えて、衝突判定を継続するか否かの条件を格納
したルール記憶部と、前記衝突物体リスト記憶部に蓄え
られた組合せに対応する物体のデータを前記物体データ
記憶部から読み出し、衝突に伴って変化する物体の形状
および空間における位置を算出し、その結果が前記ルー
ル記憶部の条件に適合した場合には、前記判定物体テー
ブル記憶部に格納された物体の組合せを変更するテーブ
ル更新手段と、を更に備えたことを特徴とする。
【0010】本発明の衝突判定方法は、物体の形状およ
び空間における位置を物体データとして格納する物体デ
ータ記憶部と、互いに衝突している物体の組合せを格納
する衝突物体リスト記憶部と、衝突判定を行うべき物体
の組合せを格納する判定物体テーブル記憶部と、を備
え、前記判定物体テーブル記憶部に格納された組合せに
対応する物体のデータを前記物体データ記憶部から読み
込み、これらの物体が互いに衝突しているか否かを判定
し、衝突しているものと判定した場合には前記組合せを
前記衝突物体リスト記憶部に書き出す、ようにしたこと
を特徴とする。
び空間における位置を物体データとして格納する物体デ
ータ記憶部と、互いに衝突している物体の組合せを格納
する衝突物体リスト記憶部と、衝突判定を行うべき物体
の組合せを格納する判定物体テーブル記憶部と、を備
え、前記判定物体テーブル記憶部に格納された組合せに
対応する物体のデータを前記物体データ記憶部から読み
込み、これらの物体が互いに衝突しているか否かを判定
し、衝突しているものと判定した場合には前記組合せを
前記衝突物体リスト記憶部に書き出す、ようにしたこと
を特徴とする。
【0011】また、本発明の衝突判定方法は、衝突判定
を継続するか否かの条件を格納したルール記憶部を更に
備え、前記衝突物体リスト記憶部に蓄えられた組合せに
対応する物体のデータを前記物体データ記憶部から読み
出し、衝突に伴って変化する物体の形状および空間にお
ける位置を算出し、その結果が前記ルール記憶部の条件
に適合した場合には、前記判定物体テーブル記憶部に格
納された物体の組合せを変更する、ことを特徴とする。
を継続するか否かの条件を格納したルール記憶部を更に
備え、前記衝突物体リスト記憶部に蓄えられた組合せに
対応する物体のデータを前記物体データ記憶部から読み
出し、衝突に伴って変化する物体の形状および空間にお
ける位置を算出し、その結果が前記ルール記憶部の条件
に適合した場合には、前記判定物体テーブル記憶部に格
納された物体の組合せを変更する、ことを特徴とする。
【0012】
【発明の実施の形態】本発明の実施の形態について以下
に説明する。本発明は、その好ましい実施の形態とし
て、物体が互いに衝突しているか否かを判定する衝突判
定装置において、衝突判定を行うべき物体の組合せを格
納するための判定物体テーブル記憶部(図1の3)を備
え、この判定物体テーブル記憶部に格納された組合せの
物体間に対してのみ衝突判定を行うことを特徴としてい
る。
に説明する。本発明は、その好ましい実施の形態とし
て、物体が互いに衝突しているか否かを判定する衝突判
定装置において、衝突判定を行うべき物体の組合せを格
納するための判定物体テーブル記憶部(図1の3)を備
え、この判定物体テーブル記憶部に格納された組合せの
物体間に対してのみ衝突判定を行うことを特徴としてい
る。
【0013】ところで、運動シミュレーションを行う対
象として定義された物体の中には、互いにリンクで接続
されているとか、運動する範囲が限られているなど、物
体の構造上あるいはシミュレーション・シーンを構成す
る上で、明らかに互いに衝突し得ない物体が存在する。
象として定義された物体の中には、互いにリンクで接続
されているとか、運動する範囲が限られているなど、物
体の構造上あるいはシミュレーション・シーンを構成す
る上で、明らかに互いに衝突し得ない物体が存在する。
【0014】本発明の実施の形態においては、このよう
な関係にある物体の組合せを、予め、テーブル等に登録
しておき、衝突判定時には、登録された物体を判定対象
から外すことにより、全判定処理に要する時間を短縮す
る。
な関係にある物体の組合せを、予め、テーブル等に登録
しておき、衝突判定時には、登録された物体を判定対象
から外すことにより、全判定処理に要する時間を短縮す
る。
【0015】また、本発明は、その好ましい別の実施の
形態として、物体が互いに衝突しているか否かを判定す
る衝突判定装置において、衝突判定を行うべき物体の組
合せを格納するための判定物体テーブル記憶部(図2の
3)と、衝突判定を継続するか否かの条件を格納したル
ール記憶部(図2の5)と、衝突に伴って変化した物体
の形状あるいは空間における位置が、このルール記憶部
の条件に適合した場合に、判定物体テーブル記憶部(図
2の3)に格納された物体の組合せを変更するテーブル
更新部(図2の6)を備え、シミュレーションの途中で
衝突判定が不要となった物体の組合せを、判定対象から
外すことにより、必要な衝突判定のみを行うことを特徴
としている。
形態として、物体が互いに衝突しているか否かを判定す
る衝突判定装置において、衝突判定を行うべき物体の組
合せを格納するための判定物体テーブル記憶部(図2の
3)と、衝突判定を継続するか否かの条件を格納したル
ール記憶部(図2の5)と、衝突に伴って変化した物体
の形状あるいは空間における位置が、このルール記憶部
の条件に適合した場合に、判定物体テーブル記憶部(図
2の3)に格納された物体の組合せを変更するテーブル
更新部(図2の6)を備え、シミュレーションの途中で
衝突判定が不要となった物体の組合せを、判定対象から
外すことにより、必要な衝突判定のみを行うことを特徴
としている。
【0016】運動シミュレーションを実行中に物体の形
状、物体の位置、物体間の関係が変化した、例えば小さ
くなった、地面に落下した場合など、シミュレーション
の目的によってはそれらの物体に対して衝突判定を継続
して行う必要がない場合もある。
状、物体の位置、物体間の関係が変化した、例えば小さ
くなった、地面に落下した場合など、シミュレーション
の目的によってはそれらの物体に対して衝突判定を継続
して行う必要がない場合もある。
【0017】本発明の実施の形態においては、このよう
な物体をテーブル等に登録しておき、衝突判定時には登
録された物体を判定対象から外すことにより、全判定処
理に要する時間を短縮する。
な物体をテーブル等に登録しておき、衝突判定時には登
録された物体を判定対象から外すことにより、全判定処
理に要する時間を短縮する。
【0018】
【実施例】上記した本発明の実施の形態について更に詳
細に説明すべく、本発明の実施例について図面を参照し
て以下に詳細に説明する。
細に説明すべく、本発明の実施例について図面を参照し
て以下に詳細に説明する。
【0019】
【実施例1】図1は、本発明の第1の実施例の構成をブ
ロック図にて示したものである。図1を参照すると、本
実施例は、物体の形状および空間における位置を物体デ
ータとして格納する物体データ記憶部1と、互いに衝突
している物体の組合せを格納する衝突物体リスト記憶部
2と、衝突判定を行うべき物体の組合せを格納する判定
物体テーブル記憶部3と、判定物体テーブル記憶部3に
格納された組合せに対応する物体のデータを物体データ
記憶部1から読み込んで、それらの物体が互いに衝突し
ているか否かを判定し、衝突している場合にはその組合
せを前記衝突物体リスト記憶部2に書き出す衝突判定部
4と、を備えて構成されている。
ロック図にて示したものである。図1を参照すると、本
実施例は、物体の形状および空間における位置を物体デ
ータとして格納する物体データ記憶部1と、互いに衝突
している物体の組合せを格納する衝突物体リスト記憶部
2と、衝突判定を行うべき物体の組合せを格納する判定
物体テーブル記憶部3と、判定物体テーブル記憶部3に
格納された組合せに対応する物体のデータを物体データ
記憶部1から読み込んで、それらの物体が互いに衝突し
ているか否かを判定し、衝突している場合にはその組合
せを前記衝突物体リスト記憶部2に書き出す衝突判定部
4と、を備えて構成されている。
【0020】図3は、図1に示した本実施例における衝
突判定部4の動作を説明するためのフローチャートであ
る。図1及び図3を参照して、本実施例の衝突判定部4
の動作について以下に説明する。
突判定部4の動作を説明するためのフローチャートであ
る。図1及び図3を参照して、本実施例の衝突判定部4
の動作について以下に説明する。
【0021】物体データ記憶部lには、物体の形状およ
び空間における位置に関するデータが3次元座標値とし
て、予め格納されている。また、判定物体テーブル記憶
部3には、衝突判定を行うべき物体の組合せデータが物
体識別番号として、予め格納されている。
び空間における位置に関するデータが3次元座標値とし
て、予め格納されている。また、判定物体テーブル記憶
部3には、衝突判定を行うべき物体の組合せデータが物
体識別番号として、予め格納されている。
【0022】衝突判定部4は、まず、物体の組合せデー
タの一つを判定物体テーブル記憶部3から読み込む(ス
テップPl)。この組合せの二つの物体に対応する形状
データおよび空間における位置データを物体データ記憶
部1から読み込む(ステップP2)。
タの一つを判定物体テーブル記憶部3から読み込む(ス
テップPl)。この組合せの二つの物体に対応する形状
データおよび空間における位置データを物体データ記憶
部1から読み込む(ステップP2)。
【0023】そして、これらの物体が互いに衝突してい
るか否かを計算によって求める(ステップP3)。この
計算には、例えば、文献(コミュニケーションズ・オブ
・ザ・エイ・シー・エム(Communication
s of the ACM)、第22巻、第1号、19
79年、J.W.Boyse氏の論文である「インター
フェアレンス ディテクション アマング ソリッド
アンド サーフィス(Interference De
tection among Solidsand S
urfaces)」)に記載されている方法を用いるこ
とができる。
るか否かを計算によって求める(ステップP3)。この
計算には、例えば、文献(コミュニケーションズ・オブ
・ザ・エイ・シー・エム(Communication
s of the ACM)、第22巻、第1号、19
79年、J.W.Boyse氏の論文である「インター
フェアレンス ディテクション アマング ソリッド
アンド サーフィス(Interference De
tection among Solidsand S
urfaces)」)に記載されている方法を用いるこ
とができる。
【0024】計算の結果、これらの物体が衝突している
場合には、その組合せを物体識別番号の対として衝突物
体リスト記憶部2に書き出した後に、次のステップヘ進
み(ステップP4)、衝突していない場合には何もせず
に、次のステップヘ進む。
場合には、その組合せを物体識別番号の対として衝突物
体リスト記憶部2に書き出した後に、次のステップヘ進
み(ステップP4)、衝突していない場合には何もせず
に、次のステップヘ進む。
【0025】以上の処理を、判定物体テーブル記憶部3
に格納された物体の組合せ全てについて実行するため
に、衝突判定処理を行っていない組合せが残っているか
否かを調べる(ステップP5)。
に格納された物体の組合せ全てについて実行するため
に、衝突判定処理を行っていない組合せが残っているか
否かを調べる(ステップP5)。
【0026】ステップP5の判定で、未処理の組合せが
存在する場合には、ステップP1へ戻る。未処理の組合
せが存在しない場合には処理を終了する。これで、衝突
している物体の全ての組合せが、衝突物体リスト記憶部
2に格納されることになる。
存在する場合には、ステップP1へ戻る。未処理の組合
せが存在しない場合には処理を終了する。これで、衝突
している物体の全ての組合せが、衝突物体リスト記憶部
2に格納されることになる。
【0027】次に、図1における判定物体テーブル記憶
部3に格納するデータの一例について説明する。
部3に格納するデータの一例について説明する。
【0028】ここでは、一例として、図5に示すよう
な、シミュレーション・シーンを想定する。これは、車
輪のついた車と実のなった木をモデル化したものであ
る。なお、図5では、本来は3次元で表現されるもの
を、説明のために2次元的な図形で示している。
な、シミュレーション・シーンを想定する。これは、車
輪のついた車と実のなった木をモデル化したものであ
る。なお、図5では、本来は3次元で表現されるもの
を、説明のために2次元的な図形で示している。
【0029】図5に示す状態に対応する判定物体、すな
わち衝突判定の対象とすべき物体の組合せを表形式で示
したものが、図8である。
わち衝突判定の対象とすべき物体の組合せを表形式で示
したものが、図8である。
【0030】衝突判定は物体の順序に無関係である、す
なわち、物体1と物体7との衝突と物体7と物体1との
衝突は同じことであるから、衝突判定の対象として冗長
となる一方の組介せを表から除去する。これを、図8で
は、記号“−”で示している。
なわち、物体1と物体7との衝突と物体7と物体1との
衝突は同じことであるから、衝突判定の対象として冗長
となる一方の組介せを表から除去する。これを、図8で
は、記号“−”で示している。
【0031】また、物体1は物体2と、物体2は物体3
と、というように、物体同士が、はじめから接合してい
る関係にある場合には、衝突判定を行う必要が無い。こ
のような組合せについても除去する。これらについて
は、図中、記号“=”で示している。さらに、物体6と
物体7のように、物体同士が互いに接合している訳では
ないが構造上衝突がありえない組合せも除去する。これ
らについても、記号“=”で示している。
と、というように、物体同士が、はじめから接合してい
る関係にある場合には、衝突判定を行う必要が無い。こ
のような組合せについても除去する。これらについて
は、図中、記号“=”で示している。さらに、物体6と
物体7のように、物体同士が互いに接合している訳では
ないが構造上衝突がありえない組合せも除去する。これ
らについても、記号“=”で示している。
【0032】すると、衝突判定を行うべき組合せは、図
8の空欄に対応する15通りとなる。このような表を、
図1における判定物体テーブル記憶部3に格納しておく
ことにより、衝突判定部4は、図3に示した処理フロー
に従って、必要な判定処理だけを実行する。
8の空欄に対応する15通りとなる。このような表を、
図1における判定物体テーブル記憶部3に格納しておく
ことにより、衝突判定部4は、図3に示した処理フロー
に従って、必要な判定処理だけを実行する。
【0033】このように、本実施例においては、シミュ
レーション・シーンを構成する上で、あるいは物体をモ
デル化する上で、衝突判定の対象から外すことが可能な
物体の組合せを予めデータとして用意しておき、この情
報を利用して衝突判定を行うことにより、処理量を軽減
することができる。なお、例えば図3に示したフローチ
ャートの処理手順等は、情報処理装置でプログラムを実
行することによって実現することができる。
レーション・シーンを構成する上で、あるいは物体をモ
デル化する上で、衝突判定の対象から外すことが可能な
物体の組合せを予めデータとして用意しておき、この情
報を利用して衝突判定を行うことにより、処理量を軽減
することができる。なお、例えば図3に示したフローチ
ャートの処理手順等は、情報処理装置でプログラムを実
行することによって実現することができる。
【0034】
【実施例2】図2は、本発明の第2の実施例の構成をブ
ロック図にて示したものである。図2において、図1に
示した要素と同一の要素には同一の参照符号が付されて
いる。
ロック図にて示したものである。図2において、図1に
示した要素と同一の要素には同一の参照符号が付されて
いる。
【0035】図2を参照すると、本実施例は、物体の形
状および空間における位置を物体データとして格納する
物体データ記憶部1と、互いに衝突している物体の組合
せを格納する衝突物体リスト記憶部2と、衝突判定を行
うべき物体の組合せを格納する判定物体テーブル記憶部
3と、判定物体テーブル記憶部3に格納された組合せに
対応する物体のデータを物体データ記憶部1から読み込
んで、それらの物体が互いに衝突しているか否かを判定
し、衝突している場合には、その組合せを衝突物体リス
ト記憶部3に書き出す衝突判定部4′と、衝突判定を継
続するか否かのルールを、IF−THEN形式のデータ
(なお、IF−THEN形式の知識表現は、前提−結
論、条件−行動を規定するルールを規定する)として格
納するルール記憶部5と、衝突物体リスト記憶部2に蓄
えられた組合せに対応する物体のデータを物体データ記
憶部1から読み込み、衝突に伴って変化する物体の形状
および空間における位置を算出し、それらがルール記憶
部5の条件に適合した場合には、判定物体テーブル記憶
部3に格納された物体の組合せを変更するテーブル更新
部6と、を備えて構成される。
状および空間における位置を物体データとして格納する
物体データ記憶部1と、互いに衝突している物体の組合
せを格納する衝突物体リスト記憶部2と、衝突判定を行
うべき物体の組合せを格納する判定物体テーブル記憶部
3と、判定物体テーブル記憶部3に格納された組合せに
対応する物体のデータを物体データ記憶部1から読み込
んで、それらの物体が互いに衝突しているか否かを判定
し、衝突している場合には、その組合せを衝突物体リス
ト記憶部3に書き出す衝突判定部4′と、衝突判定を継
続するか否かのルールを、IF−THEN形式のデータ
(なお、IF−THEN形式の知識表現は、前提−結
論、条件−行動を規定するルールを規定する)として格
納するルール記憶部5と、衝突物体リスト記憶部2に蓄
えられた組合せに対応する物体のデータを物体データ記
憶部1から読み込み、衝突に伴って変化する物体の形状
および空間における位置を算出し、それらがルール記憶
部5の条件に適合した場合には、判定物体テーブル記憶
部3に格納された物体の組合せを変更するテーブル更新
部6と、を備えて構成される。
【0036】図3は、図2に示した本発明の第2の実施
例における衝突判定部4′の動作を説明するためのフロ
ーチャートである。本発明の第2の実施例における衝突
判定部4′では、ステップP6の処理を行うという点だ
けが、前記第1の実施例における衝突判定部4の動作と
相違している。
例における衝突判定部4′の動作を説明するためのフロ
ーチャートである。本発明の第2の実施例における衝突
判定部4′では、ステップP6の処理を行うという点だ
けが、前記第1の実施例における衝突判定部4の動作と
相違している。
【0037】すなわち、本発明の第2の実施例におい
て、衝突判定部4′では、図3のステップP3におい
て、衝突があると判定した場合に、ステップP4で物体
の組合せを物体識別番号の対として衝突物体リスト記憶
部2に書き出した後、ステップP6の処理を行う。ステ
ップP6の処理とは、図2におけるテーブル更新部6の
処理を起動し、その処理が終了するまでステップP5に
進まずに待機するという処理である。
て、衝突判定部4′では、図3のステップP3におい
て、衝突があると判定した場合に、ステップP4で物体
の組合せを物体識別番号の対として衝突物体リスト記憶
部2に書き出した後、ステップP6の処理を行う。ステ
ップP6の処理とは、図2におけるテーブル更新部6の
処理を起動し、その処理が終了するまでステップP5に
進まずに待機するという処理である。
【0038】図4は、本発明の第2の実施例におけるテ
ーブル更新部6の動作を説明するためのフローチャート
である。図2及び図4を参照して、本発明の第2の実施
例の動作について以下に説明する。
ーブル更新部6の動作を説明するためのフローチャート
である。図2及び図4を参照して、本発明の第2の実施
例の動作について以下に説明する。
【0039】物体データ記憶部1には、物体の形状およ
び空間における位置に関するデータが3次元座標軸とし
て、予め格納されている。また、ルール記憶部5には、
衝突を継続するか否かのルールを、IF−THEN形式
のデータとして、予め格納されている。
び空間における位置に関するデータが3次元座標軸とし
て、予め格納されている。また、ルール記憶部5には、
衝突を継続するか否かのルールを、IF−THEN形式
のデータとして、予め格納されている。
【0040】さらに、衝突物体リスト記憶部2には、衝
突している物体の組合せが物体識別番号として格納され
ている。テーブル更新部6は、まず衝突している物体の
組合せデータを衝突物体リスト記憶部2から読み込む
(ステップQl)。この組合せの二つの物体に対応する
形状データおよび空間における位置データを物体データ
記憶部1から読み込む(ステップQ2)。
突している物体の組合せが物体識別番号として格納され
ている。テーブル更新部6は、まず衝突している物体の
組合せデータを衝突物体リスト記憶部2から読み込む
(ステップQl)。この組合せの二つの物体に対応する
形状データおよび空間における位置データを物体データ
記憶部1から読み込む(ステップQ2)。
【0041】次に、衝突に伴って変化した物体の形状や
空間における付置を計算で求める(ステップQ3)。こ
の計算には、例えば文献(エイ・シー・エム・コンピュ
ータ・グラフィックス(ACM Computer G
raphics)、第22巻、第4号、1988年、
M.Moore氏とJ.Wilhelms氏の共著であ
る「コリージョン ディテクション アンド リスポン
ス フォー コンピュータ アニメーション(Coll
ision Detection and Respo
nse for Computer Animatio
n)」と題する論文)に記載されている方法を利用する
ことができる。
空間における付置を計算で求める(ステップQ3)。こ
の計算には、例えば文献(エイ・シー・エム・コンピュ
ータ・グラフィックス(ACM Computer G
raphics)、第22巻、第4号、1988年、
M.Moore氏とJ.Wilhelms氏の共著であ
る「コリージョン ディテクション アンド リスポン
ス フォー コンピュータ アニメーション(Coll
ision Detection and Respo
nse for Computer Animatio
n)」と題する論文)に記載されている方法を利用する
ことができる。
【0042】物体の新たな形状や位置など、変化後の状
態に一致する条件がルール記憶部5の中にあるか否かを
調べる(ステップQ4)。
態に一致する条件がルール記憶部5の中にあるか否かを
調べる(ステップQ4)。
【0043】その結果、一致する条件がある場合には、
その条件(「IF」の部分)に対応する記述(「THE
N」の部分)を読み込み(ステップQ5)、記述に従っ
て判定物体テーブル記憶部3の内容を更新する(ステッ
プQ6)。
その条件(「IF」の部分)に対応する記述(「THE
N」の部分)を読み込み(ステップQ5)、記述に従っ
て判定物体テーブル記憶部3の内容を更新する(ステッ
プQ6)。
【0044】次に、図2に示した本発明の第2の実施例
におけるテーブル更新部6が判定物体テーブル記憶部3
に格納されたデータを更新する具体例について説明す
る。ここで、例えば図6に示すようなシミュレーション
・シーンを想定する。これは、車輪のついた車が木にな
った実に衝突している様子をモデル化したものである。
なお、ここでは、本来は3次元で表現されるものを、説
明のために2次元的な図形で示している。
におけるテーブル更新部6が判定物体テーブル記憶部3
に格納されたデータを更新する具体例について説明す
る。ここで、例えば図6に示すようなシミュレーション
・シーンを想定する。これは、車輪のついた車が木にな
った実に衝突している様子をモデル化したものである。
なお、ここでは、本来は3次元で表現されるものを、説
明のために2次元的な図形で示している。
【0045】図6に示す状態に対応する判定物体、すな
わち衝突判定の対象とすべき物体の組合せを表形式で記
したものが、図8である。衝突判定部4′は、図3のフ
ローチャートに従って処理を進める。物体4と物体5の
組合せに対しては、衝突ありと判定する。
わち衝突判定の対象とすべき物体の組合せを表形式で記
したものが、図8である。衝突判定部4′は、図3のフ
ローチャートに従って処理を進める。物体4と物体5の
組合せに対しては、衝突ありと判定する。
【0046】そこで、衝突判定部4′は、この組合せに
対応する物体識別番号の対を衝突物体リスト記憶部2に
格納して、テーブル更新部6の処理を起動する。テーブ
ル更新部6は、衝突物体リスト記憶部2から物体識別番
号の対、この例の場合には物体4と物体5に対応する識
別番号を読み込み、さらに、それらの物体に対応する形
状や位置データを物体データ記憶部1から読み込む。そ
して、これらのデータを用いて、衝突後の物体の形状や
位置を計算で求める。
対応する物体識別番号の対を衝突物体リスト記憶部2に
格納して、テーブル更新部6の処理を起動する。テーブ
ル更新部6は、衝突物体リスト記憶部2から物体識別番
号の対、この例の場合には物体4と物体5に対応する識
別番号を読み込み、さらに、それらの物体に対応する形
状や位置データを物体データ記憶部1から読み込む。そ
して、これらのデータを用いて、衝突後の物体の形状や
位置を計算で求める。
【0047】図7は、計算の結果、物体4の位置が変化
して地面に落下した様子を示したものである。もし、ル
ール記憶部5に、「IF(物体が地面に落下した) T
HEN (その物体を衝突判定の対象から外す)」とい
うルールが格納されていれば、物体4の状況は、このル
ールの「IF」部分の条件に適合するため、「THE
N」部分の記述に従って、判定物体テーブル記憶部3の
内容を更新する。
して地面に落下した様子を示したものである。もし、ル
ール記憶部5に、「IF(物体が地面に落下した) T
HEN (その物体を衝突判定の対象から外す)」とい
うルールが格納されていれば、物体4の状況は、このル
ールの「IF」部分の条件に適合するため、「THE
N」部分の記述に従って、判定物体テーブル記憶部3の
内容を更新する。
【0048】具体的には、物体4を衝突判定の対象から
外すわけであるから、図9に示すように、物体4に対応
する行および列の空欄を、記号“=”で埋めて、衝突判
定処理がなされないようにする。
外すわけであるから、図9に示すように、物体4に対応
する行および列の空欄を、記号“=”で埋めて、衝突判
定処理がなされないようにする。
【0049】このように本発明の第2の実施例を利用す
るならば、シミュレーションを実行中に、状況に応じて
衝突判定の対象を変更することが可能であり、不要な判
定処理を回避することで全体の処理量を軽減することが
できる。
るならば、シミュレーションを実行中に、状況に応じて
衝突判定の対象を変更することが可能であり、不要な判
定処理を回避することで全体の処理量を軽減することが
できる。
【0050】
【発明の効果】以上説明したように、本発明(請求項
1)によれば、衝突判定が必要な組合せを予め選定して
おくことにより、不要な衝突判定を回避し、判定処理全
体に要する時間を短縮する、すなわち高速に衝突判定を
行うことができる、という効果を奏する。
1)によれば、衝突判定が必要な組合せを予め選定して
おくことにより、不要な衝突判定を回避し、判定処理全
体に要する時間を短縮する、すなわち高速に衝突判定を
行うことができる、という効果を奏する。
【0051】また、本発明(請求項2)によれば、衝突
判定が必要な組合せを動的に選定することにより、シミ
ュレーション等の途中で発生した無駄な衝突判定の組合
せを取り除くことができるため、判定処理を高速化す
る、という効果を奏する。
判定が必要な組合せを動的に選定することにより、シミ
ュレーション等の途中で発生した無駄な衝突判定の組合
せを取り除くことができるため、判定処理を高速化す
る、という効果を奏する。
【0052】上記した効果は、実時間シミュレーション
を実現する上で、非常に有効であり、本発明の実用的価
値は極めて高い。
を実現する上で、非常に有効であり、本発明の実用的価
値は極めて高い。
【図1】本発明の第1の実施例の構成を示すブロック図
である。
である。
【図2】本発明の第2の実施例の構成を示すブロック図
である。
である。
【図3】本発明の第1、第2の実施例における衝突判定
部の動作を説明するためのフローチャートである。
部の動作を説明するためのフローチャートである。
【図4】本発明の第2の実施例におけるテーブル更新部
の動作を説明するためのフローチャー卜である。
の動作を説明するためのフローチャー卜である。
【図5】本発明の第1の実施例を説明するための図であ
り、物体の初期状態を示した図である。
り、物体の初期状態を示した図である。
【図6】本発明の第1の実施例を説明するための図であ
り、二つの物体が衝突している状態を示した図である。
り、二つの物体が衝突している状態を示した図である。
【図7】本発明の第2の実施例を説明するための図であ
り、衝突により物体が地面に落下した状態を示した図で
ある。
り、衝突により物体が地面に落下した状態を示した図で
ある。
【図8】本発明の実施例を説明するための図であり、図
5および図6の状態に対応する、衝突判定の対象となる
物体の組合せを表形式で示した図である。
5および図6の状態に対応する、衝突判定の対象となる
物体の組合せを表形式で示した図である。
【図9】本発明の実施例を説明するための図であり、図
7の状態に対応する、衝突判定の対象となる物体の組合
せを表形式で示した図である。
7の状態に対応する、衝突判定の対象となる物体の組合
せを表形式で示した図である。
【図10】従来の装置を示すブロック図である。
1 物体データ記憶部 2 衝突物体リスト記憶部 3 判定物体テーブル記憶部 4、4′ 衝突判定部 5 ルール記憶部 6 テーブル更新部 101 物体データ記憶部 102 衝突物体リスト記憶部 104 衝突判定部 107 代替物体生成部
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成9年3月7日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】図6
【補正方法】変更
【補正内容】
【図6】本発明の第2の実施例を説明するための図であ
り、二つの物体が衝突している状態を示した図である。
り、二つの物体が衝突している状態を示した図である。
Claims (6)
- 【請求項1】物体の形状および空間における位置を物体
データとして格納する物体データ記憶部と、 互いに衝突している物体の組合せを格納する衝突物体リ
スト記憶部と、 衝突判定を行うべき物体の組合せを格納する判定物体テ
ーブル記憶部と、 前記判定物体テーブル記憶部に格納された組合せに対応
する物体のデータを前記物体データ記憶部から読み込
み、これらの物体が互いに衝突しているか否かを判定
し、衝突しているものと判定した場合には前記物体の組
合せを前記衝突物体リスト記憶部に書き出す衝突判定手
段と、 を備えたことを特徴とする衝突判定装置。 - 【請求項2】衝突判定を継続するか否かの条件を格納し
たルール記憶部と、 前記衝突物体リスト記憶部に蓄えられた組合せに対応す
る物体のデータを前記物体データ記憶部から読み出し、
衝突に伴って変化する物体の形状および空間における位
置を算出し、その結果が前記ルール記憶部の条件に適合
した場合には、前記判定物体テーブル記憶部に格納され
た物体の組合せを変更するテーブル更新手段と、 を更に備えたことを特徴とする請求項1記載の衝突判定
装置。 - 【請求項3】衝突判定を行うべき物体の組合せを格納す
る判定物体テーブル記憶部を参照して該判定物体テーブ
ル記憶部に格納された組合せに対応する物体のデータ
を、物体の形状および空間における位置を物体データと
して格納する物体データ記憶部から読み出して、これら
の物体が互いに衝突しているか否かを判定し、衝突して
いるものと判定した場合には、この衝突物体の組合せ
を、互いに衝突している物体の組合せを格納する衝突物
体リスト記憶部に書き出す、という衝突判定処理を情報
処理装置で実行させるプログラムを記録した記録媒体。 - 【請求項4】前記衝突物体リスト記憶部に蓄えられた組
合せに対応する物体のデータを前記物体データ記憶部か
ら読み出し、衝突に伴って変化する物体の形状および空
間における位置を算出し、その結果が、衝突判定を継続
するか否かの規則を格納したルール記憶部の規則に適合
した場合には、前記判定物体テーブル記憶部に格納され
た物体の組合せを変更する、という処理を情報処理装置
で更に実行させるプログラムを記録した請求項3記載の
記録媒体。 - 【請求項5】物体の形状および空間における位置を物体
データとして格納する物体データ記憶部と、 互いに衝突している物体の組合せを格納する衝突物体リ
スト記憶部と、 衝突判定を行うべき物体の組合せを格納する判定物体テ
ーブル記憶部と、 を備え、 前記判定物体テーブル記憶部に格納された組合せに対応
する物体のデータを前記物体データ記憶部から読み込
み、これらの物体が互いに衝突しているか否かを判定
し、衝突しているものと判定した場合には前記組合せを
前記衝突物体リスト記憶部に書き出す、ようにしたこと
を特徴とする衝突判定方法。 - 【請求項6】衝突判定を継続するか否かの条件を格納し
たルール記憶部を更に備え、 前記衝突物体リスト記憶部に蓄えられた組合せに対応す
る物体のデータを前記物体データ記憶部から読み出し、
衝突に伴って変化する物体の形状および空間における位
置を算出し、その結果が前記ルール記憶部の条件に適合
した場合には、前記判定物体テーブル記憶部に格納され
た物体の組合せを変更する、ことを特徴とする請求項5
記載の衝突判定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9033134A JPH10221359A (ja) | 1997-01-31 | 1997-01-31 | 衝突判定装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9033134A JPH10221359A (ja) | 1997-01-31 | 1997-01-31 | 衝突判定装置及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10221359A true JPH10221359A (ja) | 1998-08-21 |
Family
ID=12378138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9033134A Pending JPH10221359A (ja) | 1997-01-31 | 1997-01-31 | 衝突判定装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10221359A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007257082A (ja) * | 2006-03-20 | 2007-10-04 | Fujitsu Ltd | 部品間干渉管理方法および部品間干渉管理装置 |
WO2021205776A1 (ja) * | 2020-04-10 | 2021-10-14 | オムロン株式会社 | シミュレーションのためのプログラムおよび装置 |
-
1997
- 1997-01-31 JP JP9033134A patent/JPH10221359A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007257082A (ja) * | 2006-03-20 | 2007-10-04 | Fujitsu Ltd | 部品間干渉管理方法および部品間干渉管理装置 |
WO2021205776A1 (ja) * | 2020-04-10 | 2021-10-14 | オムロン株式会社 | シミュレーションのためのプログラムおよび装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1241628B1 (en) | Interference checking method | |
US7436407B2 (en) | Topology determination, decomposable shape generation, and structured mesh generation | |
US6099573A (en) | Method and apparatus for modeling interactions | |
US6862026B2 (en) | Process and device for collision detection of objects | |
EP1218828B1 (en) | Method and apparatus for edge correlation between design objects | |
EP0957452B1 (en) | Apparatus and method for checking interference of objects in computer | |
JP3854033B2 (ja) | 機構シミュレーション装置及び機構シミュレーションプログラム | |
US6407748B1 (en) | Method and apparatus for modeling interactions | |
US20040167650A1 (en) | Partial reprojection method and device in three-dimensional CAD system and computer program | |
US6670954B2 (en) | Three-dimensional skeleton data error absorbing apparatus | |
US5920324A (en) | Character pattern producing apparatus capable of producing character pattern having connected character elements | |
JPH10221359A (ja) | 衝突判定装置及び方法 | |
US20240112397A1 (en) | Spatial test of bounding volumes for rasterization | |
JP4915518B2 (ja) | 3次元モデル表示装置、そのプログラム及び方法 | |
JP3425760B2 (ja) | 干渉チェック装置 | |
JP2004094750A (ja) | 3次元形状処理装置、干渉モデル検出方法、プログラム、及び記憶媒体 | |
Sommer et al. | Geometry and rendering optimizations for the interactive visualization of crash-worthiness simultations | |
JP5062080B2 (ja) | 3次元モデルデータを生成する装置および方法 | |
JP4093440B2 (ja) | 閉領域の包含関係判定方法およびこの方法を実施するためのプログラムを記録した記録媒体 | |
JP3305395B2 (ja) | 図形分割装置 | |
JP3766857B2 (ja) | 3次元モデルの開発支援システム | |
JP3251744B2 (ja) | 交点追跡法による画像生成方法 | |
JP2001159809A (ja) | マスクパターン設計装置、マスクパターン設計方法およびマスクパターン設計プログラムを格納したコンピュータ読取り可能な記録媒体 | |
JPH10326298A (ja) | 3次元モデルデザインレビュー装置 | |
JPH10312473A (ja) | コーナ丸め部分の削除方法、ならびに同方法を実現するcaeシステム、及び同方法がプログラムされ記録される記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20020129 |