JP4936522B2 - 画像処理方法、画像処理装置 - Google Patents

画像処理方法、画像処理装置 Download PDF

Info

Publication number
JP4936522B2
JP4936522B2 JP2006269017A JP2006269017A JP4936522B2 JP 4936522 B2 JP4936522 B2 JP 4936522B2 JP 2006269017 A JP2006269017 A JP 2006269017A JP 2006269017 A JP2006269017 A JP 2006269017A JP 4936522 B2 JP4936522 B2 JP 4936522B2
Authority
JP
Japan
Prior art keywords
polygon
virtual object
interference determination
group
image processing
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
JP2006269017A
Other languages
English (en)
Other versions
JP2008090498A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006269017A priority Critical patent/JP4936522B2/ja
Priority to US11/852,718 priority patent/US8576248B2/en
Priority to EP07116192A priority patent/EP1906361A3/en
Priority to CN2007101620035A priority patent/CN101154293B/zh
Publication of JP2008090498A publication Critical patent/JP2008090498A/ja
Application granted granted Critical
Publication of JP4936522B2 publication Critical patent/JP4936522B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Description

本発明は、3次元仮想物体同士の干渉判定技術に関するものである。
コンピュータハードウェア、ディスプレイ技術、グラフィックプロセッサ等の進歩により、高度なCG(Computer Graphics)表現が可能となってきている。それに伴い、CAD(Computer Aided Design)等の産業応用にもCGは使用されるようになり、CG映像の高機能化が進んでいる。そのようなCG技術において映像のリアリティだけではなく、より実世界に近い挙動を表現するために3次元オブジェクト間の物理的挙動や干渉状態の演算を行う干渉判定機能の重要性は、CG描画の性能が上がるにつれて重要視されてきている。
干渉判定機能は、3次元オブジェクトを近似した3次元多角形同士が埋没する等、現実的にありえない挙動を示すことがないように相互間で干渉が発生していないかを計算によって求める機能である。
このような干渉判定機能は、設計分野においてはCADデータを用いた製品の試作や、実機が未だ存在しない状態での仮想トレーニング、設計データの動作時に部品同士が干渉しないかの仮想動作検証試験等に使われている。エンターテインメント分野では、映画やゲーム等のCGオブジェクトの挙動をリアルにするために使用されている。またロボット分野では、障害回避を行うためのシミュレーションや、運動軌道生成のプロセスで使用される等、多種の分野での応用が期待されている。
この中でもリアルタイムな体験を呈示するシステムでは、CG描画と同期し、使用者の動きにインタラクティブに反応し、現実世界に則した動作をリアルタイムにCG描画に反映させることが体験者の没入感向上に重要な役割を果たしている。そのため、干渉機能の重要性は高い。係るシステムには特に、VR(Virtual Reality)やMR(Mixed Reality)がある。
従来の干渉判定技術は、基本的には3次元オブジェクトを3次元多面体で近似し、その表面を構成する複数の3次元ポリゴン(多角形)に分割し、分割されたポリゴンのすべての組み合わせについてポリゴン同士の干渉を判定するものである。この方法では、3次元多面体を構成するポリゴンの数をnとするとき、干渉判定を行うための計算コストはnで増加する。そのため、MRやVRなどのインタラクティブなシステムにおいて、CADなどで作成した詳細な3次元オブジェクトを実時間で干渉判定を伴ってCG描画させることは非常に困難となっている。
それに対処するため、3次元多角形に前処理を施すことにより、干渉判定に影響ない要素をあらかじめ除去する等して、高速化する手法等がある(非特許文献1を参照)。これらの方法は、すべてのポリゴンに対して干渉判定演算を行う必要をなくすことで、必要最小限のポリゴンのみで上記干渉判定演算を行い、これにより高速化を実現している。しかし、長いオブジェクト同士や穴の中にオブジェクトを通過させるときの干渉判定等、多くの面が同時に接触しうる場合には、前処理でポリゴンを大きく除去することができず、速度が低下する問題も含んでいる。
そこで、計算時間の低下を防ぐために3次元多面体のポリゴン数を削減したデータをあらかじめ作成する手法がとられることが多く、その方法としては以下のようなものがある
・ ポリゴンリダクション:3次元多面体を構成する頂点情報を最適化し、3次元多面体を再構成することによってポリゴン数を軽減する手法
・ 詳細度変更:ネジ等閾値以下の大きさの3次元多面体は除去する、閾値以下の直径の穴を除去する等の条件を与えることにより3次元オブジェクトの詳細度を落とし、詳細度の低い3次元多面体を別途作成することで、ポリゴン数を軽減する手法
Christer Ericson Real-Time Collision Detection、Morgan Kaufmann Publishing
従来の技術による干渉判定では、詳細度が高くポリゴン数の多い3次元オブジェクトに関してはリアルタイムには実行することができず、リアルタイムで動作させるときには詳細度を下げ、ポリゴン数を減らすことによって実行しているというのが現状である。
そのような干渉判定の機能において特にVRやMRなどのインタラクティブ性の高い分野では、CG描画は30Hz〜60Hzで動作していることが望ましい。更に、干渉判定によってCG描画の遅れを発生させることなく動作し、なおかつ使用者のインタラクティブな動作に応じたリアルタイム干渉判定も同時に必要とする。そのため、特に干渉判定演算の高速化が重要な課題となっている。
その中で従来技術を用いた干渉判定演算において課題となっている点は二つある。
・ ポリゴンリダクションや詳細度変更によって形状が変化してしまう。即ち、形状が変化してしまうことによって、CG描画された3次元多面体と干渉判定の結果に誤差が発生し、正確な干渉判定ができない。
・ 干渉判定用にCG描画用とは別のデータを作成する必要がある。即ち、ポリゴンリダクションや詳細度変更によってCG描画用とは異なるデータを別途作成する必要が発生し、データも別途メモリ上に読み込まなければならない。
本発明は以上の問題に鑑みてなされたものであり、仮想物体同士の干渉判定をより高速に、且つメモリ効率を低下させることなく行うための技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
即ち、3次元仮想物体同士の干渉判定処理を行う画像処理装置が行う画像処理方法であって、
前記画像処理装置の分割手段が、3次元仮想物体を構成する基本単位群を複数のグループに分割する分割工程と、
前記画像処理装置の選択手段が、前記複数のグループのうちいずれかを順次選択する選択工程と、
前記画像処理装置の干渉判定手段が、前記選択工程で選択したグループに属する基本単位を用いて、前記3次元仮想物体と該3次元仮想物体以外の3次元仮想物体との干渉判定処理を行う干渉判定工程と
を備え
前記分割工程では、1つのグループに属する基本単位の数が、1フレーム内で干渉判定処理が完了可能な基本単位数を超えないように、前記基本単位群を、複数のグループに分割する
ことを特徴とする。
本発明の構成により、仮想物体同士の干渉判定をより高速に、且つメモリ効率を低下させることなく行うことができる。
以下添付図面を参照して、本発明をその好適な実施形態に従って詳細に説明する。
[第1の実施形態]
本実施形態では、設計物を模した仮想物体(設計物仮想物体)が1以上配置された仮想空間内で、人の手を模した仮想物体(手仮想物体)を移動させる際に行う、手仮想物体と設計物仮想物体との干渉判定処理について説明する。しかし以下に説明する干渉判定処理は、手仮想物体、設計物仮想物体以外の任意の仮想物体同士の干渉判定処理についても同様に適用することができる。
図1は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。同図に示す如く、本実施形態に係る画像処理装置は、データ読み込み部110,ポリゴン判定部120,干渉判定部130,画像処理部140により構成されている。
先ず、データ読み込み部110について説明する。
データ読み込み部110は同図に示す如く、オブジェクトデータ読み込み部111とポリゴン列データ生成部112とで構成されている。
オブジェクトデータ読み込み部111は、各仮想物体(オブジェクト)の描画データを、不図示のメモリから読み出す。描画データとしては例えば、仮想物体をCADで作成することで作成されるCADデータがある。そしてオブジェクトデータ読み込み部111は読み出した各仮想物体の描画データを順次ポリゴン列データ生成部112に出力する。
ポリゴン列データ生成部112は、オブジェクトデータ読み込み部111から受けた各描画データを順次ポリゴン列データに変換する処理を行う。即ち、CADで作成された仮想物体をポリゴンで構成された仮想物体に再構成する。そしてポリゴン列データ112は各仮想物体のポリゴン列データ(仮想物体を構成するポリゴン列のデータ)を、後段のポリゴン判定部120と画像処理部140とに出力する。
図3は、1つの仮想物体についてポリゴン列データ生成部112が作成したポリゴン列データの構成例を示す図である。同図において301はポリゴン列データ全体を示している。
領域302内の各列には、各ポリゴンの各頂点の座標値が登録されている。尚、各列(各頂点)に対しては固有の番号(頂点インデックス)が付けられているものとする。例えば、最上位の列から下方の列に向かって順に頂点インデックス1,2,3,…が付けられている。
領域303内の各列には、1つのポリゴンを構成している各頂点の頂点インデックスが登録されている。例えば「2003,2007,2008,−1」は、頂点インデックスが2003の頂点、頂点インデックスが2007の頂点、頂点インデックスが2008の頂点、の3つの頂点で構成されたポリゴンを定義している。尚、各列(各ポリゴン)に対しては固有の番号(ポリゴンインデックス)が付けられているものとする。例えば、最上位の列から下方の列に向かって順にポリゴンインデックス1,2,3,…が付けられている。
なお、仮想物体が予めポリゴンでもって構成されている場合には、オブジェクトデータ読み込み部111は図3に例示したポリゴン列データを仮想物体毎に読み込むことになるので、この場合、ポリゴンデータ列生成部112は不要となる。
次に、ポリゴン判定部120について説明する。ポリゴン判定部120は、無効化率関数設定部121、ヒストグラム生成部123、ポリゴン選択部125により構成されている。
以下では、1つの仮想物体についてのポリゴン列データがポリゴン判定部120に入力された場合における、ポリゴン判定部120の動作について説明する。しかし、実際には複数の仮想物体のそれぞれについてのポリゴン列データがポリゴン判定部120に入力されるので、その場合には、それぞれの仮想物体のポリゴン列データについてポリゴン判定部120は、以下説明する処理を行うことになる。
ヒストグラム生成部123はポリゴン列データを受けると先ず、このポリゴン列データに登録されている各ポリゴンの面積を求める。ここで係る処理についてより詳細に説明する。
上述の通り、1つのポリゴンを構成する各頂点の頂点インデックスは領域303内に記されているし、各頂点インデックスに対応する頂点の座標値は領域302内に記されている。そこで先ずヒストグラム生成部123は、領域303内の各列を順次参照し、参照した列に登録されている各頂点インデックスに対応する頂点の座標値を領域302から取得する。例えば領域303内で参照した列に登録されている頂点インデックスが「1,2,3,−1」である場合、ヒストグラム生成部123は頂点インデックス1の頂点座標値、頂点インデックス2の頂点座標値、頂点インデックス3の頂点座標値を領域302から取得する。
そして3頂点の座標値が得らるとヒストグラム生成部123は、この3頂点で構成されているポリゴン(三角形)の面積を求める。3点の座標値が既知である場合に、この3点を頂点とする三角形の面積を求める為の計算については周知であるので、係る処理に関する説明は省略する。そしてヒストグラム生成部123は、面積を求めたポリゴンのポリゴンインデックスと、この面積と、を関連付けて面積テーブルに登録する。この面積テーブルについては後述する。
このようにしてヒストグラム生成部123は、領域303内の各列を参照する毎に、参照した列に登録されている3つのインデックスに対応する3頂点の座標値を領域302から得、得た3頂点の座標値を用いて対応するポリゴンの面積を求める。これにより、ポリゴン列データに登録されている全てのポリゴンについて、その面積を求めることができる。なお、係る目的が達成されるのであれば、ポリゴン列データの構造やヒストグラム生成部123が行う処理については以上説明したものに限定しない。例えば、ポリゴン列データ内に予め各ポリゴンの面積を登録しておいても良い。この場合、ヒストグラム生成部123による各ポリゴンの面積計算処理は省略することができる。
次にヒストグラム生成部123は、計算した各ポリゴンの面積のヒストグラムを作成する。図4は、作成したヒストグラムの一例を示す図である。同図において横軸はポリゴンの面積を示し、縦軸は頻度(分布)を示す。
同図において区間401内には、ネジのような微小な部品を構成する面積の小さいポリゴンが多数分布している。区間402内には、センサ部品のような比較的小さい部品を構成するポリゴンが分布している。そして区間403内には天板、パネル等、手仮想物体よりも大きいポリゴンが分布しているものとする。
そしてヒストグラム生成部123はこのようにして作成したヒストグラムを表示装置などの画面上に対して出力する。これにより、本装置のユーザは、このヒストグラムにおいてどの区間にどのようなポリゴンが含まれているのかを、事前に把握することができる。従ってユーザは、各区間の区切りをこのヒストグラムを見て予め調べ、調べた区切りを閾値として予め設定する。係る設定入力は無効化率関数設定部121によって受け付ける。例えば図4では、区切り411におけるポリゴン面積を閾値1、区切り412におけるポリゴン面積を閾値2として設定されている。
もちろん、係る設定はユーザ入力以外にも、無効化率関数設定部121が行うようにしても良い。例えば、ヒストグラムにおいて面積の最大と最小との間を単純に3等分するように閾値を2つ設定しても良いし、手仮想物体の面積を閾値として1つのみ設定しても良い。本実施形態では、ユーザが上記閾値1,閾値2を設定したものとして説明するが、以下の説明は、無効化率関数設定部121が設定した閾値を用いても同様である。
次に無効化率関数設定部121は、閾値1未満の面積を有するポリゴンが属するグループ(グループ1)、閾値1以上閾値2未満の面積を有するポリゴンが属するグループ(グループ2)、閾値2以上の面積を有するポリゴンが属するグループ(グループ3)、のそれぞれのグループについて、無効化率を設定する。無効化率とは、グループ内に属するポリゴンのうち干渉判定で用いないポリゴンの割合を示すものであり、グループ毎に設定するものである。
図5は、各グループについて設定した無効化率のグラフを示す図である。同図において横軸はポリゴンの面積を示し、縦軸は無効化率を示す。
同図に示した無効化率では、区間401に含まれる面積を有するポリゴンのグループ(グループ1)については50%よりも大きい無効化率(例えば70%)を与えている。区間402に含まれる面積を有するポリゴンのグループ(グループ2)については50%の無効化率を与えている。区間403に含まれる面積を有するポリゴンのグループ(グループ3)については、限りなく0%に近い無効化率を与えている。
ここで、各グループについて設定する無効化率について説明する。ここで例えば区切り412におけるポリゴン面積が、上記手仮想物体の面積を示すものであるとする。この場合、手仮想物体の面積よりも大きいポリゴン、即ち区間403に含まれる面積を有するポリゴンを干渉判定処理の対象から外すと、手仮想物体がこのポリゴンを貫通する可能性がある。そのため、区間403に含まれる面積を有するポリゴンについてはほぼ全てを干渉判定処理の対象とすべく、区間403(グループ3)に対しては無効化率を0%に近い値とする。
区間402内に含まれる面積を有するポリゴン、即ち、センサ部品等の比較的小さいものの動作検証等の作業においては欠くべからざる部品を構成するポリゴンは、手仮想物体の面積よりも十分に小さい。従って、係るポリゴンを含む仮想物体の形状をできるだけ損なうことなく、係るポリゴンのうち幾分かは干渉判定処理の対象外とするために、区間402(グループ2)については無効化率を50%とする。
区間401内に含まれる面積を有するポリゴン、即ち、ネジのような微細な部品群を構成するポリゴンについては、形状を損なったとしても十分に干渉判定の精度を保つことができると思われる。従って、区間401(グループ1)については無効化率を50%以上、例えば75%とする。このように、高い無効化率を設定した区間に含まれる面積を有するポリゴンについてはあまり干渉判定処理には使用しないので、干渉判定処理をより高速に行うことができる。
以上の処理によって、各グループに対して無効化率を設定することができる。これにより、以降では、グループ内の全てのポリゴンのうち干渉判定処理に用いるポリゴンをどのような割合で選択するのかを、このグループについて設定された無効化率に基づいて決定することができる。
なお、1つの仮想物体を構成する各ポリゴンを、その面積に応じて幾つかのグループに分類し、その幾つかのグループのそれぞれについて無効化率を設定する方法については様々な方法があり、何れかの特定の方法に限定するものではない。もちろん、各グループに対して設定する無効化率についても特定の値に限定するものではない。図6は、図5に示したグラフ上に、図4に示したヒストグラムを重ねた図である。
そして次にポリゴン選択部125は、ポリゴン列データから、干渉判定処理に用いるポリゴンのデータを選択する処理を行う。即ちポリゴン選択部125は、グループ1に含まれている面積を有するポリゴン群については、グループ1について設定された無効化率に基づいて、干渉判定処理に用いるポリゴンを選択する。また、グループ2に含まれている面積を有するポリゴン群については、グループ2について設定された無効化率に基づいて、干渉判定処理に用いるポリゴンを選択する。また、グループ3に含まれている面積を有するポリゴン群については、グループ3について設定された無効化率に基づいて、干渉判定処理に用いるポリゴンを選択する。
ポリゴン選択部125の動作の一例について具体例を挙げて説明する。ポリゴン選択部125は先ず上記面積テーブルを参照し、閾値1未満の面積と関連付けられているポリゴンインデックスを全て読み出す。読み出したポリゴンインデックスの数が10個であるとする。そして読み出した10個のポリゴンインデックスのうち、グループ1について設定された無効化率(70%とする)の分の数(=7)を除いた3個のポリゴンインデックスを選択する。選択パターンについては特に限定しない。そして選択したポリゴンインデックスを有するポリゴンを構成する各頂点の座標値は領域302内に記されているので、ポリゴン選択部125は、この選択したポリゴンインデックスを有するポリゴンを構成する各頂点の座標値を領域302から取得する。そして取得した各頂点の座標値を後段の干渉判定部130に送出する。
次にポリゴン選択部125は上記面積テーブルを参照し、閾値1以上閾値2未満の面積と関連付けられているポリゴンインデックスを全て読み出す。読み出したポリゴンインデックスの数が20個であるとする。そして読み出した20個のポリゴンインデックスのうち、グループ2について設定された無効化率(50%とする)の分の数(=10)を除いた10個のポリゴンインデックスを選択する。選択パターンについては特に限定しない。そして選択したポリゴンインデックスを有するポリゴンを構成する各頂点の座標値は領域302内に記されているので、ポリゴン選択部125は、この選択したポリゴンインデックスを有するポリゴンを構成する各頂点の座標値を領域302から取得する。そして取得した各頂点の座標値を後段の干渉判定部130に送出する。
次にポリゴン選択部125は上記面積テーブルを参照し、閾値2以上の面積と関連付けられているポリゴンインデックスを全て読み出す。読み出したポリゴンインデックスの数が6個であるとする。そして読み出した6個のポリゴンインデックスのうち、グループ3について設定された無効化率(0%とする)の分の数(=0)を除いた6個のポリゴンインデックスを選択する。選択パターンについては特に限定しない。そして選択したポリゴンインデックスを有するポリゴンを構成する各頂点の座標値は領域302内に記されているので、ポリゴン選択部125は、この選択したポリゴンインデックスを有するポリゴンを構成する各頂点の座標値を領域302から取得する。そして取得した各頂点の座標値を後段の干渉判定部130に送出する。
以上の処理により、各グループに含まれているポリゴンを、各グループについて設定された無効化率に基づいて選択することができる。しかもこの無効化率は、各グループに含まれるポリゴンが、手仮想物体の面積に対してどのような関係にあるのかを反映したものである。従って、係る無効化率を用いて選択したポリゴンを用いて干渉判定処理を行うことで、仮想物体全体の形状は尊重しつつ、干渉判定処理をより高速に行うべく、干渉判定処理に用いるポリゴン数を削減させることができる。
そしてポリゴン判定部120は以上の処理を行うことで、1つの仮想物体を構成するポリゴン群のうち、干渉判定処理に用いるポリゴンを選択し、選択したポリゴンを構成する各頂点の座標値を干渉判定部130に送出することができる。
次に、干渉判定部130について説明する。干渉判定部130は、各仮想物体について、干渉判定処理で用いるポリゴンの各頂点の座標値を受けると、これらを用いて仮想物体同士の干渉判定処理を行う。本実施形態では、手仮想物体と設計物仮想物体との干渉判定処理を行う。干渉判定の結果は画像処理部140に対して出力する。
次に画像処理部140について説明する。同図に示す如く、画像処理部140は、画像生成部141と描画部142とで構成されている。画像生成部141は、ポリゴン列データ生成部112から各仮想物体についてのポリゴン列データを受けると、これらを用いて各仮想物体を構築する。ポリゴン列データに基づいて仮想物体を構築する処理については周知の技術である。そして構築した各仮想物体を仮想空間中の与えられた位置姿勢でもって配置する。尚、その際、干渉判定部130から手仮想物体と干渉したと判定された設計物仮想物体については例えば干渉した箇所の表示を変更させたり、手仮想物体の移動方向にはじき飛ばすなど、その位置姿勢を変更したりしても良い。
描画部142は、このような仮想空間を、与えられた位置姿勢を有する視点から見た画像を生成する。所定の位置姿勢を有する視点から見た仮想空間の画像を生成する為の技術については周知の技術である。
この描画した仮想空間の画像は、不図示の表示装置に送出する。
図2は、以上説明した一連の干渉判定処理のフローチャートである。
先ずステップS201では、オブジェクトデータ読み込み部111が、各仮想物体の描画データを、不図示のメモリから読み出す。そしてオブジェクトデータ読み込み部111は読み出した各仮想物体の描画データを順次ポリゴン列データ生成部112に出力する。
ステップS202では、ポリゴン列データ生成部112は、オブジェクトデータ読み込み部111から受けた各描画データを順次ポリゴン列データに変換する処理を行う。そしてポリゴン列データ生成部112は各仮想物体のポリゴン列データを、後段のポリゴン判定部120と画像処理部140とに出力する。
ステップS203では、以降の処理で登場する無効化率が、ポリゴンの面積に基づいて決まるものであるという条件Aを設定する。係る設定は予め行うようにしても良い。また、条件Aは仮想物体毎に設定しても良い。
次にステップS204では先ず、ヒストグラム生成部123はポリゴン列データに登録されている各ポリゴンの面積を求める。そしてヒストグラム生成部123は、面積を求めたポリゴンのポリゴンインデックスと、この面積と、を関連付けて面積テーブルに登録する。次にヒストグラム生成部123は、計算した各ポリゴンの面積のヒストグラムを作成し、表示装置などの画面上に対して出力する。これによりユーザからは閾値1,閾値2が設定されるので、自動的にグループ1〜3が決定する。無効化率関数設定部121は、グループ1〜3のそれぞれのグループについて、無効化率を設定する。
次にステップS207では、ポリゴン選択部125は、ポリゴン列データから、干渉判定処理に用いるポリゴンのデータを選択する処理を行う。即ちポリゴン選択部125は、グループ1に含まれている面積を有するポリゴン群については、グループ1について設定された無効化率で、干渉判定処理に用いるポリゴンを選択する。また、グループ2に含まれている面積を有するポリゴン群については、グループ2について設定された無効化率で、干渉判定処理に用いるポリゴンを選択する。また、グループ3に含まれている面積を有するポリゴン群については、グループ3について設定された無効化率で、干渉判定処理に用いるポリゴンを選択する。例えば、まずある一つのポリゴンを選択し、その辺が接するポリゴンを非選択(若しくは選択)し、点が接するポリゴンを非選択(若しくは選択)する。
ステップS210では、干渉判定部130は、各仮想物体について、干渉判定処理で用いるポリゴンの各頂点の座標値を受けると、これらを用いて仮想物体同士の干渉判定処理を行う。干渉判定の結果は画像処理部140に対して出力する。
次に、上記条件Aが変更された場合には処理をステップS203に戻すのであるが、変更されていない場合には処理をステップS212に進める。本処理を終了する指示が入力されたり、終了する条件が満たされない限りは処理はステップS212を介してステップS210に戻す。
以上の説明により、本実施形態では、ポリゴンリダクションや詳細度変更などの従来のポリゴン除去技術と同様に、ポリゴン数を減少することで高速な干渉判定を行うことが可能となる。
以上説明した本実施形態が従来技術に対して有用な点は次の通りである。即ち、他の手法では3次元多角形の形状そのものが変更されてしまうため、CG描画で使われる3次元多面体と結果が一致しない。しかし本実施形態では、ポリゴン列データ内での頂点情報を失うことなく面情報のみを干渉判定処理において無視する。そのため、頂点は完全にCG描画で使用され、3次元多面体と同一の形状を保つことができる。また、それによって干渉判定用とCG描画用とで別のデータを作成する必要がなく、CG描画用のデータをそのまま干渉判定に用いることができるので、メモリ効率を向上させることができる。
加えて、最大無効化率を50%とした場合には、その領域においてポリゴンを交互に除去することにより、ポリゴンを除去しても3次元多面体における線分情報も保持されることとなる利点を持つ。
また、CG描画処理においては、同様の手法でポリゴンを無視すると隠蔽問題で視覚的に矛盾が生じるため正常な描画結果を得ることはできない。しかし、干渉判定においては視覚的に見える必要がないので、干渉対象がある程度以上の大きさの場合、ネジのような微細な部品における面積の小さいポリゴンは間引いて無視しても十分な精度で干渉結果を得ることができる。
上記の効果により、3次元オブジェクトの形状や作業の内容に応じて自由に無効化率を設定することにより、作業者の希望に応じた仮想体験を干渉判定も行いながらリアルに体験することができる。
なお、本実施形態では、閾値は予め設定されたものとして説明したが、適宜編集することができるようにしても良い。
[第2の実施形態]
本実施形態では上記条件Aとして、手仮想物体と各設計物仮想物体との相対速度を用いる。本実施形態に係る画像処理装置の機能構成は図1に示したものを用いる。
本実施形態ではヒストグラム生成部123は、手仮想物体を移動させた場合にこの手仮想物体と他の各設計物仮想物体との間の相対速度を求める。そしてそれぞれの設計物仮想物体に対して求めた相対速度のヒストグラムを作成する。そしてヒストグラム生成部123はこのようにして作成したヒストグラムを表示装置などの画面上に対して出力する。これにより本装置のユーザは、このヒストグラムを見ることで、手仮想物体が各設計物仮想物体に対してどのような相対速度で移動しているのかを把握することができる。そしてユーザは、相対速度に対する閾値を1以上設定する。係る設定入力は無効化率関数設定部121によって受け付ける。もちろん、係る設定はユーザ入力以外にも、無効化率関数設定部121が行うようにしても良い。本実施形態では、ユーザが閾値1,閾値2を設定したものとして説明するが、以下の説明は、無効化率関数設定部121が設定した閾値を用いても同様である。
次に無効化率関数設定部121は、手仮想物体との相対速度が閾値1未満である設計物仮想物体が属するグループ(グループ1)、手仮想物体との相対速度が閾値1以上閾値2未満である設計物仮想物体が属するグループ(グループ2)、手仮想物体との相対速度が閾値2以上である設計物仮想物体が属するグループ(グループ3)、のそれぞれのグループについて、無効化率を設定する。本実施形態における無効化率とは、グループ内に属する設計物仮想物体を構成するポリゴンのうち干渉判定で用いないポリゴンの割合を示すものであり、グループ毎に設定するものである。
図7は、各グループについて設定した無効化率のグラフに、手仮想物体と各設計物仮想物体との相対速度のヒストグラムとを重ね合わせたものを示す図である。同図において横軸は手仮想物体と各設計物仮想物体との相対速度を示し、縦軸は無効化率と分布とを示す。
同図において601は、手仮想物体との相対速度が閾値1未満である区間である。602は、手仮想物体との相対速度が閾値1以上閾値2未満である区間である。603は、手仮想物体との相対速度が閾値2以上である区間である。
同図に示した無効化率では、区間601に含まれる設計物仮想物体については限りなく0%に近い無効化率を与えている。区間602に含まれる設計物仮想物体については50%の無効化率を与えている。区間603に含まれる設計物仮想物体については、50%よりも大きい無効化率(例えば70%)を与えている。
ここで、各グループについて設定する無効化率について説明する。仮想動作検証試験において、検査を行いたい領域にすばやく移動させるといった場合には、精密な検査を行っておらず、動作の追従性(高速動作性)が大きく重要視される。手仮想物体が高速で移動している場合、手仮想物体と設計物仮想物体との相対速度の分布710は同図右の方に移動することになる。従ってこのような場合には、区間603に対しては50%を超える高い無効化率を設定することで、高速動作している3次元多面体間の干渉処理を高速に行う。
一方、仮想動作検証試験において、領域に近づき詳細な動作検証を行っている場合には、手仮想物体と設計物仮想物体との相対速度は遅くなる。手仮想物体が低速で移動している場合、手仮想物体と設計物仮想物体との相対速度の分布710は図8に示す如く左の方に移動することになる。図8は、図7における分布710が左の方に移動した様子を示す図である。従ってこのような場合には、区間602に対しては50%の無効化率を設定し、仮想物体の形状を損なうことなくポリゴン数を半減したデータを用いて詳細な干渉判定を行う。
また、区間601については、相対速度はより遅くなり、より詳細な動作検証を行っていることになる。従ってこのような場合には、区間601に対しては限りなく0%に近い無効化率を設定する。
以上の処理によれば、各設計物仮想物体について、無効化率を設定することができる。なお、設計物仮想物体を構成する全てのポリゴンのうち、どの割合の数のポリゴンを干渉判定に用いるのかについては第1の実施形態と同様に、この設計物仮想物体について設定された無効化率に基づいて決定する。
また、本実施形態に係る処理のフローチャートは基本的には図2に示したものと同じであるが以下の点が異なる。即ち、ステップS203では、以降の処理で登場する無効化率が、手仮想物体との相対速度に基づいて決まるものであるという条件Aを設定する。
次にステップS204では先ず、ヒストグラム生成部123は手仮想物体と各設計物仮想物体との相対速度を求める。そしてヒストグラム生成部123は、計算した各相対速度のヒストグラムを作成し、表示装置などの画面上に対して出力する。これによりユーザからは閾値1,閾値2が設定されるので、自動的にグループ1〜3が決定する。無効化率関数設定部121は、グループ1〜3のそれぞれのグループについて、無効化率を設定する。
また、第1の実施形態と第2の実施形態とを適宜組み合わせても良い。即ち、ある設計物仮想物体について干渉判定処理に用いるポリゴンを選択するためには第1の実施形態を適用する。また、別の設計物仮想物体について干渉判定処理に用いるポリゴンを選択するためには第2の実施形態を適用する。これによれば、条件に応じて干渉判定対象ポリゴンを選択する基準を変更することができるため、簡易に現存する他の干渉判定演算装置に実装することができる。
[第3の実施形態]
本実施形態では、1フレーム内で仮想物体同士の干渉判定を行う際に用いるポリゴンの数を削減する。そのために本実施形態では、1つの仮想物体を構成するポリゴンをm個のグループに分割し、1フレーム内で干渉判定に用いるポリゴンは、何れか1つのグループに含まれるものを用いる。即ち、1つのフレーム内では1つのグループに含まれるポリゴンを用いて干渉判定処理を行、次のフレームではまた別のグループに含まれるポリゴンを用いて干渉判定処理を行う。
また、1つのグループに含まれているポリゴン数は、1フレーム内で干渉判定処理が終了することができるような数である。もちろんこの数は、干渉判定処理を行う装置の処理速度に応じて異なることになる。なお、本実施形態に係る画像処理装置の機能構成は、図1に示した構成において、無効化率関数設定部121、ヒストグラム生成部123を省いた構成となる。
図9は、m=2の場合について、本実施形態を説明する図である。図9において図3と同じものについては同じ番号を付けており、その説明は省略する。
領域303内の各列は、斜線で示されている列と、斜線が付けられていない列の2つ(=m)のグループに分割されている。同図において901は、領域303内の全ての列に記されているポリゴンを用いて構成されている仮想物体を示す。902は、領域303内の斜線で示されている列に記されているポリゴンのみを用いて構成されている仮想物体を示す。903は、領域303内の斜線で示されていない列に記されているポリゴンのみを用いて構成されている仮想物体を示す。仮想物体902,903において斜線で示している部分にはポリゴンが配置されており、斜線で示していない空白の部分についてはポリゴンは配置されていない。即ち、仮想物体902で使用しているポリゴンは仮想物体903では使用していないし、逆に、仮想物体903で使用しているポリゴンは仮想物体902では使用していない。
そして、各フレームにおいて仮想物体901を描画すると共に、仮想物体901との干渉判定を行う場合には、フレーム毎に仮想物体902、仮想物体903を交互に用いる。従ってこの場合、2フレームで、仮想物体901を構成する全てのポリゴンを用いた干渉判定処理を行うことができる。
もちろん上述の通り、グループの数mは2以外となることもある。即ち、グループ数mは、例えば仮想空間画像の描画レートが30Hzである場合、約33m秒で干渉判定が完了可能なポリゴン数で、仮想物体を構成する全てのポリゴン数を割った結果(小数点以下を切り上げた整数値)である。従ってこの場合、mフレームで、仮想物体901を構成する全てのポリゴンを用いた干渉判定処理を行うことができる。なお、領域303内の各列をm個のグループに分割する方法については上記選択パターンと同様、特に限定するものではない。
以上説明した処理を行うために、本実施形態に係る画像処理装置は以下のような動作を行う。データ読み込み部110は第1の実施形態と同様の処理を行う。ポリゴン選択部125はポリゴン列データを参照し、領域303内の各列をm個のグループに分割する。係る分割は予め行うようにしても良い。そして分割したグループのうち、現フレームで用いるグループを1つ選択する。そして選択したグループに含まれている列に登録されている各頂点の頂点インデックスに対応する頂点座標値を領域302から取得し、干渉判定部130に出力する。
図10A、10Bは、仮想空間画像の描画と、これと並行して行われる干渉判定処理とのタイムチャートを示す図である。同図において横軸は時間を示す。
図10Aにおいて1001、1002は仮想物体901の描画期間を示しており、1011は仮想物体901との干渉判定処理を行う期間を示している。従来では図10Aに示す如く、期間1001,1002よりも期間1011の方が一般的には長い。従って同図に示す如く、仮想物体901の描画はタイミング1020の時点で終わっているものの、干渉判定処理はそれよりもずっと後のタイミング1021で終わることになる。そのため、「wait」で示す期間(期間1001の終了タイミングと期間1011の終了タイミングとの間の期間)だけ次のフレームの描画(期間1002における描画)が遅れることになる。このような遅れにより、リアルタイムな体験を著しく妨げることとなる。
従って本実施形態では図10Bに示す如く、タイミング1020の時点で仮想物体901の干渉判定処理が完了するようなポリゴン数(同図ではオリジナルの半分)で構成された仮想物体902を用いて干渉判定処理を行う。そして次のフレームでは、タイミング1021の時点で仮想物体901の干渉判定処理が完了するようなポリゴン数(同図ではオリジナルの半分)で構成された仮想物体903を用いて干渉判定処理を行う。これにより、1フレーム(同図ではタイミング1020からタイミング1021の間)内で描画処理と干渉判定処理の両方を完了させることができる。そしてこれにより、描画レートを妨げることなく干渉判定処理を行うことができる。
また、上述の通り、mフレームで1つの仮想物体を構成する全てのポリゴンについての干渉判定処理を行うことができるので、mフレーム毎に干渉判定結果を出力するようにしても良い。
なお、本実施形態において、選択したポリゴンを用いて仮想物体を構築する為の処理については第1の実施形態と同様である。
[第4の実施形態]
本実施形態では仮想空間画像の描画を行う装置と、第3の実施形態で説明した干渉判定処理を行う装置とを別個に用意し、それぞれを並行して動作させる場合について説明する。更に、グループ数をmとすると、干渉判定処理を行う装置はm台用意し、1台の装置に1つのグループを担当させる。以下では例としてm=2の場合について説明する。
図11は、m=2の場合における各装置における処理のタイムチャートを示す図である。仮想空間画像の描画を行う装置(CG描画用PC)は、仮想空間画像の描画を1001で示す期間内で行う。第3の実施形態で説明した干渉判定処理を行う装置は2台用意され、一方は干渉判定用PC1,他方は干渉判定用PC2とする。
干渉判定用PC1は期間1101内で仮想物体902を用いて干渉判定処理を行う。干渉判定用PC2は期間1102内で仮想物体903を用いて干渉判定処理を行う。何れの期間1101,1102も期間1001の終了タイミング1105よりも前に終了するので、1フレーム内で描画処理と、2つの干渉判定処理を完了させることができる。
そして、干渉判定部130は、干渉判定用PC1からの干渉判定処理結果と干渉判定用PC2からの干渉判定結果の両方を参照し、干渉があったか否かをチェックする。これにより、描画レートを落とすことなく、仮想物体を構成している全てのポリゴンについての干渉判定処理を行うことができる。
なお、上記各装置に分散させた処理を、1つの装置内で並行して行うようにしても良い。
[第5の実施形態]
図1に示した各部の一部若しくは全部をソフトウェアでもって実現し、残りをハードウェアでもって実現しても良い。この場合、例えば、このハードウェアをパーソナルコンピュータに挿入可能な機能拡張カードとして実現し、この機能拡張カードをパーソナルコンピュータに挿入する。また、このソフトウェアは、このパーソナルコンピュータが有するメモリ上に格納する。係る構成によれば、パーソナルコンピュータが有するCPUがこのソフトウェアを実行すると共に、この機能拡張カードの動作制御をも行うことにより、第1の実施形態で説明した処理(図2のフローチャートに従った処理)と同様の処理を行うことができる。
図12は、このコンピュータのハードウェア構成を示すブロック図である。
1401はCPUで、RAM1402やROM1403に格納されているプログラムやデータを用いて本コンピュータ全体の制御を行う。
1402はRAMで、外部記憶装置1406からロードされたプログラムやデータ、I/F(インターフェース)1407を介して外部から受信したプログラムやデータを一時的に記憶するためのエリアを有する。更には、CPU1401が各種の処理を実行する際に用いるワークエリアも有する。即ち、RAM1402は各種のエリアを適宜提供することができる。
1403はROMで、本コンピュータの設定データやブートプログラムなどを格納する。
1404は操作部で、キーボードやマウスなどにより構成されており、本コンピュータの操作者が操作することで、各種の指示をCPU1401に対して入力することができる。
1405は表示部で、CRTや液晶画面などにより構成されており、CPU1401による処理結果を画像や文字などでもって表示することができる。
1406は外部記憶装置で、ハードディスクなどに代表される大容量情報記憶装置であって、ここにはOS(オペレーティングシステム)や、本コンピュータが行う各種の処理をCPU1401に実行させるためのプログラムやデータ等が保存される。このプログラムやデータには、上記ソフトウェアや、機能拡張カード1408の動作制御プログラムなども含まれる。また、外部記憶装置1406には、各仮想物体についての上記ポリゴン列データや、I/F1407を介して外部から受信したプログラムやデータも保存される。
外部記憶装置1406に保存されている各種の情報はCPU1401による制御に従って適宜RAM1402にロードされる。そしてCPU1401がこのロードされたプログラムやデータを用いて処理を実行することにより、本コンピュータは上記各実施形態で説明した干渉判定処理を実行することができる。
1407はI/Fで、本コンピュータをLANやインターネット等のネットワークに接続するためのものである。
1408は機能拡張カードで、例えば、仮想物体の描画処理や干渉判定処理の一部若しくは全部を行う処理ボードである。
1409は上述の各部を繋ぐバスである。
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
本発明の第1の実施形態に係る画像処理装置の機能構成を示すブロック図である。 干渉判定処理のフローチャートである。 1つの仮想物体についてポリゴン列データ生成部112が作成したポリゴン列データの構成例を示す図である。 作成したヒストグラムの一例を示す図である。 各グループについて設定した無効化率のグラフを示す図である。 図5に示したグラフ上に、図4に示したヒストグラムを重ねた図である。 各グループについて設定した無効化率のグラフに、手仮想物体と各設計物仮想物体との相対速度のヒストグラムとを重ね合わせたものを示す図である。 図7における分布710が左の方に移動した様子を示す図である。 m=2の場合について、本発明の第3の実施形態を説明する図である。 仮想空間画像の描画と、これと並行して行われる干渉判定処理とのタイムチャートを示す図である。 仮想空間画像の描画と、これと並行して行われる干渉判定処理とのタイムチャートを示す図である。 m=2の場合における各装置における処理のタイムチャートを示す図である。 コンピュータのハードウェア構成を示すブロック図である。

