JP3184124B2 - 衝突検知方法、物体変位方法および教育シミュレータ - Google Patents

衝突検知方法、物体変位方法および教育シミュレータ

Info

Publication number
JP3184124B2
JP3184124B2 JP20461497A JP20461497A JP3184124B2 JP 3184124 B2 JP3184124 B2 JP 3184124B2 JP 20461497 A JP20461497 A JP 20461497A JP 20461497 A JP20461497 A JP 20461497A JP 3184124 B2 JP3184124 B2 JP 3184124B2
Authority
JP
Japan
Prior art keywords
displacement
displaced
collision
dimensional
data
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
JP20461497A
Other languages
English (en)
Other versions
JPH1153585A (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.)
Hitachi Electronics Services Co Ltd
Original Assignee
Hitachi Electronics Services 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 Hitachi Electronics Services Co Ltd filed Critical Hitachi Electronics Services Co Ltd
Priority to JP20461497A priority Critical patent/JP3184124B2/ja
Publication of JPH1153585A publication Critical patent/JPH1153585A/ja
Application granted granted Critical
Publication of JP3184124B2 publication Critical patent/JP3184124B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、3次元のコンピュ
ータグラフィックス上における物体の衝突を検知するこ
とができる、衝突検知方法、物体変位方法および教育シ
ミュレータに係り、特に、仮想空間上での物体を高速で
移動することに好適な、衝突検知方法、物体変位方法お
よび教育シミュレータに関する。
【0002】
【従来の技術】 近年、マルチメディア対応のパソコ
ン、安価なネットワークが普及が進んだことより、3次
元CG(コンピュータグラフィックス)を実行する環境
を手軽に利用できるようになってきている。環境の整備
に伴い、3次元CGを用いて作業を疑似体験させること
よって教育を行う教育シミュレータの開発が進められて
いる。
【0003】このような教育シミュレータとして、例え
ば、保守サービス員の教育における作業実習として、機
器の分解組立を疑似体験させ、その手順を理解させるた
めの教育シミュレータなどがある。
【0004】
【発明が解決しようとする課題】従来の教育シミュレー
タでは、CGの仮想空間に表示させている物体を移動す
る場合、移動先の周りに存在するオブジェクトのすべて
について、接触が発生するか否かを判定しながら、オブ
ジェクトを移動している。このため、オブジェクトの移
動に伴う演算処理量が増大するという問題がある。特
に、オブジェクトの形状が複雑になる場合や、存在する
オブジェクトの数が多くなる場合は、演算処理量はより
増大し、問題は一層深刻となる。
【0005】このような3次元を用いてシミュレーショ
ンを行えば、上述のように演算処理量が増大することに
より、処理時間が長くかかり、オブジェクト移動の高速
化を図ることが困難である。
【0006】本発明は、オブジェクトの移動をスムース
に行うため、接触を判定するための演算処理量を低減す
ることを目的とする。
【0007】
【課題を解決するための手段】上記目的を解決するため
に、本発明の第1の態様によれば、3次元のコンピュー
タグラフィックス上における物体の衝突を検知するため
の衝突検知方法において、仮想空間内にある物体のそれ
ぞれに、その物体の外形を包む標準立体をそれぞれ定義
し、上記それぞれ定義される標準立体が占有する空間が
重複するか否かにより、衝突を検知することを特徴とす
る衝突検知方法が提供される。
【0008】本発明の第2の態様によれば、3次元のコ
ンピュータグラフィックス上における物体を変位するた
めの物体変位方法において、仮想空間内を変位すべき変
位物体が、変位されるべき変位先で衝突する物体を、上
記第1の態様の衝突検知方法により検知し、衝突する物
体が検知されたとき、上記変位物体の面と、上記他の物
体の面とを計算して、変位できるか否かを判定するため
の衝突判定を行い、かつ、そうでないとき、上記衝突判
定を行わずに上記変位物体を変位することを特徴とする
物体変位方法が提供される。
【0009】本発明の第3の態様によれば、3次元のコ
ンピュータグラフィックス上における物体を変位するた
めの物体変位方法において、仮想空間内を変位すべき変
位物体の進行方向に存在する物体と、上記変位物体との
距離を計算し、上記変位物体が変位すべき距離が上記計
算した距離よりも小さいとき、上記衝突判定を行わずに
上記変位物体を変位することを特徴とする物体変位方法
が提供される。
【0010】本発明の第4の態様によれば、物体の変位
を伴う分解組立の手順を、3次元コンピュータグラフィ
ックスの仮想空間における物体の変位をシミュレーショ
ンにより疑似体験させるための教育シミュレータにおい
て、上記第2の態様および第3の態様の物体移動方法に
従って仮想空間における物体を変位させることを特徴と
する教育シミュレータが提供される。
【0011】
【発明の実施の形態】以下、図面を参照して、本発明の
実施の形態について説明する。
【0012】図1を参照して、本発明の第1の実施の形
態について説明する。本実施の形態における3次元CG
(コンピュータグラフィックス)疑似体験システムは、
実際の機器を利用して行う分解組立実習を、パソコンを
利用して疑似体験するためのものであり、機器の分解組
立の手順を保守員に理解させるためのシミュレーション
教育に用いられる。本発明を適用した3次元CG疑似体
験システムによれば、実際の機器を利用して行う分解組
立実習を、パソコンを利用した疑似体験により行うこと
ができる。
【0013】なお、以下の説明における物体の移動と
は、並進する変位と、回転する変位とを含み、これらの
それぞれの変位またはこれらの組み合わせの変位を仮想
空間における物体に生じさせることをいう。
【0014】図1において、3次元CG疑似体験システ
ム1000は、実習対象機器の3次元データを作成する
ための3次元データ作成システム1200と、作成され
た3次元データを格納するための格納装置1500と、
格納されている3次元データを用いてパソコン上で分解
組立の操作を模擬するための分解組立疑似体験システム
1400とを備えて構成される。
【0015】まず、3次元データ作成システム1200
について説明する。上記3次元データ作成システム12
00は、3次元図形の形状データを作成するための3次
元形状作成プログラム1210と、作成された形状デー
タを格納するための形状データサーバ1230と、写真
などの画像ファイルを編集するための写真編集プログラ
ム1220と、編集された写真データを格納するための
写真データサーバ1240と、上記形状データサーバ1
230および写真データサーバ1240に格納されてい
るデータを用いて3次元データを作成するための3次元
データ作成プログラム1250と、3次元物体の表示、
移動、衝突判定を行うためのバーチャルリアリティ構築
用プログラム1260とを有して構成される。
【0016】上記3次元形状作成プログラム1210で
は、直方体の箱の組み合わせで3次元図形を表現する形
状データが作成される。
【0017】上記写真編集プログラム1220では、実
習の対象となる写真を画像情報として取り込んだ画像フ
ァイルについて、必要な部分の切り出し、大きさの変更
などの編集が行われる。
【0018】上記3次元データ作成プログラム1250
では、上記3次元形状作成プログラム1210によって
作成された箱の各面に、上記写真編集プログラム122
0で編集された、対象機器の写真が張り付けられる。こ
れにより対象となる機器が表現される3次元物体を記述
する3次元データが作成される。また、3次元データ作
成プログラム1250では、3次元物体における定義作
業、および、動作確認を行う機能が備えられている。定
義作業としては、例えば、個々の3次元物体の属性を定
義する作業、3次元物体相互の結合関係を指定する作業
などが行われる。より具体的には、例えば、上記属性と
して、扉を有することの定義、その扉の回動軸の定義な
どが行われる。また、結合関係として、複数の3次元物
体をそれぞれ部品として、新たな3次元物体が構成され
る結合関係が指定される。そして、上記動作確認とし
て、上記作成された3次元物体について、例えば、扉の
開閉、部品として結合されている3次元物体の分離、結
合などが確認される。
【0019】上記定義作業は、マウスを用いてアナログ
的な入力環境において行われる。これにより、直感的に
定義し易くなり、特に、キーボードからディジタル的に
数値や文字で入力する場合に比べて、作業工数を削減す
ることが可能となる。定義作業の具体的な手順につい
て、扉の軸の設定を例として説明する。
【0020】扉は、開閉の軸を定義する必要がある。デ
ィジタル的に定義する場合、形状データの名称を指定し
て、軸となる辺を指定する。この指定は、例えば、辺の
番号を入力することによって行われる。
【0021】このようなディジタル的な手順では、形状
データの名称、辺の番号などの記述情報を予め操作者が
知っていなければならない。ところが、このような記述
情報は、3次元物体を記述するための情報であり、本来
知る必要のない情報である。従って、作業の煩雑さが増
し、しかも、記述情報は、技術的には意味づけされない
情報であるので、誤って指定されたり、誤りを発見する
ことが困難であるという問題がある。
【0022】一方、本発明を適用した3次元データ作成
プログラム1250では、次のような手順で属性の定義
が行われる。
【0023】まず、マウスで扉のデータをクリックす
る。次に、細長い形状で表される、軸オブジェクトを取
り出し、扉の軸とすべき位置にマウスで移動する。
【0024】このような手順によって、マウス操作のみ
で扉の軸の設定が実行される。また、軸の位置も任意の
場所に設けることが可能となる。
【0025】次に、上記3次元データ作成システム12
00を用いた3次元データを作成する手順について説明
する。
【0026】(1)対象機器を、教育で実施され得る部
分まで分解する。
【0027】(2)ディジタルカメラで各部品を6方向
から写真に撮る。そして、撮影された写真の画像データ
を上記写真編集プログラム1220で編集する。そし
て、編集した画像データを、上記写真データサーバ12
40に格納する。
【0028】(3)各部品の、直方体の組み合わせで記
述される3次元形状を、上記3次元形状作成プログラム
1210により作成する。そして、作成した3次元形状
の形状データを形状データサーバ1230に格納する。
【0029】(4)上記写真データサーバ1240に格
納されている写真を、上記形状データサーバ1230に
格納されている3次元形状である直方体の各面に、上記
3次元データ作成プログラム1250によって貼り付
け、3次元物体のデータを作成する。
【0030】(5)上記3次元物体の属性(扉など)を
上記3次元データ作成プログラム1250によって定義
する。
【0031】(6)上記属性が定義された3次元物体を
部品として組み立てて、3次元物体同士の結合関係を上
記3次元データ作成プログラム1250によって指定す
る。
【0032】(7)上記3次元データ作成プログラム1
250によって上記属性、結合関係の動作確認を行い、
これらが正しく定義されているか否かを確認する。
【0033】次に、上記分解組立疑似体験システム14
00について説明する。上記分解組立疑似体験システム
1400は、分解組立疑似体験プログラム1410と、
3次元物体の表示、移動、衝突判定を行うためのバーチ
ャルリアリティ構築用プログラム1420とを有して構
成される。
【0034】本分解組立疑似体験システム1400にお
いては、マンマシンインタフェースハードウエアとし
て、3次元入力装置、3次元表示装置は採用せず、2次
元の入力装置および表示装置を対象としている。これに
より、普及しているマウス、CRTディスプレイを用い
ることができ、システム環境を安価に実現することがで
きる。
【0035】受講者が熟知している操作は、実世界と全
く同じ操作を実現することは必ずしも必要ではないの
で、コマンドにより指定を受け付けるなどして操作手順
を簡略化した。例えば、ねじの開け閉めの操作は、対象
とする部材を選択し、「ねじを開ける」、「ねじを閉め
る」などのコマンドを受け付けている。
【0036】コマンド操作は、すべてマウスと付属のボ
タンのみを用いて指定できるマンマシンインタフェース
を採用している。コマンド操作としては、次の6つの機
能を指定するコマンドを予め用意し、それぞれマウスを
用いた操作により、コマンドの指定を受け付けている。
【0037】1. 物体の連続的な移動および回転機
能。これは、マウスの移動方向、移動量に合わせて仮想
空間内で物体を移動、回転する機能である。
【0038】2. 物体の指定方向への回転機能。これ
は、分解組立時の位置調整を容易にするため、指定した
方向が正面にくるように物体を回転する機能である。
【0039】3. 視点の連続的な移動、回転機能。
【0040】4. 視点の指定方向への回転機能。これ
は、上述した2の機能とは異なり、物体の指定方向が正
面になるように物体を中心に視点を回転する機能であ
る。
【0041】5. 物体の分離、結合機能。これは、デ
ータ作成時に予め設定した物体同士の分離、結合機能で
ある。結合は、分離した物体同士でのみ可能である。こ
の機能が実行される際には、ある程度の距離に近接した
時点で物体の方向を自動的にあわせ、結合操作を容易に
している。
【0042】6. 扉の開閉機能。これは、マウスの移
動方向、移動量に合わせて扉を開閉する機能である。す
なわち、コマンドで「開く」を実施すると、自動的に開
いていくのではなく、マウスで扉をクリックしながら任
意の位置まで移動することで開閉を行う。
【0043】上記の各機能で共通する問題として、干渉
チェックがある。物体の移動・回転時には、物体同士の
干渉チェックを行い、ぶつかっていれば、それ以上動か
ないようにする必要がある。干渉チェックは、移動や回
転を行っている物体が、仮想空間内の他の全物体とぶつ
かっているかどうかをチェックする。このため、干渉チ
ェックには大量の計算を必要とする。動作をスムースに
するためには、極力計算量を減らしたい。
【0044】そこで、最初から物体を構成する全ポリゴ
ンに対して干渉チェックを行うのではなく、物体の外形
を包む単純な箱を作成し、この箱の干渉チェックを行
い、干渉が検出された場合にのみ、全ポリゴンに対して
詳細な干渉チェックを行う2段階方式とした。
【0045】図16を参照して、この2段階で行われる
干渉チェックについて説明する。3次元の現象ではある
が、図16では、平面的に表現している。図16におい
て、3次元物体A、B、Dのそれぞれの外形をそれぞれ
包む標準立体a、b、dが定義されている。3次元物体
Aが、3次元物体B、Dに向かって移動するものとす
る。
【0046】まず、図16の(a)において、標準立体
a、b、dが重複して空間を占有していないかを検知し
て、干渉チェックを行う。すなわち、この段階では、3
次元物体A、B、D同士の干渉を直接検知するのではな
く、それぞれの外形を包むより単純な形状の標準立体
a、b、d同士の干渉をチェックすることのよって、演
算量を低減する。
【0047】そして、標準立体A、b、dのいずれか
が、空間を重複して占有する場合、その標準立体に包ま
れている3次元物体同士の干渉をチェックする。すなわ
ち、図16の(b)に示すように、空間を重複して占有
している標準立体aおよび標準立体bについて、それぞ
れに包まれている3次元物体Aおよび3次元物体Bの干
渉をチェックする。
【0048】これにより、最も多く行われ、また、その
動きがスムースであることが期待される、ぶつかってい
ないときの動きがスムースに行われる。上記2段階の干
渉チェックにおいて、仮想空間内を変位すべき変位物体
の変位前の外形、および、当該変位物体が変位すべき変
位先における外形を共に包む標準立体と衝突する、他の
物体の外形を包む標準立体を検出し、上記検出された標
準立体に包まれる物体の位置を求め、上記求めた位置の
直前に、上記変位物体を変位し、衝突する標準立体が検
出されない場合は、上記変位物体を変位すべき変位先に
変位する。
【0049】また、図2に示すようなタイミングで、干
渉チェックを実施することにより、計算量の低減と、チ
ェック漏れの防止とを両立させている。すなわち、細か
くチェックすれば、計算量が増え動作がギクシャクする
し、大まか過ぎれば、移動途中にある物体をすり抜けて
しまう場合がある。本システムでは、移動方向への物体
の厚みを算出し、その厚みごとに干渉チェックを行って
いる。これにより、物体がすり抜けることを避けた状態
で、計算量の低減を実現している。また、仮想空間内を
変位すべき変位物体の進行方向に存在する物体と、上記
変位物体との距離を計算し、上記変位物体が変位すべき
距離が上記計算した距離よりも小さいとき、衝突判定を
行わずに上記変位物体を変位する。
【0050】次に、図3および図4を参照して、上記分
解組立疑似体験プログラム1410(図1参照)につい
て説明する。
【0051】まず、図3を参照して、分解組立疑似体験
プログラムの構成について説明する。
【0052】図3において、分解組立疑似体験プログラ
ム1410は、仮想空間のイニシャライズを行うための
イニシャライズ部1411と、仮想空間内の各物体の外
形を各々包む標準立体を生成するための物体のBOX化
部1412と、移動の指示を受け付けるための移動指示
入力部1414と、物体を移動させるための物体移動部
1415と、物体相互の衝突を検出するための衝突検出
部1416と、各部の連携をとり制御するための制御部
1413とを有して構成される。
【0053】次に、図3および図4を参照して、分解組
立疑似体験プログラム1410の動作手順について、物
体移動の手順を中心に説明する。
【0054】まず、イニシャライズ部1411におい
て、仮想空間のイニシャライズを行う(ステップS10
1)。
【0055】そして、仮想空間における各物体のBOX
化を物体のBOX化部1412において行う(ステップ
S102)。ここで、BOX化とは、物体をその外形を
包む予め定められた形状の標準立体で表現することであ
る。標準立体の形状としては、例えば、凹でない表面を
有する形状とすることができる。すなわち、標準立体の
任意の2点を結ぶ線分が、標準立体の外部にない(すな
わち、その表面または内部にある)形状とすることがで
きる。これによって、物体の凹形状などを簡略化して、
物体の形状を記述する頂点の数より少ない頂点の数で標
準立体を記述することが可能となる。従って、標準立体
に関する移動、衝突検知のための演算処理量を低減する
ことができる。
【0056】より具体的な標準立体の形状としては、例
えば、4面体、6面体、球体などを用いることができ
る。このような形状を用いることにより、標準立体はよ
り簡略に記述され、移動、衝突検知にかかる演算処理量
はより低減される。
【0057】特に、6面体として、直方体、立方体が用
いることができる。このような形状とすることで、概略
の形状が箱形となる機械部品に効率よく対応することが
できる。さらに、これらの表面の属性、すなわち、面の
テクスチャーとして写真を貼り3次元物体を表現するこ
とにも好適である。
【0058】これらステップS101およびS102に
おけるイニシャライズ、BOX化は、物体の移動に先だ
って行われる。
【0059】そして、移動指示入力部1414により指
示が受け付けられた移動物体の移動先の位置情報を、制
御部1413において取得する(ステップS103)。
【0060】次に、移動すべき物体の、進行方向の厚み
と、その物体を移動すべき移動先の位置までの移動距離
とを、制御部1413において算出する(ステップS1
04)。そして、上記厚みと移動距離とを比較する(ス
テップS105)。比較の結果、移動距離が厚み以下で
あれば、ステップS110に進み、上記移動指示入力部
1414により受け付けられた指定距離だけ移動する命
令が、制御部1413から物体移動部1415に与えら
れる。次に、移動された移動先において、他の物体と接
触しているか否かの判定を、衝突検知部1416により
行う。判定の結果接触していれば、移動物体を元の位置
に戻し、接触してなければ、物体の移動を終了する。
【0061】一方、比較の結果、移動距離が厚みを越え
る場合には、ステップS106に進み、移動前と移動後
との間に形成される物体の形状を、制御部1413にお
いて算出する。
【0062】そして、ステップS106で形状が算出さ
れた物体と、他の物体との接触を衝突検出部1416に
おいて検出する(ステップS107)。ここで、接触が
検出された場合には、ステップS113に進み、接触直
前の位置を算出し、算出した直前の位置に物体を、物体
移動部1415により移動する。
【0063】一方、接触が検出されなかった場合には、
物体移動部1415により物体の移動が実施される(ス
テップS109)。
【0064】次に、図5から図11を参照して、3次元
物体(以下、オブジェクトという)を記述するデータに
ついて説明する。3次元物体を記述するデータは、それ
以上分解できないものを1個のオブジェクトとして定義
される。データが読み込まれるときに、データ同士の関
係に従って、複数のオブジェクトが接続されたオブジェ
クト、または、単体のオブジェクトが、1個の移動対象
となる。シミュレーションが開始されると、オブジェク
ト同士の結合により、複数のオブジェクトが1個の移動
対象となったり、オブジェクトの分解により、データ読
み込みのときに1個のオブジェクトだったオブジェクト
が、複数に分離され、各々が1個の移動対象となったり
する。
【0065】また、オブジェクトの外形を包む標準立体
を記述するデータが、付加され、オブジェクトの衝突検
知に用いられる。以下の説明では、標準立体として6面
体が用いられる場合について説明する。
【0066】まず、図5を参照して、3次元物体を記述
するデータファイルについて説明する。
【0067】図5において、1個のオブジェクトを表す
データ形式は、形状定義データと、状態制御データとを
有して構成される。形状定義データは、そのオブジェク
トに固定的に定義される。また、状態制御データは、そ
のオブジェクトの状態、すなわち、オブジェクト同士の
結合関係の変化に伴い、変更される。
【0068】図6を参照して、オブジェクトの外形を包
む標準立体である6面体オブジェクトを記述するデータ
ファイルについて説明する。図6において、6面体オブ
ジェクトは、形状定義データだけで定義される。ここ
で、6面体オブジェクトは、オブジェクトの結合関係の
変化に伴い再定義される点において、上述したオブジェ
クトの形状定義データと異なる。すなわち、2つのオブ
ジェクトが独立して存在するときには、それぞれのオブ
ジェクトについて6面体オブジェクトがそれぞれ定義さ
れる。そして、これらのオブジェクトが結合すると、2
つのオブジェクトを共に包む6面体オブジェクトが新た
に定義される。
【0069】次に、図7を参照して、上記形状定義デー
タについて説明する。
【0070】図7において、形状定義データには、オブ
ジェクト名称と、そのオブジェクトを構成する頂点を記
述する情報と、そのオブジェクトを構成する面の情報と
が含まれている。上記オブジェクトを構成する頂点を記
述する情報は、そのオブジェクトを構成する頂点の数
と、各頂点の頂点番号および座標とにより記述されてい
る。また、上記オブジェクトを構成する面の情報は、そ
のオブジェクトを構成する面の数と、各面についての、
その面を構成する頂点の数および各頂点の頂点番号とに
より記述されている。
【0071】次に、図8を参照して、上記状態制御デー
タについて説明する。
【0072】図8において、状態制御データには、その
オブジェクトが所属する親オブジェクトの名称と、その
オブジェクトの外側を囲む6面体オブジェクトの名称
と、そのオブジェクトに所属する子のオブジェクトの情
報とが含まれている。上記子のオブジェクトの情報は、
そのオブジェクトに所属する子のオブジェクトの数と、
各子のオブジェクトの名称とが記述されている。
【0073】次に、図9および図10を参照して、2つ
のオブジェクトの結合関係と、形状定義データとの関係
について説明する。
【0074】まず、2つのオブジェクトが独立して存在
する場合について説明する。
【0075】図9の(a)において、オブジェクトA
と、オブジェクトBとが独立して存在している。すなわ
ち、オブジェクトAおよびオブジェクトBはいずれも、
親オブジェクトに所属していない。また、オブジェクト
AおよびオブジェクトBのいずれかに所属している子オ
ブジェクトも存在しない。そして、図示されていない
が、オブジェクトAに対応して、その外側を囲む6面体
オブジェクトaが定義され、オブジェクトBに対応し
て、その外側を囲む6面体オブジェクトbが定義され
る。
【0076】このような状態における、2つのオブジェ
クトAおよびBのそれぞれオブジェクトを記述するデー
タファイルは、それぞれ、図10の(a)に示すように
表される。図10において、形状定義データは、オブジ
ェクトの状態によって変更されないので簡略して描かれ
ており、そのデータファイル対応するオブジェクトを識
別する記号(A、B)を付して、形状定義データA、形
状定義データBとして、オブジェクトA、Bそれぞれの
形状定義データを代表させている。これは、図7に示し
た形式に従えば、形状定義データAの1行目にオブジェ
クトAと記述され、形状定義データBの1行目にオブジ
ェクトBと記述されることに相当する。
【0077】図10の(a)において、形状定義データ
Aを含むデータファイルにおいて、本オブジェクトが所
属する親オブジェクトの名称の欄は、空白であり、オブ
ジェクトAが所属する親オブジェクトが存在しないこと
が示されている。また、本オブジェクトの外側を囲む6
面体オブジェクトの名称の欄に、オブジェクトAに対応
する6面体オブジェクトの名称が6面体aであることが
示されている。そして、本オブジェクトに所属する子の
オブジェクトの数の欄には、0が記述され、オブジェク
トAに所属している子オブジェクトが存在しないことが
示されている。また、形状定義データBを含むデータフ
ァイルについても同様に、オブジェクトBの状態が記述
されている。
【0078】次に、一方のオブジェクトに他方のオブジ
ェクトが結合されて親子関係が構成されている場合につ
いて説明する。
【0079】図9の(b)において、オブジェクトAと
オブジェクトBとが互いに結合して新オブジェクトAを
構成している。新オブジェクトAにおいて、オブジェク
トAが親オブジェクト、オブジェクトBが子オブジェク
トとなる結合関係にある。図示していないが、新オブジ
ェクトAの外側を囲む6面体オブジェクトとして、6面
体オブジェクトa’が定義される。
【0080】このような状態における、2つのオブジェ
クトAおよびBのそれぞれオブジェクトを記述するデー
タファイルは、それぞれ、図10の(b)に示すように
表される。図10において、形状定義データは、オブジ
ェクトの状態によって変更されないので簡略して描かれ
ていることは、図10(a)と同様である。
【0081】図10の(b)において、形状定義データ
Aを含むデータファイルにおいて、本オブジェクトが所
属する親オブジェクトの名称の欄は、空白であり、オブ
ジェクトAが所属する親オブジェクトが存在しないこと
が示されている。また、本オブジェクトの外側を囲む6
面体オブジェクトの名称の欄に、新オブジェクトAに対
応する6面体オブジェクトの名称6面体a’が記述さ
れ、新オブジェクトAの外側、すなわち、オブジェクト
Aの外側およびオブジェクトBの外側を共に囲む6面体
オブジェクトa’が対応していることが示されている。
そして、本オブジェクトに所属する子のオブジェクトの
数の欄には、1と書かれ、その名称Bが記述されてい
る。これにより、オブジェクトAに所属している子オブ
ジェクトが1つ存在し、そのオブジェクトは、オブジェ
クトBであることが示されている。
【0082】また、形状定義データBを含むデータファ
イルについては、本オブジェクトが所属する親オブジェ
クトの名称の欄にはAと書かれ、オブジェクトBが所属
する親オブジェクトがオブジェクトAであることが示さ
れている。また、本オブジェクトの外側を囲む6面体オ
ブジェクトの名称の欄は、空白であり、オブジェクトB
に対応する6面体オブジェクトが存在しないことが示さ
れている。そして、本オブジェクトに所属する子のオブ
ジェクトの数の欄には、0が記述され、オブジェクトB
に所属している子オブジェクトが存在しないことが示さ
れている。
【0083】次に、図11を参照して、より複雑な親子
関係を構成しているオブジェクトを記述するデータファ
イルについて説明する。図11において、形状定義デー
タA、B、C、D、E、l、mをそれぞれ含む7つのデ
ータファイルが互いに関連付けられている。それぞれの
データファイルは、それぞれ7つのオブジェクトA、
B、C、D、E、l、mを記述し、これらの関係付けに
より、7つのオブジェクトA、B、C、D、E、l、m
を含む新オブジェクトAが構成されていることが示され
ている。そして、その結合の親子関係は、オブジェクト
Aに、オブジェクトB、C、D、Eが所属し、オブジェ
クトEには、オブジェクトl、mが所属している。各デ
ータファイルの、本オブジェクトの外側を囲む6面体オ
ブジェクトの名称の欄は、親子関係の最上位のオブジェ
クトのデータファイルのみ記入され、いずれかのオブジ
ェクトに所属しているオブジェクトのデータファイルで
は、空白となっている。
【0084】この、図11に示される場合は、上記7つ
のオブジェクトA、B、C、D、E、l、mのそれぞれ
の外側を共に囲む6面体オブジェクトは6面体a’’で
あり、新オブジェクトAを移動する場合は、6面体オブ
ジェクト6面体a’’に関する衝突のみをチェックすれ
ばよい。すなわち、この6面体オブジェクト6面体
a’’に関する衝突が検知されなければ、上記7つのオ
ブジェクトA、B、C、D、E、l、mは、いずれも衝
突しないといえる。
【0085】次に、物体を記述するオブジェクトの外側
を囲む6面体オブジェクトを生成する方法について説明
する。
【0086】上述したように、物体を記述するオブジェ
クトのデータファイルには、そのオブジェクトを構成す
る各頂点の座標が書かれている。この各頂点の座標の値
のうち、各々の座標軸における、最大値および最小値を
選択する。これにより、上記物体の外側から接する立方
体、すなわち、物体を外側から囲む6面体を定めること
ができる。より具体的には、例えば、あるオブジェクト
の外形を囲む6面体は、そのオブジェクトについて定義
されるローカル座標系xyzのそれぞれにおける、当該
オブジェクトを構成する各頂点の座標(x1、y1
1)〜(xn、yn、zn)のうち、x軸における最小値
minおよび最大値xmaxと、y軸における最小値ymin
および最大値ymaxと、z軸における最小値zminおよび
最大値zmaxとによって定められる。すなわち、xmin
通りx軸に垂直な面と、xmaxを通りx軸に垂直な面
と、yminを通りy軸に垂直な面と、ymaxを通りy軸に
垂直な面と、zminを通りz軸に垂直な面と、zmaxを通
りz軸に垂直な面とを、その6つの面とする6面体が定
まり、これが求めるべき、オブジェクトの外形を囲む6
面体である。
【0087】次に、6面体オブジェクト同士の距離を算
出するための方法について説明する。
【0088】6面体オブジェクトには、その位置を代表
する点が定義されている。この位置としては、その6面
体オブジェクトが定義されるオブジェクトの中心、また
は、そのオブジェクトに定義されるローカル座標の原点
を用いることができる。そして、6面体オブジェクトの
概略の大きさは、6面体の8つの頂点のうち、上記位置
を代表する点から最も遠い頂点と、上記位置を代表する
点との距離として求めることができる。
【0089】このような、位置を代表する点の座標、お
よび、概略の大きさを用いることにより、2つの6面体
オブジェクトの距離を容易に求めることができる。すな
わち、2つの6面体オブジェクト同士の距離は、それぞ
れの6面体オブジェクトの位置をそれぞれ代表する点の
距離から、それぞれの6面体オブジェクトの概略の大き
さをそれぞれ差し引いたものとして求められる。
【0090】より正確には、上記概略の大きさを、6面
体オブジェクトの向きを考慮して決めることにより、概
略の距離の精度を向上することができる。すなわち、6
面体オブジェクトの8つの頂点のうち最も相手側にある
頂点と、位置を代表する点とを結ぶ線分の、2つの6面
体オブジェクトの位置を代表する点を結んだ線分におけ
る射影の長さを概略の大きさとする。これにより、6面
体オブジェクト間の距離を求める精度を向上することが
でき、特に、扁平度が大きな直方体形状である場合に精
度の向上が顕著となる。
【0091】次に、図12から図15を参照して、本実
施の形態の疑似体験システムにおける物体の移動の画面
表示例について説明する。
【0092】図12において、2つの物体の移動前の状
態が表示されている。図12において、紙面左側に記録
ドライブユニットが、紙面右側に、パソコン本体が配置
されている。以下の動作は、記録ドライブユニットを、
パソコン本体の内部に組み込もうとする動作を模擬する
ものである。
【0093】図13において、記録ドライブユニットの
移動を開始された状態が示されている。すなわち、仮想
空間に静止しているパソコン本体に向かって、記録ドラ
イブユニットが移動している。記録ドライブユニットを
囲む6面体の各稜が表示され、この物体が、移動中であ
ることが表示されている。
【0094】図14において、記録ドライブユニットが
パソコン本体に近づいた状態が示されている。
【0095】図15において、記録ドライブユニット
が、パソコン本体の側面に衝突した状態が示されてい
る。この例では、パソコン本体の側板を取り外す作業が
行われていなかったために、記録ドライブユニットは、
パソコン本体に組み込むことはできない。そこで、不可
能な動作が指示されたことを示すための警告表示が行わ
れる。警告表示としては、例えば、移動している物体
(この場合は記録ドライブユニット)の表示態様を変更
すること、警告音を発することなどによって行うことが
できる。
【0096】このようにして、機器の組み立てにおける
適切な手順、組み込み方向などを作業者が学習すること
ができる。この例では、衝突することが明らかにわかる
場合の画面表示を例示しているが、実際には、組み込む
側の姿勢、例えば、縦置きの状態を、横置きの状態とす
ることで衝突を避けるべき作業があるなど、細かい手順
がある。従って、体験を積むことにより、分解組立作業
の手順を習熟することが要求される。このような場合
に、本発明を適用した模擬体験システムを利用して実習
することにより、実機を用いずに実習することができ、
教育の機会を増やし、また教育にかかるコストを低減す
ることができる
【0097】
【発明の効果】本発明によれば、3次元コンピュータグ
ラフィックス(CG)を用いたシミュレーションを行う
場合、仮想空間を移動する物体と、他の物体との衝突の
判定に必要な演算処理を削減することができる。従っ
て、シミュレーションにおける物体の移動をスムースに
し、かつ、高速に移動することが可能となる。
【図面の簡単な説明】
【図1】 本発明を適用した疑似体験システムの構成を
示すブロック図である。
【図2】 本発明を適用した干渉チェックにおける、干
渉をチェックするタイミングを示す説明図である。
【図3】 分解組立疑似体験プログラムの構成を示すブ
ロック図である。
【図4】 分解組立疑似体験プログラムの動作手順を示
すフロー図である。
【図5】 物体を示すオブジェクトを記述するデータフ
ァイルのデータ形式を示す説明図である。
【図6】 物体の外形を包む6面体オブジェクトを記述
するデータファイルのデータ形式を示す説明図である。
【図7】 形状定義データのデータ形式を示す説明図で
ある。
【図8】 状態制御データのデータ形式を示す説明図で
ある。
【図9】 オブジェクトの結合関係を示す説明図であっ
て、(a)オブジェクトAおよびBが独立して存在する
状態、(b)オブジェクトAおよびBが接続された状態
である。
【図10】 オブジェクトを記述するデータファイルお
よびデータファイルの相互関係の、オブジェクトの接続
に伴う変化を示す説明図であって、(a)独立に存在す
るオブジェクトAおよびBのそれぞれのデータ、(b)
オブジェクトAを親、オブジェクトBを子供とする親子
関係に接続された状態を示すデータである。
【図11】 3世代の親子関係に接続されたオブジェク
トのデータ形式およびデータの相互関係を示す説明図で
ある。
【図12】 疑似体験システムの表示画面例であって、
移動前の状態を示す説明図である。
【図13】 疑似体験システムの表示画面例であって、
移動を始めた状態を示す説明図である。
【図14】 疑似体験システムの表示画面例であって、
記録ドライブユニットが本体に近づいた状態を示す説明
図である。
【図15】 疑似体験システムの表示画面例であって、
記録ドライブユニットが本体に衝突した状態を示す説明
図である。
【図16】 2段階で行われる干渉チェックを示す説明
図であって、(a)標準立体相互のチェックが行われる
段階、(b)物体相互のチェックが行われる段階であ
る。
【符号の説明】
1000…3次元CG疑似体験システム、1210…3
次元形状作成プログラム、1220…写真編集プログラ
ム、1230…形状データサーバ、1240…写真デー
タサーバ、1250…3次元データ作成プログラム、1
260…バーチャルリアリティ構築用プログラム、14
00…分解組立疑似体験システム、1410…分解組立
疑似体験プログラム、1411…イニシャライズ部、1
412…物体のBOX化部、1413…制御部、141
4…移動指示入力部、1415…物体移動部、1416
…衝突検出部、1420…バーチャルリアリティ構築用
プログラム、1500…格納装置。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平7−152807(JP,A) 特開 平7−182383(JP,A) 特開 平9−50536(JP,A) 特開 平10−307935(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 1/00 G06T 11/60 - 17/50 G06F 17/50 G09B 1/00 - 9/56 G09B 17/00 - 19/26

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 3次元のコンピュータグラフィックス上
    における物体を変位するための物体変位方法において、 仮想空間内を変位すべき変位物体の進行方向に存在する
    物体と、上記変位物体との距離を計算し、 上記変位物体が変位すべき距離が上記計算した距離より
    も小さいとき、衝突判定を行わずに上記変位物体を変位
    することを特徴とする物体変位方法。
  2. 【請求項2】 3次元のコンピュータグラフィックス上
    における物体を変位するための物体変位方法において、 仮想空間内を変位すべき変位物体の変位前の外形、およ
    び、当該変位物体が変位すべき変位先における外形を共
    に包む第1の標準立体と、他の物体の外形を包む第2の
    標準立体とが占有する空間が重複するか否かにより、他
    の物体との衝突を検出し、 上記衝突が検出されたときは、上記第2の標準立体に包
    まれる上記他の物体の位置を求め、 当該他の物体の位置の直前に、上記変位物体を変位し、 上記衝突が検出されないときは、上記変位物体を変位す
    べき変位先に変位することを特徴とする物体変位方法。
  3. 【請求項3】 3次元のコンピュータグラフィックス上
    における物体を変位するための物体変位方法において、 仮想空間内を変位すべき変位物体の、変位すべき進行方
    向の厚みを求め、 上記求めた厚み分だけ、上記変位物体を変位し、 上記厚み分だけ変位した変位先において、上記変位物体
    の外形を包む標準立体が占有する空間が、他の物体の外
    形を包む標準立体が占有する空間と重複するか否かによ
    り、他の物体との衝突を検知し、 上記衝突が検知されたとき、上記変位物体の面と上記他
    の物体の面とを計算して、接触しているか否かを判定す
    ることを特徴とする物体変位方法。
  4. 【請求項4】 請求項3記載の物体変位方法において、 上記判定により接触していると判定されない限り、上記
    変位物体が変位すべき変位距離だけ変位するまで、上記
    変位物体の変位を繰り返すことを特徴とする物体変位方
    法。
  5. 【請求項5】 請求項3記載の物体変位方法において、 上記判定により接触していると判定されたとき、上記変
    位物体を上記求めた厚み分だけ戻すことを特徴とする物
    体変位方法。
  6. 【請求項6】 請求項3から5のうちのいずれか一項に
    記載の物体変位方法において、 上記判定により接触していると判定されたとき、警告を
    促す表示および/または警告音の発生を行うことを特徴
    とする物体変位方法。
  7. 【請求項7】 請求項2から6のうちのいずれか一項に
    記載の衝突検知方法において、 上記標準立体は、凹でない表面を有することを特徴とす
    る衝突検知方法。
  8. 【請求項8】 3次元コンピュータグラフィックスの仮
    想空間における物体を変位するためのプログラムを記録
    した記録媒体において、 請求項1から7のいずれか一項に記載の物体変位方法に
    従って物体を変位させるための手順を記述したプログラ
    ムを記録したことを特徴とするプログラムを記録した記
    録媒体。
  9. 【請求項9】 物体の変位を伴う分解組立の手順を、3
    次元コンピュータグラフィックスの仮想空間における物
    体の変位をシミュレーションにより疑似体験させるため
    の教育シミュレータにおいて、 請求項1から7のいずれか一項記載の物体変位方法に従
    って仮想空間における物体を変位させることを特徴とす
    る教育シミュレータ。
JP20461497A 1997-07-30 1997-07-30 衝突検知方法、物体変位方法および教育シミュレータ Expired - Fee Related JP3184124B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20461497A JP3184124B2 (ja) 1997-07-30 1997-07-30 衝突検知方法、物体変位方法および教育シミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20461497A JP3184124B2 (ja) 1997-07-30 1997-07-30 衝突検知方法、物体変位方法および教育シミュレータ

Publications (2)

Publication Number Publication Date
JPH1153585A JPH1153585A (ja) 1999-02-26
JP3184124B2 true JP3184124B2 (ja) 2001-07-09

Family

ID=16493400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20461497A Expired - Fee Related JP3184124B2 (ja) 1997-07-30 1997-07-30 衝突検知方法、物体変位方法および教育シミュレータ

Country Status (1)

Country Link
JP (1) JP3184124B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016131806A (ja) * 2015-01-21 2016-07-25 株式会社グレース 貼付治療具

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4330412B2 (ja) * 2003-09-25 2009-09-16 株式会社ディンプス ゲーム装置及びコンピュータを機能させるためのプログラム
JP4719579B2 (ja) * 2006-01-26 2011-07-06 任天堂株式会社 画像処理プログラムおよび画像処理装置
JP6540164B2 (ja) * 2015-03-31 2019-07-10 住友ベークライト株式会社 シミュレーション方法、シミュレーション装置、およびコンピュータプログラム
JP7117182B2 (ja) * 2018-07-13 2022-08-12 東芝システムテクノロジー株式会社 情報処理装置およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016131806A (ja) * 2015-01-21 2016-07-25 株式会社グレース 貼付治療具

Also Published As

Publication number Publication date
JPH1153585A (ja) 1999-02-26

Similar Documents

Publication Publication Date Title
KR101071011B1 (ko) 3차원 대상물의 디지털 표시를 조작하기 위한 방법 및시스템
US5754189A (en) Virtual environment display apparatus and method
KR100970790B1 (ko) 컴퓨터 판독가능한 모델을 생성하는 방법
Wang A game engine based simulation of the NIST urban search and rescue arenas
US6876359B2 (en) Apparatus for producing exploded view and animation of assembling, and method thereof
US7536655B2 (en) Three-dimensional-model processing apparatus, three-dimensional-model processing method, and computer program
JP3143278B2 (ja) 組立図作成方法及び装置
US20040175684A1 (en) System and methods for interactive training of procedures
US20080076556A1 (en) Simulated 3D View of 2D Background Images and Game Objects
JP2002319038A (ja) 3dオブジェクトにマッピングされた2d画像を処理する方法
JPH07262412A (ja) 三次元モデル断面指示装置および指示方式
US6081275A (en) Image compositing apparatus
Vincke et al. Immersive visualisation of construction site point cloud data, meshes and BIM models in a VR environment using a gaming engine
CN110969687A (zh) 一种碰撞检测方法、装置、设备和介质
Thomason et al. A comparison of adaptive view techniques for exploratory 3D drone teleoperation
JP3184124B2 (ja) 衝突検知方法、物体変位方法および教育シミュレータ
Tzafestas et al. Real-time collision detection using spherical octrees: virtual reality application
EP1111546B1 (en) Display techniques for three-dimensional virtual reality
Shinya et al. Laying out objects with geometric and physical constraints
Braun et al. A customizable, multi-host simulation and visualization framework for robot applications
Ryan CAD/CAE descriptive geometry
JP2842283B2 (ja) 映像提示方法および装置
JP2003248843A (ja) 仮想3次元空間内における物体編集制御方式
JP3029554B2 (ja) 3次元図形描画装置
JP2001266175A (ja) 3次元モデル処理装置および3次元モデル処理方法、並びにプログラム提供媒体

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110427

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120427

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120427

Year of fee payment: 11

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20120427

Year of fee payment: 11

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20130427

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20140427

Year of fee payment: 13

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees