JP4383247B2 - 衝突検知方法及び衝突検知装置 - Google Patents

衝突検知方法及び衝突検知装置 Download PDF

Info

Publication number
JP4383247B2
JP4383247B2 JP2004145422A JP2004145422A JP4383247B2 JP 4383247 B2 JP4383247 B2 JP 4383247B2 JP 2004145422 A JP2004145422 A JP 2004145422A JP 2004145422 A JP2004145422 A JP 2004145422A JP 4383247 B2 JP4383247 B2 JP 4383247B2
Authority
JP
Japan
Prior art keywords
collision
dimensional model
distance
data
identification code
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
JP2004145422A
Other languages
English (en)
Other versions
JP2005327125A (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.)
Mitsubishi Precision Co Ltd
Original Assignee
Mitsubishi Precision 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 Mitsubishi Precision Co Ltd filed Critical Mitsubishi Precision Co Ltd
Priority to JP2004145422A priority Critical patent/JP4383247B2/ja
Publication of JP2005327125A publication Critical patent/JP2005327125A/ja
Application granted granted Critical
Publication of JP4383247B2 publication Critical patent/JP4383247B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

この発明は、3次元コンピュータグラフィックスの手法により定義された3次元モデル及びステレオ写真測量やX線コンピュータトモグラフィ等の手法により計測された3次元画像データ及びボリュームデータを対象とし、手術シミュレータにおけるメス等の術具と臓器との当たり検知、3次元CADにおけるモデル間の干渉の検出、フライトシミュレータにおける自機と地形との距離計算などに利用される方法及びその装置に関するものである。
3次元モデルは、物体の形状をポリゴンで構成することにより表現することが多いが、モデルが複雑になるとポリゴン数が増え、また、モデル数が増えるに従い組み合わせの数が急激に増え、ポリゴンの交差判定計算が膨大になる問題がある。衝突検知を行うための従来技術は3種類に分類される。
(1) 3次元モデルを内包する球、直方体など、データ量の少ない簡易なモデルで代替させ、ソフトウェアにより衝突判定の計算を行う。複雑な形状のモデルでは多数の球や直方体が必要となり処理時間がかかる。また、形状の精度にも限界がある。
(2) ツリー構造などを用いて3次元モデルを階層的に空間分割し、計算の対象となるモデルを減らしてソフトウェアにより衝突判定の計算を行う。複雑な形状のモデルでは階層が深くなり処理時間がかかる。
(3) 3次元モデルをZバッファ法によりラスタライズし、フレームバッファのZ値を読み出してソフトウェアにより衝突を判定する。高速なグラフィックスエンジンを利用すればラスタライズは短時間に処理できるが、対象となるモデルをラスタライズするたびにソフトウェア処理によりフレームバッファのZ値を読み出し、画素毎に判定する処理が必要となり、処理時間がかかる。
以上のように、従来の技術では、衝突検知処理を実時間で行うことはできなかった。
本発明が解決しようとする課題は、複数の3次元モデル間の衝突を、実時間で検知する方法及びその装置を提供することにある。
上記課題を解決するため請求項1に係る衝突検知方法は、2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する方法であって、制御手段が、操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御過程と、ラスタライザ群が、前記制御手段による制御過程により制御され仮想の視点から見た各3次元モデルを距離データからなる距離画像として生成する複数のラスタライズ過程と、並列ソータが、前記ラスタライザ群によるラスタライズ過程により生成した距離画像をもとに3次元モデルデータを画素毎に視点からの距離の順に並び替える並び替え過程と、差分算出手段が、前記並列ソータによる並び替え過程により並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出過程と、衝突判定手段が、前記差分算出手段による差分算出過程により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定過程とからなることを特徴とするものである。
請求項2に係る衝突検知装置は、2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する装置であって、操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御手段と、仮想の視点から見た各3次元モデルを距離データからなる距離画像として生成するラスタライザ群と、前記ラスタライザ群により生成した距離画像をもとに3次元モデルデータを画素毎に視点からの距離の順に並び替える並列ソータと、前記並列ソータにより並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出手段と、前記差分算出手段により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定手段とからなることを特徴とするものである。
請求項3に係る衝突検知方法は、それぞれの3次元モデルを識別する識別コードを与えられた、2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する方法であって、制御手段が、操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御過程と、ラスタライザ群が、前記制御手段による制御過程により制御され仮想の視点から見た各3次元モデルを距離データからなる距離画像として生成するとともに、それぞれの距離画像に3次元モデルデータを識別する識別コードを与える複数のラスタライズ過程と、並列ソータが、前記ラスタライザ群によるラスタライズ過程により生成し識別コードが与えられた距離画像をもとに当該距離画像及び識別コードとともに3次元モデルデータを画素毎に視点からの距離の順に並び替える並び替え過程と、差分算出手段が、前記並列ソータによる並び替え過程により並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出過程と、衝突判定手段が、前記差分算出手段による差分算出過程により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定過程と、衝突モデル識別コード出力手段が、前記衝突判定手段による衝突判定過程により衝突を判定されたモデルの識別コードを出力する衝突モデル識別コード出力過程とからなることを特徴とするものである。
請求項4に係る衝突検知装置は、それぞれの3次元モデルを識別する識別コードを与えられた、2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する装置であって、操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御手段と、仮想の視点から見た各3次元モデルを距離データからなる距離画像として生成するとともに、それぞれの距離画像に3次元モデルデータを識別する識別コードを与えるラスタライザ群と、前記ラスタライザ群により生成し識別コードが与えられた距離画像をもとに当該距離画像及び識別コードとともに3次元モデルデータを画素毎に視点からの距離の順に並び替える並列ソータと、前記並列ソータにより並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出手段と、前記差分算出手段により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定手段と、前記衝突判定手段により衝突を判定されたモデルの識別コードを出力する衝突モデル識別コード出力手段とからなることを特徴とするものである。
請求項5に係る衝突検知方法は、それぞれの色と不透明度を与えられた、2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する方法であって、制御手段が、操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御過程と、ラスタライザ群が、前記制御手段による制御過程により制御され仮想の視点から見た各3次元モデルを距離データからなる距離画像及び色と不透明度を含む2次元画像として生成する複数のラスタライズ過程と、並列ソータが、前記ラスタライザ群による前記ラスタライズ過程により生成した距離画像をもとに色と不透明度とともに3次元モデルデータを画素毎に視点からの距離の順に並び替える並び替え過程と、差分算出手段が、前記並列ソータによる前記並び替え過程により並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出過程と、衝突判定手段が、前記差分算出手段による前記差分算出過程により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定過程と、アルファブレンディング手段が、前記並列ソータによる並び替え過程により並び替えた順及び色と不透明度に基づいて3次元モデルに対しアルファブレンディング合成による色計算をするアルファブレンディング過程と、色選択手段が、前記衝突判定手段による衝突判定過程により衝突を判定された画素に対して予め定めた色を優先的に選択する色選択過程とからなることを特徴とするものである。
請求項6に係る衝突検知装置は、それぞれの色と不透明度を与えられた、2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する装置であって、操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御手段と、仮想の視点から見た各3次元モデルを距離データからなる距離画像及び色と不透明度を含む2次元画像として生成するラスタライザ群と、前記ラスタライザ群により生成した距離画像をもとに色と不透明度とともに3次元モデルデータを画素毎に視点からの距離の順に並び替える並列ソータと、前記並列ソータにより並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出手段と、前記差分算出手段により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定手段と、前記並列ソータにより並び替えた順及び色と不透明度に基づいて3次元モデルに対しアルファブレンディング合成による色計算をするアルファブレンディング手段と、前記衝突判定手段により衝突を判定された画素に対して予め定めた色を優先的に選択する色選択手段とからなることを特徴とするものである。
請求項7に係る衝突検知方法は、それぞれの3次元モデルを識別する識別コードを与えられ、かつ、前記識別コードに対して色と不透明度を対応付けたテーブルを有し、2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する方法であって、制御手段が、操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御過程と、ラスタライザ群が、前記制御手段による制御過程により制御され仮想の視点から見た各3次元モデルを距離データからなる距離画像として生成するとともに、それぞれの距離画像に3次元モデルデータを識別する識別コードを与える複数のラスタライズ過程と、並列ソータが、前記ラスタライザ群によるラスタライズ過程により生成し識別コードが与えられた距離画像をもとに当該距離画像及び識別コードとともに3次元モデルデータを画素毎に視点からの距離の順に並び替える並び替え過程と、差分算出手段が、前記並列ソータによる並び替え過程により並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出過程と、衝突判定手段が、前記差分算出手段による差分算出過程により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定過程と、テーブル検索手段が、前記テーブルから前記並列ソータによる並び替え過程において並び替えた識別コードに対応する色と不透明度を得るテーブル検索過程と、アルファブレンディング手段が、前記並列ソータによる並び替え過程により並び替えた順及び前記テーブル検索手段によるテーブル検索過程により決定された色と不透明度に基づいて3次元モデルに対しアルファブレンディング合成による色計算をするアルファブレンディング過程と、色選択手段が、前記衝突判定手段による衝突判定過程により衝突を判定された画素に対して予め定めた色を優先的に選択する色選択過程とからなることを特徴とするものである。
請求項8に係る衝突検知方法は、請求項7記載のものにおいて、さらに、衝突モデル識別コード出力手段が、衝突判定手段による衝突判定過程により衝突を判定されたモデルの識別コードを出力する衝突モデル識別コード出力過程を有することを特徴とするものである。
請求項9に係る衝突検知装置は、それぞれの3次元モデルを識別する識別コードを与えられ、かつ、前記識別コードに対して色と不透明度を対応付けたテーブルを有し、2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する装置であって、操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御手段と、仮想の視点から見た各3次元モデルを距離データからなる距離画像として生成するとともに、それぞれの距離画像に3次元モデルデータを識別する識別コードを与えるラスタライザ群と、前記ラスタライザ群により生成し識別コードが与えられた距離画像をもとに当該距離画像及び識別コードとともに3次元モデルデータを画素毎に視点からの距離の順に並び替える並列ソータと、前記並列ソータにより並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出手段と、前記差分算出手段により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定手段と、前記テーブルから前記並列ソータにおいて並び替えた識別コードに対応する色と不透明度を得るテーブル検索手段と、前記並列ソータにより並び替えた順及び前記テーブル検索手段により決定された色と不透明度に基づいて3次元モデルに対しアルファブレンディング合成による色計算をするアルファブレンディング手段と、前記衝突判定手段により衝突を判定された画素に対して予め定めた色を優先的に選択する色選択手段とからなることを特徴とするものである。
請求項10に係る衝突検知装置は、請求項9記載のものにおいて、さらに、衝突判定手段により衝突を判定されたモデルの識別コードを出力する衝突モデル識別コード出力手段を備えたことを特徴とするものである。
請求項11に係る衝突検知方法は、請求項1又は請求項3又は請求項5又は請求項7又は請求項8のいずれか1に記載のものにおいて、衝突判定過程において画素毎に衝突を判定されたときはインクリメントし、衝突していないときは値を保持して、画像内の衝突している画素数をカウンタによりカウントするカウント過程とカウント値出力手段がカウンタのカウント値を出力するカウント値出力過程を備えることを特徴とするものである。
請求項12に係る衝突検知装置は、請求項2又は請求項4又は請求項6又は請求項9又は請求項10のいずれか1に記載のものにおいて、衝突判定手段により画素毎に衝突を判定されたときはインクリメントし、衝突していないときは値を保持して、画像内の衝突している画素数をカウントするカウンタとカウント値を出力するカウント値出力手段を備えたことを特徴とするものである。






請求項1に係る衝突検知方法は、複数のラスタライズ過程により生成した距離画像をもとに3次元モデルデータを画素毎に視点からの距離の順に並び替えて、各距離データの隣り合う2個の距離データの差分を求めて、差分の大きさにより画素毎に衝突を判定するから、画素単位に実時間で衝突検知を行うことができる。さらに、仮想の視点の位置を操作することにより関心のある場所へ視点を移動でき、仮想の視点の視線方向を操作することにより関心のある対象物を視野に入れることができ、仮想の視点の視野角を操作することにより、関心のある小領域を拡大したり、あるいは、広い領域を概観することができ、また、3次元モデルの位置や姿勢を操作することにより、例えば外科医がメスを扱うときの動きを模擬でき、さらに、3次元モデルの位置、姿勢、大きさ、形状を操作することにより、例えば人体の心臓の拍動や弁の動きを模擬できる。
請求項2に係る衝突検知装置は、ラスタライザ群により生成した距離画像をもとに、並列ソータにより3次元モデルデータを画素毎に視点からの距離の順に並び替えて、差分算出手段で各距離データの隣り合う2個の距離データの差分を求めて、衝突判定手段において差分の大きさにより画素毎に衝突を判定するから、画素単位に実時間で衝突検知を行うことができる。さらに、仮想の視点の位置を操作することにより関心のある場所へ視点を移動でき、仮想の視点の視線方向を操作することにより関心のある対象物を視野に入れることができ、仮想の視点の視野角を操作することにより、関心のある小領域を拡大したり、あるいは、広い領域を概観することができ、また、3次元モデルの位置や姿勢を操作することにより、例えば外科医がメスを扱うときの動きを模擬でき、さらに、3次元モデルの位置、姿勢、大きさ、形状を操作することにより、例えば人体の心臓の拍動や弁の動きを模擬できる。
請求項3に係る衝突検知方法は、複数のラスタライズ過程により生成した距離画像をもとに3次元モデルデータを画素毎に視点からの距離の順に並び替えて、各距離データの隣り合う2個の距離データの差分を求めて、差分の大きさにより画素毎に衝突を判定し、衝突している画素を占める3次元モデルに与えられる識別コードを出力しているから、画素単位に実時間で衝突検知を行うことができるとともに、衝突しているモデルを知ることができる。さらに、仮想の視点の位置を操作することにより関心のある場所へ視点を移動でき、仮想の視点の視線方向を操作することにより関心のある対象物を視野に入れることができ、仮想の視点の視野角を操作することにより、関心のある小領域を拡大したり、あるいは、広い領域を概観することができ、また、3次元モデルの位置や姿勢を操作することにより、例えば外科医がメスを扱うときの動きを模擬でき、さらに、3次元モデルの位置、姿勢、大きさ、形状を操作することにより、例えば人体の心臓の拍動や弁の動きを模擬できる。
請求項4に係る衝突検知装置は、ラスタライザ群により生成した距離画像をもとに、並列ソータにより3次元モデルデータを画素毎に視点からの距離の順に並び替えて、差分算出手段で各距離データの隣り合う2個の距離データの差分を求めて、衝突判定手段において差分の大きさにより画素毎に衝突を判定し、衝突している画素を占める3次元モデルに与えられる識別コードを衝突モデル識別コード出力手段により出力しているから、画素単位に実時間で衝突検知を行うことができるとともに、衝突しているモデルを知ることができる。さらに、仮想の視点の位置を操作することにより関心のある場所へ視点を移動でき、仮想の視点の視線方向を操作することにより関心のある対象物を視野に入れることができ、仮想の視点の視野角を操作することにより、関心のある小領域を拡大したり、あるいは、広い領域を概観することができ、また、3次元モデルの位置や姿勢を操作することにより、例えば外科医がメスを扱うときの動きを模擬でき、さらに、3次元モデルの位置、姿勢、大きさ、形状を操作することにより、例えば人体の心臓の拍動や弁の動きを模擬できる。
請求項5に係る衝突検知方法は、前述の請求項1の効果を奏するとともに、並び替えた順及び色と不透明度に基づいて3次元モデルに対しアルファブレンディング合成による色計算をし、衝突判定過程により衝突を判定された画素に対して予め定めた色を優先的に選択するから、3次元モデルを所定の不透明度で透過した状態で確認することができ、衝突している画素部分を所定の色表示から判断することができる。
請求項6に係る衝突検知装置は、前述の請求項2の効果を奏するとともに、並列ソータにより並び替えた順及び色と不透明度に基づいて、アルファブレンディング手段において3次元モデルに対しアルファブレンディング合成による色計算をし、衝突判定手段により衝突を判定された画素においては色選択手段が予め定めた色を優先的に選択するから、3次元モデルを所定の不透明度で透過した状態で確認することができ、衝突している画素部分を所定の色表示から判断することができる。
請求項7に係る衝突検知方法は、前述の請求項5の効果を奏するとともに、識別コードに対して色と不透明度を対応付けたテーブルを有し、並び替え過程により並び替えた順及びテーブル検索過程により決定された色と不透明度に基づいて3次元モデルに対しアルファブレンディング合成による色計算をするから、色と不透明度をテーブルにおいて容易に変更することができ、状況に応じて変更させて用いることができる。
請求項8に係る衝突検知方法は、前述の請求項7の効果を奏するとともに、衝突している画素を占める3次元モデルに与えられる識別コードを出力しているから、画素単位に実時間で衝突検知を行うことができるとともに、衝突しているモデルを知ることができる。
請求項9に係る衝突検知装置は、前述の請求項6の効果を奏するとともに、識別コードに対して色と不透明度を対応付けたテーブルを有し、並び替え手段により並び替えた順及びテーブル検索手段により決定された色と不透明度に基づいて3次元モデルに対しアルファブレンディング合成手段による色計算をするから、色と不透明度をテーブルにおいて容易に変更することができ、状況に応じて変更させて用いることができる。
請求項10に係る衝突検知装置は、前述の請求項9の効果を奏するとともに、衝突している画素を占める3次元モデルに与えられる識別コードを衝突モデル識別コード出力手段により出力しているから、画素単位に実時間で衝突検知を行うことができるとともに、衝突しているモデルを知ることができる。
請求項11に係る衝突検知方法は、前述の請求項1又は請求項3又は請求項5又は請求項7又は請求項8のいずれかの効果を奏するとともに、衝突判定過程において画素毎に衝突を判定されたときはインクリメントし、衝突していないときは値を保持して、画像内の衝突している画素数をカウンタによりカウントするから、カウンタが保持する値で3次元モデルが衝突し接触している領域の大きさ及び接触している箇所数を知ることができる。
請求項12に係る衝突検知装置は、前述の請求項2又は請求項4又は請求項6又は請求項9又は請求項10のいずれかの効果を奏するとともに、衝突判定手段により画素毎に衝突を判定されたときは、カウンタでインクリメントし、衝突していないときは値を保持して、画像内の衝突している画素数をカウントするから、カウンタが保持する値で3次元モデルが衝突し接触している領域の大きさ及び接触している箇所数を知ることができる。
図1は、実施例1を説明する構成図、図2は同フロー図である。
図1において、101は3次元モデルデータを格納する記憶装置、102は操作に従って3次元モデルの位置と姿勢及び仮想の視点の位置、視線方向及び視野角を操作するジョイスティック等からなる入出力手段である。103は前記入出力手段102と記憶装置101に接続して制御する制御装置である。1041〜1044は、CPUとメモリと3次元グラフィックスボードで構成するPC(コンピュータ)からなるラスタライザであり、3次元モデルの数に応じて設けられる。各ラスタライザ1041〜1044は、制御装置103とイーサネット(登録商標)などの通信手段で接続され、記憶装置101から読み出された3次元モデルデータに基づいて前記入出力手段102の操作に応じて仮想の視点から見て変化する3次元モデルの距離画像を生成する。距離画像は、仮想の視点からの距離データDa,Db,Dc,Ddからなり、3次元グラフィックスボードで計算し、距離画像をディジタルビデオ信号として生成し、同時に出力する。105は前記ラスタライザ1041〜1044からの画素毎の距離データDa,Db,Dc,Ddを同時に入力して並べ替える並列ソータ、106は演算処理部、107は、前記演算処理部106に含まれ、前記並列ソータ105で並び替えた距離データD0,D1,D2,D3の隣り合う2個の距離データの差分を求める差分算出手段、108は、前記演算処理部106に含まれ、前記差分算出手段107により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定手段である。衝突を判定する前記所定の範囲の大きさである閾値は、前記制御装置103により予め設定されている。
以下、図1、図2を参照しつつ、動作を説明する。ジョイスティック等からなる入出力手段102を操作することにより、図示しない表示装置に、入出力手段102に関連付けられた3次元モデル例えば手術用のメスがその操作量に従って仮定した環境の中、例えば臓器の近傍を移動変化する画像が、表示される。入出力手段102の操作により、3次元モデルの位置と姿勢及び仮想の視点の位置、視線方向及び視野角が制御される(図2のP101)。
それら視点、モデルの位置等のデータ、モデルデータは、モデル毎に各ラスタライザ1041〜1044のそれぞれに入力される。例えば、モデルA、B、C、Dのそれぞれのデータは、ラスタライザ1041,1042,1043,1044のそれぞれに入力され、保持される。各ラスタライザ1041〜1044は、入出力手段102の操作に応じた視点から見た各3次元モデルを構成するポリゴンまでの距離データを画素毎に計算して、距離画像を生成する(図2のP102)。
例えば、図3に示すように、組織A、組織B、組織C、メスDを仮想視点eから見た画像において、仮想視点eからメスDの刃先の点を通る直線を伸ばすとき、組織A、組織B、組織Cとこの直線との交点が存在すれば、仮想視点eから各交点までの距離データが算出される。なお、図3において、(i)は仮想視点eとメスDの刃先を結ぶ直線を伸ばし、組織Aと交わる点、(ii)は仮想視点eとメスDの刃先を結ぶ直線を伸ばし、組織Bと交わる点、及び、(iii)は仮想視点eとメスDの刃先を結ぶ直線を伸ばし、組織Cと交わる点である。仮想視点eから見た画像内において、前記メスDの刃先の点と交点群は、同一画素に対応しており、例えばラスタライザ1041〜1044がZバッファ法に基づいている場合、仮想視点eから前記メスDの刃先の点及び交点群までの距離データはZ値(またはデプス値ともいう)として得られる。各ラスタライザ1041〜1044は、画面の同一座標位置にある距離データDa,Db,Dc,Dd(便宜上各モデルからの距離データを1個として説明する)を順次1画素分毎に出力する。
各ラスタライザ1041〜1044で生成された同一座標位置からの距離データDa,Db,Dc,Ddは、同時に並列ソータ105に取り入れられ、視点からの距離の順に並び替えられる(図2のP103)。
例えば、Dc≦Da≦Db≦Ddである場合、並列ソータ105は、小さい順に、D0(=Dc),D1(=Da),D2(=Db),D3(=Dd)に並び替え、これらを演算処理部106に出力する。
演算処理部106の差分算出手段107は、前記並列ソータ105からの距離データD0,D1,D2,D3の隣り合う2個の距離データの差分を求める(図2のP104)。
すなわち、差分出力のそれぞれには、例えば、差分D3−D2,D2−D1,D1−D0が出力される。
衝突判定手段108は、差分と予め設定されている閾値とを比較して、差分が0又は閾値内であるときは衝突と判定する(図2のP105)。
差分を取る距離データD0(=Dc),D1(=Da),D2(=Db),D3(=Dd)は、同一座標位置にある同一画素についてのデータであるから、これらの差分が0又は所定の閾値内であるときは、そのモデルの当該画素の点は視点から同一距離にあるもの、すなわち衝突あるいは接触していると判定する。衝突判定手段108は、衝突と判定した場合、衝突検知信号を出力する。必要により、衝突と判定された画素のスクリーン座標(X,Y)を出力する。
入出力手段102の操作によりモデルを移動させ、モデル同士が衝突するか、しないかを判定することができる。
図4は、実施例2を説明する構成図、図5は同フロー図である。実施例2は前述した実施例1のものにおいて、3次元モデルにそれぞれを識別する識別コードを付与した場合の処理に関し、参照符号は特に言及しない場合は図1のものと同様であり、機能動作も同様である。
図4において、401はそれぞれを識別する識別コードを付与した3次元モデルデータを格納する記憶装置、403は入出力手段402と記憶装置401に接続して制御する制御装置である。4041〜4044は、CPUとメモリと3次元グラフィックスボードで構成するPC(コンピュータ)からなるラスタライザであり、3次元モデルの数に応じて設けられる。各ラスタライザ4041〜4044は、制御装置403とイーサネット(登録商標)などの通信手段で接続され、記憶装置401から読み出された3次元モデルデータに基づいて前記入出力手段402の操作に応じて仮想の視点から見て変化する3次元モデルの画像を生成する。画像は、仮想の視点からの距離データDa,Db,Dc,Ddからなり、3次元グラフィックスボードで計算し、距離画像をディジタルビデオ信号として生成し、それぞれの距離データDa,Db,Dc,Ddを識別コードIa,Ib,Ic,Idとともに同時に出力する。405は前記ラスタライザ4041〜4044からの画素毎の距離データDa,Db,Dc,Ddと識別コードIa,Ib,Ic,Idを同時に入力して距離データの順序に従って識別コードとともに並べ替える並列ソータ、409は演算処理部406に含まれ、衝突判定手段408により衝突を判定されたモデルの識別コードを出力する衝突モデル識別コード出力手段である。
以下、図4、図5を参照しつつ、動作を説明する。各構成部分の動作機能は、実施例1の場合と同様なものがあり、それらを省略する場合があり、実施例2に特徴的なものを説明する。
ジョイスティック等からなる入出力手段402を操作することにより、図示しない表示装置に入出力手段402に関連付けられた3次元モデル例えば手術用のメスがその操作量に従って仮定した環境の中、例えば臓器の近傍を移動変化する画像が表示される。入出力手段402の操作により、3次元モデルの位置と姿勢及び仮想の視点の位置、視線方向及び視野角が制御される(図5のP501)。
それら視点、モデルの位置等のデータ、及びモデルデータが、モデル毎に各ラスタライザ4041〜4044のそれぞれに入力される。各ラスタライザ4041〜4044は、入出力手段402の操作に応じた視点から見た各3次元モデルを構成するポリゴンまでの距離データDa,Db,Dc,Ddを画素毎に計算して、距離画像を生成するとともに、それぞれの距離画像に識別コードIa,Ib,Ic,Idを与えて出力する(図5のP502)。
例えば、図3に示すように、組織A、組織B、組織C、メスDを仮想視点eから見た画像において、仮想視点eからメスDの刃先の点を通る直線を伸ばすとき、組織A、組織B、組織Cとこの直線との交点が存在すれば、仮想視点eから各交点までの距離データが算出される。なお、図3において、(i)は仮想視点eとメスDの刃先を結ぶ直線を伸ばし、組織Aと交わる点、(ii)は仮想視点eとメスDの刃先を結ぶ直線を伸ばし、組織Bと交わる点、及び、(iii)は仮想視点eとメスDの刃先を結ぶ直線を伸ばし、組織Cと交わる点である。仮想視点eから見た画像内において、前記メスDの刃先の点と交点群は、同一画素に対応しており、例えばラスタライザ4041〜4044がZバッファ法に基づいている場合、仮想視点eから前記メスDの刃先の点及び交点群までの距離データはZ値(またはデプス値ともいう)として得られる。各ラスタライザ4041〜4044は、画面の同一座標位置にある距離データDa,Db,Dc,Dd(便宜上各モデルからの距離データを1個として説明する)を順次1画素毎に出力するとともに、その距離データが属する3次元モデルの識別コードIa,Ib,Ic,Idも出力する。
各ラスタライザ4041〜4044で生成された同一座標位置からの距離データDa,Db,Dc,Ddと識別コードIa,Ib,Ic,Idは、同時に並列ソータ405に取り入れられ、視点からの距離の順に並び替えられ、このとき識別コードIa,Ib,Ic,Idも距離データの順序に従って並び替えられる(図5のP503)。
例えば、距離データについてDc≦Da≦Db≦Ddである場合、並列ソータ405は、小さい順に、D0(=Dc),D1(=Da),D2(=Db),D3(=Dd)に並び替え、これにともなって識別コードもI0(=Ic),I1(=Ia),I3(=Ib),I4(=Id)に並び替えて、これらを演算処理部406に出力する。
演算処理部406の差分算出手段407は、前記並列ソータ405からの距離データD0,D1,D2,D3の隣り合う2個の距離データの差分を求める(図5のP504)。
すなわち、差分出力のそれぞれには、例えば、差分D3−D2,D2−D1,D1−D0が出力される。
衝突判定手段408は、差分と予め設定されている閾値とを比較して、差分が0又は閾値内であるときは衝突と判定する(図5のP505)。
差分を取る距離データD0(=Dc),D1(=Da),D2(=Db),D3(=Dd)は、識別コードが同一のものについて対象とせず、それぞれ異なる3次元モデルのデータであり、かつ、同一座標位置にある同一画素についてのデータであるから、これらの差分が0又は所定の閾値内であるときは、そのモデルの当該画素の点は視点から同一距離にあるもの、すなわち衝突あるいは接触していると判定する。衝突判定手段408は、衝突と判定した場合、衝突検知信号を出力する。
衝突モデル識別コード出力手段409は、前記衝突判定手段408が衝突あるいは接触を判定したときの距離データの識別コードを得て、衝突している2以上のモデルの識別コードを出力する(図5のP506)。
入出力手段402の操作によりモデルを移動させ、モデル同士が衝突するか、しないかを判定することができる。衝突した場合は、識別コードによりモデルを特定することができる。
図6は、実施例3を説明する構成図、図7は同フロー図である。実施例3は前述した実施例1のものにおいて、2個以上の3次元モデル画像データを対象とし、それぞれのモデルにそれぞれの色と不透明度を与えられた(透明度により表現してもよい。)場合の処理に関し、参照符号は特に言及しない場合は図1のものと同様であり、機能動作も同様である。
図6において、603は入出力手段602と記憶装置601に接続して制御するとともに、予め各3次元モデルに対しそれぞれの色と不透明度を指定し、衝突を判定された画素に予め定めた色を指定する制御装置である。6041〜6044は、CPUとメモリと3次元グラフィックスボードで構成するPC(コンピュータ)からなるラスタライザであり、3次元モデルの数に応じて設けられる。各ラスタライザ6041〜6044は、制御装置603とイーサネット(登録商標)などの通信手段で接続され、記憶装置601から読み出された3次元モデルデータに基づいて前記入出力手段602の操作に応じて仮想の視点から見て変化する3次元モデルの画像を生成する。画像は、仮想の視点からの距離データDa,Db,Dc,Ddからなり、制御装置603で指定された色と不透明度を備えており、3次元グラフィックスボードで計算し、距離画像をディジタルビデオ信号として生成し、それぞれの距離データDa,Db,Dc,Ddを色と不透明度のデータとともに同時に出力する。605は前記ラスタライザ6041〜6044からの画素毎の距離データDa,Db,Dc,Ddと色と不透明度のデータを同時に入力して距離データの順序に並べ替える並列ソータ、610は、演算処理部606に含まれ、前記並列ソータ605により並び替えた距離データの順及び色と不透明度に基づいて3次元モデルに対しアルファブレンディング合成による色計算をするアルファブレンディング手段、611は、衝突判定手段608により衝突を判定された画素に対して予め定めた色を優先的に選択する色選択手段である。以上により決定した画素の色が可視化画像として出力される。
以下、図6、図7を参照しつつ、動作を説明する。各構成部分の動作機能は、実施例1の場合と同様なものがあり、それらを省略する場合があり、実施例3に特徴的なものを説明する。
ジョイスティック等からなる入出力手段602を操作することにより、3次元モデルの位置と姿勢及び仮想の視点の位置、視線方向及び視野角が制御される(図7のP701)。
それら視点、モデルの位置等のデータ、モデルデータが、モデル毎に各ラスタライザ6041〜6044のそれぞれに入力する。各ラスタライザ6041〜6044は、入出力手段602の操作に応じた視点から見た各3次元モデル表示及びこれらを構成するポリゴンまでの距離データDa,Db,Dc,Ddを画素毎に計算して、距離画像を生成して出力する(図7のP702)。
例えば、図3に示すように、組織A、組織B、組織C、メスDを仮想視点eから見た画像において、仮想視点eからメスDの刃先の点を通る直線を伸ばすとき、組織A、組織B、組織Cとこの直線との交点が存在すれば、仮想視点eから各交点までの距離データが算出される。なお、図3において、(i)は仮想視点とメスDの刃先を結ぶ直線を伸ばし、組織Aと交わる点、(ii)は仮想視点とメスDの刃先を結ぶ直線を伸ばし、組織Bと交わる点、及び、(iii)は仮想視点とメスDの刃先を結ぶ直線を伸ばし、組織Cと交わる点である。仮想視点eから見た画像内において、前記メスDの刃先の点と交点群は、同一画素に対応しており、例えばラスタライザ6041〜6044がZバッファ法に基づいている場合、仮想視点eから前記メスDの刃先の点及び交点群までの距離データはZ値(またはデプス値ともいう)として得られる。各ラスタライザ6041〜6044は、画面の同一座標位置にある距離データDa,Db,Dc,Dd(便宜上各モデルからの距離データを1個として説明する)を順次1画素毎に出力するとともに、その距離データが属する3次元モデルの色Ca,Cb,Cc,Cdと不透明度Oa,Ob,Oc,Odのデータも出力する。
各ラスタライザ6041〜6044で生成された同一座標位置からの距離データDa,Db,Dc,Ddと色Ca,Cb,Cc,Cdと不透明度Oa,Ob,Oc,Odのデータは、同時に並列ソータ605に取り入れられ、視点からの距離の順に並び替えられ、このとき色と不透明度のデータも距離データの順序に従って並び替えられる(図7のP703)。
例えば、距離データについてDc≦Da≦Db≦Ddである場合、並列ソータ605は、小さい順に、D0(=Dc),D1(=Da),D2(=Db),D3(=Dd)に並び替えて演算処理部606に出力する。
演算処理部606の差分算出手段607は、前記並列ソータ605からの距離データD0,D1,D2,D3の隣り合う2個の距離データの差分を求める(図7のP704)。
すなわち、差分出力のそれぞれには、例えば、差分D3−D2,D2−D1,D1−D0が出力される。
衝突判定手段608は、差分と予め設定されている閾値とを比較して、差分が0又は閾値内であるときは衝突と判定する(図7のP705)。
差分を取る距離データD0(=Dc),D1(=Da),D2(=Db),D3(=Dd)は、同一座標位置にある同一画素についてのデータであるから、これらの差分が0又は所定の閾値内であるときは、そのモデルの当該画素の点は視点から同一距離にあるもの、すなわち衝突あるいは接触していると判定する。衝突判定手段608は、衝突と判定した場合、衝突検知信号を出力する。
アルファブレンディング手段610は前記並列ソータ605により並び替えた距離データD0,D1,D2,D3の順及び色C0,C1,C2,C3と不透明度O0,O1,O2,O3のデータに基づいて3次元モデルに対しアルファブレンディング合成による色計算をする(図7のP706)。
色選択手段611は、衝突を判定された画素に対し制御装置603から優先的に指定する色を予め指定されており、衝突判定手段608から衝突を判定されたとき、前記アルファブレンディング手段610の出力ではなく、衝突した当該画素に前記指定された色を選択する(図7のP707)。
図8にアルファブレンディング合成と衝突している部分を指定色で表示する例を示す。
図8(a)は、アルファブレンディング合成をせず、図3の組織AとメスDのみが表示されている。
図8(b)は、アルファブレンディング合成により、組織Aを透過して組織Bが、また組織Aと組織Bを透過して組織Cが表示されている。また、メスDの刃と組織Aの接触している部分が指定色により強調表示されている。図8(b)では、指定色の強調は太線で表している。
図9は、実施例4を説明する構成図、図10は同フロー図である。実施例4は前述した実施例2のものにおいて、2個以上の3次元モデル画像データを対象とし、3次元モデルにそれぞれを識別する識別コードを付与し、それぞれのモデルにそれぞれの色と不透明度を与えられた場合の処理に関し、参照符号は特に言及しない場合は図1、図4のものと同様であり、機能動作も同様である。
図9において、903は入出力手段902と記憶装置901に接続して制御するとともに、衝突を判定された画素に予め定めた色と不透明度を指定する制御装置である。9041〜9044は、CPUとメモリと3次元グラフィックスボードで構成するPC(コンピュータ)からなるラスタライザであり、3次元モデルの数に応じて設けられる。各ラスタライザ9041〜9044は、制御装置903とイーサネット(登録商標)などの通信手段で接続され、記憶装置901から読み出された3次元モデルデータに基づいて前記入出力手段902の操作に応じて仮想の視点から見て変化する3次元モデルの画像を生成する。画像は、仮想の視点からの距離データDa,Db,Dc,Ddからなり、3次元グラフィックスボードで計算し、距離画像をディジタルビデオ信号として生成し、それぞれの距離データDa,Db,Dc,Ddを識別コードIa,Ib,Ic,Idとともに同時に出力する。905は前記ラスタライザ9041〜9044からの画素毎の距離データDa,Db,Dc,Ddを同時に入力して距離データの順序に並べ替える並列ソータ、910は前記並列ソータ905により並び替えた距離データの順及び後述するルックアップテーブル912に指定される色と不透明度に基づいて3次元モデルに対しアルファブレンディング合成による色計算をするアルファブレンディング手段、911は、衝突判定手段908により衝突を判定された画素に対して予め定めた色を優先的に選択する色選択手段、912は、各3次元モデルに対し予め与えられた識別コードに対応付けられた色と不透明度を有するルックアップテーブル、913は、前記ルックアップテーブル912から前記並列ソータ905において並び替えた識別コードに対応する色と不透明度を読み出すテーブル検索手段である。
必要により、衝突モデル識別コード出力手段909を設ける。
以下、図9、図10を参照しつつ、動作を説明する。各構成部分の動作機能は、実施例2の場合と同様なものがあり、それらを省略する場合があり、実施例4に特徴的なものを説明する。
ジョイスティックからなる入出力手段902を操作することにより、3次元モデルの位置と姿勢及び仮想の視点の位置と視線方向が制御される(図10のP1001)。
それら視点、モデルの位置等のデータ、モデルデータが、モデル毎に各ラスタライザ9041〜9044のそれぞれに入力する。各ラスタライザ9041〜9044は、入出力手段902の操作に応じた視点から見た各3次元モデル表示及びこれらを構成するポリゴンまでの距離データDa,Db,Dc,Ddを画素毎に計算して、距離画像を生成するとともに、それぞれの距離画像に識別コードIa,Ib,Ic,Idを与えて出力する(図10のP1002)。
例えば、図3に示すように、組織A、組織B、組織C、メスDを仮想視点eから見た画像において、仮想視点eからメスDの刃先の点を通る直線を伸ばすとき、組織A、組織B、組織Cとこの直線との交点が存在すれば、仮想視点eから各交点までの距離データが算出される。なお、図3において、(i)は仮想視点eとメスDの刃先を結ぶ直線を伸ばし、組織Aと交わる点、(ii)は仮想視点eとメスDの刃先を結ぶ直線を伸ばし、組織Bと交わる点、及び、(iii)は仮想視点eとメスDの刃先を結ぶ直線を伸ばし、組織Cと交わる点である。仮想視点eから見た画像内において、前記メスDの刃先の点と交点群は、同一画素に対応しており、例えばラスタライザ9041〜9044がZバッファ法に基づいている場合、仮想視点eから前記メスDの刃先の点及び交点群までの距離データはZ値(またはデプス値ともいう)として得られる。各ラスタライザ9041〜9044は、画面の同一座標位置にある距離データDa,Db,Dc,Dd(便宜上各モデルからの距離データを1個として説明する)を順次1画素毎に出力するとともに、その距離データが属する3次元モデルの識別コードIa,Ib,Ic,Idも出力する。
各ラスタライザ9041〜9044で生成された同一座標位置からの距離データDa,Db,Dc,Ddと識別コードIa,Ib,Ic,Idは、同時に並列ソータ905に取り入れられ、視点からの距離の順に並び替えられ、このとき識別コードも距離データの順序に従って並び替えられる(図10のP1003)。
例えば、距離データについてDc≦Da≦Db≦Ddである場合、並列ソータ905は、小さい順に、D0(=Dc),D1(=Da),D2(=Db),D3(=Dd)に並び替え、これにともなって識別コードもI0(=Ic),I1(=Ia),I3(=Ib),I4(=Id)に並び替えて、これらを演算処理部906に出力する。
演算処理部906の差分算出手段907は、前記並列ソータ905からの距離データD0,D1,D2,D3の隣り合う2個の距離データの差分を求める(図10のP1004)。
すなわち、差分出力のそれぞれには、例えば、差分D3−D2,D2−D1,D1−D0が出力される。
衝突判定手段908は、差分と予め設定されている閾値とを比較して、差分が0又は閾値内であるときは衝突と判定する(図10のP1005)。
差分を取る距離データD0(=Dc),D1(=Da),D2(=Db),D3(=Dd)は、識別コードが同一のものについて対象とせず、それぞれ異なる3次元モデルのデータであり、かつ、同一座標位置にある同一画素についてのデータであるから、これらの差分が0又は所定の閾値内であるときは、そのモデルの当該画素の点は視点から同一距離にあるもの、すなわち衝突あるいは接触していると判定する。衝突判定手段908は、衝突と判定した場合、衝突検知信号を出力する。
テーブル検索手段913は、前記ルックアップテーブル912から識別コードに対応する色と不透明度を読み出しておく(図10のP1006)。
ルックアップテーブル912の色と不透明度は、制御装置903から予め指定されている。
アルファブレンディング手段910は前記並列ソータ905により並び替えた距離データD0,D1,D2,D3の順及び前記テーブル検索手段913がルックアップテーブル912から識別コードに対応して読み出した色と不透明度のデータに基づいて3次元モデルに対しアルファブレンディング合成による色計算をする(図10のP1007)。
色選択手段911は、衝突を判定された画素に対し制御装置903から優先的に指定する色を予め指定されており、衝突判定手段908から衝突を判定されたとき、前記アルファブレンディング手段910の出力ではなく、衝突した当該画素に前記指定された色を選択する(図10のP1008)。
図8にアルファブレンディング合成と衝突している部分を指定色で表示する例を示す。
図8(a)は、アルファブレンディング合成をせず、図3の組織AとメスDのみが表示されている。
図8(b)は、アルファブレンディング合成により、組織Aを透過して組織Bが、また組織Aと組織Bを透過して組織Cが表示されている。また、メスDの刃と組織Aの接触している部分が指定色により強調表示されている。図8(b)では、指定色の強調は太線で表している。
入出力手段902の操作によりモデルを移動させ、モデル同士が衝突するか、しないかを判定することができる。衝突した場合は、識別コードによりモデルを特定することができる。
衝突モデル識別コード出力手段909は、前記衝突判定手段908が衝突あるいは接触を判定したときの距離データの識別コードを得て、衝突している2以上のモデルの識別コードを出力する(図10のP1009)。
図11は、実施例5を説明する構成図、図12は同フロー図である。実施例5は前述した実施例1〜実施例4のものにおいて、衝突画素数をカウントする手段及びカウント値を出力する手段を付加するものである。
図11は、図1、図4、図6及び図9に用いる演算処理部106,406,606,906の部分を示し、他の構成部分を省略したものであり、図12は、図2のP105、図5のP505、図7のP705、図10のP1005とそれぞれにおける各過程の後方との間に位置する過程である。図11において、1113は、前記演算処理部106,406,606,906に含まれるカウンタである。
カウンタ1113は、画面ごとの処理の開始時にクリアし、衝突判定手段108(408,608,908)により画素毎に衝突を判定されたときはインクリメントし、衝突していないときは値を保持して、画像内の衝突している画素数をカウントする(図12のP1201)。
画面ごとの処理の終了時にカウント値を出力する(図12のP1202)。
衝突箇所が複数、あるいは例えば、メスが臓器内部まで入り臓器表面とメスとが連続して接触している場合にも、複数画素について衝突が発生していて、これをカウントして、接触箇所の数あるいは接触範囲の大きさを知ることができる。
上記説明では、主に手術シミュレータにおけるメスと臓器の当たり(衝突)判定について説明したが、本発明はこれに限らず、3次元CADにおけるモデル間の干渉を検出するためのシミュレーション、フライトシミュレータにおける自機と地形との距離計算などに、利用することができる。
また、ポリゴンで表現した3次元モデルに加えて、ステレオ写真測量やX線コンピュータトモグラフィ等の手法により計測された3次元画像データやボリュームデータを本発明の3次元モデルとして扱うことができ、本発明を利用することができる。
衝突検知装置の構成図である。(実施例1) 衝突検知の方法を説明するフロー図である。(実施例1) 最終画像及びモデルを説明する図である。 衝突検知装置の構成図である。(実施例2) 衝突検知の方法を説明するフロー図である。(実施例2) 衝突検知装置の構成図である。(実施例3) 衝突検知の方法を説明するフロー図である。(実施例3) アルファブレンディング合成した画像の例を示す。 衝突検知装置の構成図である。(実施例4) 衝突検知の方法を説明するフロー図である。(実施例4) 衝突検知装置の部分構成図である。(実施例5) 衝突検知の方法を説明するフロー図の一部分である。(実施例5)
符号の説明
101,401,601,901…記憶装置、102,402,602,902…入出力手段、103,403,603,903…制御装置、1041〜1044,4041〜4044,6041〜6044,9041〜9044…ラスタライザ、105,405,605,905…並列ソータ、106,406,606,906…演算処理部、107,407,607,907…差分算出手段、108,408,608,908…衝突判定手段、409,909…衝突モデル識別コード出力手段、610,910…アルファブレンディング手段、611,911…色選択手段、912…ルックアップテーブル、913…テーブル検索手段、1113…カウンタ。

Claims (12)

  1. 2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する方法であって、
    制御手段が、操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御過程と、
    ラスタライザ群が、前記制御手段による制御過程により制御され仮想の視点から見た各3次元モデルを距離データからなる距離画像として生成する複数のラスタライズ過程と、
    並列ソータが、前記ラスタライザ群によるラスタライズ過程により生成した距離画像をもとに3次元モデルデータを画素毎に視点からの距離の順に並び替える並び替え過程と、
    差分算出手段が、前記並列ソータによる並び替え過程により並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出過程と、
    衝突判定手段が、前記差分算出手段による差分算出過程により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定過程とからなることを特徴とする衝突検知方法。
  2. 2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する装置であって、
    操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御手段と、
    仮想の視点から見た各3次元モデルを距離データからなる距離画像として生成するラスタライザ群と、
    前記ラスタライザ群により生成した距離画像をもとに3次元モデルデータを画素毎に視点からの距離の順に並び替える並列ソータと、
    前記並列ソータにより並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出手段と、
    前記差分算出手段により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定手段とからなることを特徴とする衝突検知装置。
  3. それぞれの3次元モデルを識別する識別コードを与えられた、2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する方法であって、
    制御手段が、操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御過程と、
    ラスタライザ群が、前記制御手段による制御過程により制御され仮想の視点から見た各3次元モデルを距離データからなる距離画像として生成するとともに、それぞれの距離画像に3次元モデルデータを識別する識別コードを与える複数のラスタライズ過程と、
    並列ソータが、前記ラスタライザ群によるラスタライズ過程により生成し識別コードが与えられた距離画像をもとに当該距離画像及び識別コードとともに3次元モデルデータを画素毎に視点からの距離の順に並び替える並び替え過程と、
    差分算出手段が、前記並列ソータによる並び替え過程により並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出過程と、
    衝突判定手段が、前記差分算出手段による差分算出過程により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定過程と、
    衝突モデル識別コード出力手段が、前記衝突判定手段による衝突判定過程により衝突を判定されたモデルの識別コードを出力する衝突モデル識別コード出力過程と
    からなることを特徴とする衝突検知方法。
  4. それぞれの3次元モデルを識別する識別コードを与えられた、2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する装置であって、
    操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御手段と、
    仮想の視点から見た各3次元モデルを距離データからなる距離画像として生成するとともに、それぞれの距離画像に3次元モデルデータを識別する識別コードを与えるラスタライザ群と、
    前記ラスタライザ群により生成し識別コードが与えられた距離画像をもとに当該距離画像及び識別コードとともに3次元モデルデータを画素毎に視点からの距離の順に並び替える並列ソータと、
    前記並列ソータにより並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出手段と、
    前記差分算出手段により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定手段と、
    前記衝突判定手段により衝突を判定されたモデルの識別コードを出力する衝突モデル識別コード出力手段と
    からなることを特徴とする衝突検知装置。
  5. それぞれの色と不透明度を与えられた、2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する方法であって、
    制御手段が、操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御過程と、
    ラスタライザ群が、前記制御手段による制御過程により制御され仮想の視点から見た各3次元モデルを距離データからなる距離画像及び色と不透明度を含む2次元画像として生成する複数のラスタライズ過程と、
    並列ソータが、前記ラスタライザ群による前記ラスタライズ過程により生成した距離画像をもとに色と不透明度とともに3次元モデルデータを画素毎に視点からの距離の順に並び替える並び替え過程と、
    差分算出手段が、前記並列ソータによる前記並び替え過程により並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出過程と、
    衝突判定手段が、前記差分算出手段による前記差分算出過程により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定過程と、
    アルファブレンディング手段が、前記並列ソータによる並び替え過程により並び替えた順及び色と不透明度に基づいて3次元モデルに対しアルファブレンディング合成による色計算をするアルファブレンディング過程と、
    色選択手段が、前記衝突判定手段による衝突判定過程により衝突を判定された画素に対して予め定めた色を優先的に選択する色選択過程と
    からなることを特徴とする衝突検知方法。
  6. それぞれの色と不透明度を与えられた、2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する装置であって、
    操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御手段と、
    仮想の視点から見た各3次元モデルを距離データからなる距離画像及び色と不透明度を含む2次元画像として生成するラスタライザ群と、
    前記ラスタライザ群により生成した距離画像をもとに色と不透明度とともに3次元モデルデータを画素毎に視点からの距離の順に並び替える並列ソータと、
    前記並列ソータにより並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出手段と、
    前記差分算出手段により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定手段と、
    前記並列ソータにより並び替えた順及び色と不透明度に基づいて3次元モデルに対しアルファブレンディング合成による色計算をするアルファブレンディング手段と、
    前記衝突判定手段により衝突を判定された画素に対して予め定めた色を優先的に選択する色選択手段と
    からなることを特徴とする衝突検知装置。
  7. それぞれの3次元モデルを識別する識別コードを与えられ、かつ、前記識別コードに対して色と不透明度を対応付けたテーブルを有し、2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する方法であって、
    制御手段が、操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御過程と、
    ラスタライザ群が、前記制御手段による制御過程により制御され仮想の視点から見た各3次元モデルを距離データからなる距離画像として生成するとともに、それぞれの距離画像に3次元モデルデータを識別する識別コードを与える複数のラスタライズ過程と、
    並列ソータが、前記ラスタライザ群によるラスタライズ過程により生成し識別コードが与えられた距離画像をもとに当該距離画像及び識別コードとともに3次元モデルデータを画素毎に視点からの距離の順に並び替える並び替え過程と、
    差分算出手段が、前記並列ソータによる並び替え過程により並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出過程と、
    衝突判定手段が、前記差分算出手段による差分算出過程により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定過程と、
    テーブル検索手段が、前記テーブルから前記並列ソータによる並び替え過程において並び替えた識別コードに対応する色と不透明度を得るテーブル検索過程と、
    アルファブレンディング手段が、前記並列ソータによる並び替え過程により並び替えた順及び前記テーブル検索手段によるテーブル検索過程により決定された色と不透明度に基づいて3次元モデルに対しアルファブレンディング合成による色計算をするアルファブレンディング過程と、
    色選択手段が、前記衝突判定手段による衝突判定過程により衝突を判定された画素に対して予め定めた色を優先的に選択する色選択過程と
    からなることを特徴とする衝突検知方法。
  8. 請求項7記載の衝突検知方法において、さらに、衝突モデル識別コード出力手段が、衝突判定手段による衝突判定過程により衝突を判定されたモデルの識別コードを出力する衝突モデル識別コード出力過程を有することを特徴とする衝突検知方法。
  9. それぞれの3次元モデルを識別する識別コードを与えられ、かつ、前記識別コードに対して色と不透明度を対応付けたテーブルを有し、2個以上の3次元モデル画像データを対象とし、モデル間の衝突を検知する装置であって、
    操作に従って仮想の視点の位置、視線方向、視野角、3次元モデルの位置、姿勢、大きさ、形状のいずれかあるいは複数を制御する制御手段と、
    仮想の視点から見た各3次元モデルを距離データからなる距離画像として生成するとともに、それぞれの距離画像に3次元モデルデータを識別する識別コードを与えるラスタライザ群と、
    前記ラスタライザ群により生成し識別コードが与えられた距離画像をもとに当該距離画像及び識別コードとともに3次元モデルデータを画素毎に視点からの距離の順に並び替える並列ソータと、
    前記並列ソータにより並び替えた各距離データの隣り合う2個の距離データの差分を求める差分算出手段と、
    前記差分算出手段により求めた差分が0または所定の範囲の大きさであることにより画素毎に衝突を判定する衝突判定手段と、
    前記テーブルから前記並列ソータにおいて並び替えた識別コードに対応する色と不透明度を得るテーブル検索手段と、
    前記並列ソータにより並び替えた順及び前記テーブル検索手段により決定された色と不透明度に基づいて3次元モデルに対しアルファブレンディング合成による色計算をするアルファブレンディング手段と、
    前記衝突判定手段により衝突を判定された画素に対して予め定めた色を優先的に選択する色選択手段と
    からなることを特徴とする衝突検知装置。
  10. 請求項9記載の衝突検知装置において、さらに、衝突判定手段により衝突を判定されたモデルの識別コードを出力する衝突モデル識別コード出力手段を備えたことを特徴とする衝突検知装置。
  11. 衝突判定過程において画素毎に衝突を判定されたときはインクリメントし、衝突していないときは値を保持して、画像内の衝突している画素数をカウンタによりカウントするカウント過程とカウント値出力手段がカウンタのカウント値を出力するカウント値出力過程を備えることを特徴とする請求項1又は請求項3又は請求項5又は請求項7又は請求項8のいずれか1に記載の衝突検知方法。
  12. 衝突判定手段により画素毎に衝突を判定されたときはインクリメントし、衝突していないときは値を保持して、画像内の衝突している画素数をカウントするカウンタとカウント値を出力するカウント値出力手段を備えたことを特徴とする請求項2又は請求項4又は請求項6又は請求項9又は請求項10のいずれか1に記載の衝突検知装置。
JP2004145422A 2004-05-14 2004-05-14 衝突検知方法及び衝突検知装置 Expired - Fee Related JP4383247B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004145422A JP4383247B2 (ja) 2004-05-14 2004-05-14 衝突検知方法及び衝突検知装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004145422A JP4383247B2 (ja) 2004-05-14 2004-05-14 衝突検知方法及び衝突検知装置

Publications (2)

Publication Number Publication Date
JP2005327125A JP2005327125A (ja) 2005-11-24
JP4383247B2 true JP4383247B2 (ja) 2009-12-16

Family

ID=35473434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004145422A Expired - Fee Related JP4383247B2 (ja) 2004-05-14 2004-05-14 衝突検知方法及び衝突検知装置

Country Status (1)

Country Link
JP (1) JP4383247B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719285B (zh) * 2009-12-28 2013-01-02 电子科技大学 一种多层次虚拟群体的避碰方法
CN102157008B (zh) * 2011-04-12 2014-08-06 电子科技大学 一种大规模虚拟人群实时绘制方法
JP6298130B2 (ja) * 2016-09-14 2018-03-20 株式会社バンダイナムコエンターテインメント シミュレーションシステム及びプログラム
CN110930521B (zh) * 2019-11-21 2023-05-19 哈尔滨理工大学 一种应用于虚拟手术中降维的动态碰撞检测方法及系统
CN113822961B (zh) * 2021-09-22 2024-04-26 广州博冠信息科技有限公司 对3d模型进行2d渲染的方法、装置、设备及介质