Claims (5)

  1. 3次元仮想物体同士の干渉判定処理を行う画像処理装置が行う画像処理方法であって、
    前記画像処理装置の分割手段が、3次元仮想物体を構成する基本単位群を複数のグループに分割する分割工程と、
    前記画像処理装置の選択手段が、前記複数のグループのうちいずれかを順次選択する選択工程と、
    前記画像処理装置の干渉判定手段が、前記選択工程で選択したグループに属する基本単位を用いて、前記3次元仮想物体と該3次元仮想物体以外の3次元仮想物体との干渉判定処理を行う干渉判定工程と
    を備え
    前記分割工程では、1つのグループに属する基本単位の数が、1フレーム内で干渉判定処理が完了可能な基本単位数を超えないように、前記基本単位群を、複数のグループに分割する
    ことを特徴とする画像処理方法。
  2. 前記選択工程では、フレームごとに異なるグループを選択することを特徴とする請求項1に記載の画像処理方法。
  3. 3次元仮想物体同士の干渉判定処理を行う画像処理装置であって、
    3次元仮想物体を構成する基本単位群を複数のグループに分割する分割手段と、
    前記複数のグループのうちいずれかを順次選択する選択手段と、
    前記選択手段が選択したグループに属する基本単位を用いて、前記3次元仮想物体と該3次元仮想物体以外の3次元仮想物体との干渉判定処理を行う干渉判定手段と
    を備え
    前記分割手段は、1つのグループに属する基本単位の数が、1フレーム内で干渉判定処理が完了可能な基本単位数を超えないように、前記基本単位群を、複数のグループに分割する
    ことを特徴とする画像処理装置。
  4. コンピュータに請求項1又は2に記載の画像処理方法を実行させるためのプログラム。
  5. 請求項に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
JP2006269017A 2006-09-29 2006-09-29 画像処理方法、画像処理装置 Expired - Fee Related JP4936522B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006269017A JP4936522B2 (ja) 2006-09-29 2006-09-29 画像処理方法、画像処理装置
US11/852,718 US8576248B2 (en) 2006-09-29 2007-09-10 Image processing method and image processing apparatus
EP07116192A EP1906361A3 (en) 2006-09-29 2007-09-12 Image processing method and image processing apparatus
CN2007101620035A CN101154293B (zh) 2006-09-29 2007-09-29 图像处理方法和图像处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006269017A JP4936522B2 (ja) 2006-09-29 2006-09-29 画像処理方法、画像処理装置

Publications (2)

Publication Number Publication Date
JP2008090498A JP2008090498A (ja) 2008-04-17
JP4936522B2 true JP4936522B2 (ja) 2012-05-23

Family

ID=38831430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006269017A Expired - Fee Related JP4936522B2 (ja) 2006-09-29 2006-09-29 画像処理方法、画像処理装置

Country Status (4)

Country Link
US (1) US8576248B2 (ja)
EP (1) EP1906361A3 (ja)
JP (1) JP4936522B2 (ja)
CN (1) CN101154293B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10629003B2 (en) 2013-03-11 2020-04-21 Magic Leap, Inc. System and method for augmented and virtual reality
US9417452B2 (en) 2013-03-15 2016-08-16 Magic Leap, Inc. Display system and method
US9836874B2 (en) * 2015-01-27 2017-12-05 Splunk Inc. Efficient polygon-clipping technique to reduce data transfer requirements for a viewport
US10026204B2 (en) 2015-01-27 2018-07-17 Splunk Inc. Efficient point-in-polygon indexing technique for processing queries over geographic data sets
US9916326B2 (en) 2015-01-27 2018-03-13 Splunk, Inc. Efficient point-in-polygon indexing technique for facilitating geofencing operations
US9607414B2 (en) 2015-01-27 2017-03-28 Splunk Inc. Three-dimensional point-in-polygon operation to facilitate displaying three-dimensional structures
US11170565B2 (en) 2018-08-31 2021-11-09 Magic Leap, Inc. Spatially-resolved dynamic dimming for augmented reality device
CN112015272B (zh) * 2020-03-10 2022-03-25 北京欧倍尔软件技术开发有限公司 虚拟现实系统及虚拟现实对象控制装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675720A (en) 1993-09-14 1997-10-07 Fujitsu Limited Method of searching for points of closest approach, and preprocessing method therefor
JP2820894B2 (ja) * 1994-09-02 1998-11-05 富士通株式会社 干渉チェックシステムにおける凸多面体生成装置
JP3766133B2 (ja) * 1996-02-29 2006-04-12 富士通株式会社 プリント基板の3次元回路設計支援システム
JPH10247252A (ja) * 1997-03-04 1998-09-14 Sharp Corp 衝突判定処理装置
US6191796B1 (en) * 1998-01-21 2001-02-20 Sensable Technologies, Inc. Method and apparatus for generating and interfacing with rigid and deformable surfaces in a haptic virtual reality environment
JP2000200361A (ja) * 1998-08-07 2000-07-18 Sega Enterp Ltd 画像処理装置及び情報記録媒体
JP4030209B2 (ja) * 1998-12-09 2008-01-09 株式会社バンダイナムコゲームス ゲーム装置および情報記憶媒体
US6500008B1 (en) * 1999-03-15 2002-12-31 Information Decision Technologies, Llc Augmented reality-based firefighter training system and method
US6734853B2 (en) 2001-08-28 2004-05-11 Intel Corporation Method of using view frustrum culling for scaleable collision detection
GB0224449D0 (en) * 2002-10-21 2002-11-27 Canon Europa Nv Apparatus and method for generating texture maps for use in 3D computer graphics
JP2004252756A (ja) * 2003-02-20 2004-09-09 Fujitsu Ltd 物体干渉表現装置
JP2005071285A (ja) * 2003-08-28 2005-03-17 New Industry Research Organization 空間内のインタラクションに応じて詳細度を変更する衝突検出方法及びその方法を用いた仮想空間生成装置
JP4503312B2 (ja) * 2004-02-26 2010-07-14 株式会社島精機製作所 ニットガーメントの着装シミュレーション方法とその装置、並びにそのプログラム
JP2006178662A (ja) * 2004-12-21 2006-07-06 Canon Inc 情報処理方法、情報処理装置
JP4335160B2 (ja) * 2005-03-02 2009-09-30 任天堂株式会社 衝突判定プログラムおよび衝突判定装置
JP4508918B2 (ja) * 2005-03-25 2010-07-21 株式会社バンダイナムコゲームス 画像生成システム及び情報記憶媒体
US7773098B2 (en) * 2005-05-11 2010-08-10 Canon Kabushiki Kaisha Virtual reality presentation apparatus and method