Also Published As

Publication number Publication date
JP2005327125A (ja) 2005-11-24

Similar Documents

Publication Publication Date Title
US6473083B1 (en) Computer graphics data generating apparatus, computer graphics animation editing apparatus, and animation path generating apparatus
JP4796194B1 (ja) カーソルの表示方法およびカーソルの表示プログラム
US20080030461A1 (en) Mixed reality presentation apparatus and control method thereof, and program
US8368714B2 (en) Curved surface rendering system and method
JP5666013B2 (ja) 物体のモデルの表面の欠陥を判断するための方法およびシステム
JP2004054590A (ja) 仮想空間描画表示装置、及び仮想空間描画表示方法
JP2009291540A (ja) 移動ロボットシステム
EP3629302B1 (en) Information processing apparatus, information processing method, and storage medium
Cosco et al. Visuo-haptic mixed reality with unobstructed tool-hand integration
EP0903697A2 (en) Cutting, joining and tearing volumetric objects related applications
KR100787952B1 (ko) 지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법과 장치,및 이를 이용한 햅틱 시스템
JP4803581B2 (ja) 景観解析方法とこの方法を実行するコンピュータプログラムおよびこのプログラムを格納した媒体
US6862560B1 (en) Machining simulation method and apparatus
JP2907105B2 (ja) 3次元表示装置
JP4383247B2 (ja) 衝突検知方法及び衝突検知装置
JP4390574B2 (ja) 複数のポリゴンから構成される3次元モデルを2次元平面に投影する際の陰線を消去する陰線処理方法
JP4204713B2 (ja) 三次元モデルの表示方法と、これを実現するプログラムが記憶されたコンピュータにより読み取り可能な記憶媒体
CN112634342A (zh) 在虚拟环境中对光学传感器进行计算机实现的仿真的方法
JP2007213437A (ja) 情報処理方法、情報処理装置
Andujar et al. Hand-based disocclusion for the world-in-miniature metaphor
KR0151483B1 (ko) 고속 레이 트레이싱 장치
KR20120063589A (ko) 컴퓨터 기반 가상 의료 훈련 환경에서 절개 처치를 시뮬레이션하기 위한 방법 및 장치 및 컴퓨터로 읽을 수 있는 기록 매체
Yang et al. Model-based 3d object tracking using an extended-extended Kalman filter and graphics rendered measurements
JP7455546B2 (ja) 画像処理装置、画像処理方法、及びプログラム
Buschmann et al. Challenges and approaches for the visualization of movement trajectories in 3D geovirtual environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090625

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090820

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090914

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090918

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

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131002

Year of fee payment: 4

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