Also Published As

Publication number Publication date
US8576248B2 (en) 2013-11-05
EP1906361A3 (en) 2008-08-06
CN101154293B (zh) 2010-08-25
JP2008090498A (ja) 2008-04-17
CN101154293A (zh) 2008-04-02
EP1906361A2 (en) 2008-04-02
US20080278480A1 (en) 2008-11-13

Similar Documents

Publication Publication Date Title
JP4936522B2 (ja) 画像処理方法、画像処理装置
US8154544B1 (en) User specified contact deformations for computer graphics
US10163243B2 (en) Simulation of hair in a distributed computing environment
US6307554B1 (en) Apparatus and method for generating progressive polygon data, and apparatus and method for generating three-dimensional real-time graphics using the same
CA2225017C (en) Method and apparatus for rapidly rendering computer generated images of complex structures
US8698810B2 (en) Reorienting properties in hair dynamics
JP3380231B2 (ja) 3次元スケルトンデータ圧縮装置
Franco et al. A distributed approach for real time 3D modeling
CN101458825B (zh) 显卡中实现3d骨骼动画模型的碰撞检测方法及显卡、系统
US9519988B2 (en) Subspace clothing simulation using adaptive bases
EP1775685A1 (en) Information processing device and program
EP1505546B1 (en) Method for drawing a three-dimensional image by modeling a second object connected to a first object
US7652670B2 (en) Polynomial encoding of vertex data for use in computer animation of cloth and other materials
O'Brien et al. Automatic simplification of particle system dynamics
Ripolles et al. Real-time tessellation of terrain on graphics hardware
CN111369647A (zh) 信息处理方法及装置、计算机存储介质、电子设备
US9292953B1 (en) Temporal voxel buffer generation
JP2009020874A (ja) 髪シミュレーション方法およびその装置
US20220172431A1 (en) Simulated face generation for rendering 3-d models of people that do not exist
US9734616B1 (en) Tetrahedral volumes from segmented bounding boxes of a subdivision
de Moraes Zamith et al. Parallel processing between GPU and CPU: Concepts in a game architecture
von Funck et al. Elastic secondary deformations by vector field integration
US11574091B2 (en) Techniques for recovering from intersections
Rianto et al. Fluid dynamic simulation for cutting in virtual environment
EP2112631A1 (en) Spline technique for 2D electronic game

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120125

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: 20120217

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: 20120220

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

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees