(57)【要約】【課題】空間内のインタラクションに応じて詳細度を変更する衝突検出方法及びその方法を用いた仮想空間生成装置において、物体の衝突を詳細に検出するための計算資源の有効利用と、衝突検出精度及び検出速度の向上とを図る。【解決手段】ユーザ２はコンピュータにより生成された３次元仮想空間１にインタラクティブに関与する。衝突を含む物体の状態がユーザ２に提示され、ユーザ２はその提示を仮想的に認識・知覚する。部分空間３や物体５、６のようにユーザ２が注目して関心度が高い部分空間や物体は、矛盾のないように、より詳細に衝突が検出されて結果が提示される。ユーザ２の関心の向く項目毎に衝突検出評価関数に基づいて衝突検出の詳細度が動的に変更されて衝突が検出される。部分空間４は、関心度が高くなく、詳細な計算が省略される。計算資源を必要な箇所に重点的に割り当て、注目物体に対する衝突検出の精度と速度を向上できる。【選択図】図１
2005071285.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより生成されユーザがインタラクティブに関与できる仮想空間における移動する物体と他の物体との衝突を仮想空間のユーザに提示するために検出する衝突検出方法であって、
仮想空間の部分空間及び／又は仮想空間内の物体に対するユーザの関心度情報を取得する関心度取得ステップと、
前記ステップで取得したユーザの関心度情報に応じて物体の詳細度と衝突検出の詳細度とを動的に変更して決定する詳細度決定ステップと、を備えていることを特徴とする衝突検出方法。
【請求項２】
前記関心度情報と衝突検出の詳細度を階層的に関連づけるための衝突検出評価関数を空間座標の関数として生成する評価関数生成ステップと、
前記詳細度決定ステップで決定された詳細度に基づいて衝突の検出を行う衝突検出ステップと、をさらに備え、
前記詳細度決定ステップにおいて前記生成された衝突検出評価関数を用いて各部分空間における物体の詳細度と衝突検出の詳細度を動的に変更して決定し、
前記衝突検出ステップにおいて前記詳細度を超える精度の検出作業は打ち切ってそれ以上の検出を行わないことを特徴とする請求項１に記載の衝突検出方法。
【請求項３】
前記仮想空間中の各物体は、詳細度が異なる複数の表現形式を有し、前記詳細度決定ステップにおいて前記衝突検出評価関数に基づいて各部分空間における物体の表現形式が動的に選択され、前記衝突検出ステップにおいて前記選択された表現形式を用いて衝突検出が行われる請求項２に記載の衝突検出方法。
【請求項４】
前記評価関数生成ステップにおいて、ユーザの指差しや、ポインタの位置からの距離、又はユーザの視点からの距離、又はユーザや空間中の重要な物体からの距離、又はユーザの視野中心（視線方向）からの角度、又はユーザの指差しや指示方向からの角度、又はユーザの作業領域や視野を横切る物体の移動速度に応じて衝突検出評価関数値を増減させて衝突検出評価関数を生成する請求項２又は請求項３に記載の衝突検出方法。
【請求項５】
請求項１乃至請求項４のいずれかに記載の衝突検出方法を用いることを特徴とする仮想空間生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間における物体の衝突現象について、その衝突検出方法及びその方法を用いた仮想空間生成装置に関する。
【背景技術】
【０００２】
従来から、コンピュータにより生成された仮想的な３次元空間（仮想空間）をインタラクティブに利用する試みが、幅広い分野で行われている。３次元空間をインタラクティブ（相互作用的）に利用するとは、自分がその中に入り込んでいる感覚（自己投射性）をもって、等身大空間に入り込み、３次元空間を相互作用的に扱うことである。３次元空間を相互作用的に扱うとは、そこに入り込んだ人（関与者、ユーザ）が、その空間内の環境と実時間の相互作用をしながら、すなわち、環境を構成する環境物体とのなんらかの相互関連性をもって行動することであり、その空間にある物体（環境物体）を触ったり、別の場所に動かしたり、あるいは単に観測することが含まれる。
【０００３】
このような物体の移動の他、流れ、接近、接触、変形などがある場合、物体相互の衝突・干渉の発生が起こり得るので、仮想空間において衝突・干渉を検出する技術が必須の技術となる。衝突・干渉検出技術の応用分野として、例えば、図１７に示すようなものがある。可視化１１，人工現実（仮想現実）１２、娯楽１３、設計１４，ロボット工学１５，コンピュータ・グラフィックス１６などのような技術分野においては、衝突・干渉の発生する仮想物体の移動、又はインタラクティブに行われる物体操作や移動が扱われる。ユーザが五感を通して獲得した情報により、現前しない非物体を現前する物体として認識し、体験、訓練、学習、検討、実際の作業、気分転換などをすることができる。
【０００４】
衝突・干渉検出の必要性についてさらに説明する。図１８（ａ）（ｂ）は、仮想空間における衝突現象を示す。人とのインタラクションが発生する仮想空間について、その空間の自律性（無矛盾性）を確保するためには、その中の構成物を自律的に振る舞わせる計算（シミュレーション）が必要となり、その計算には地球上の現実の世界を支配している物理的な法則、例えば物体同士の非透過性、重力、摩擦などの法則を考慮する必要がある。例えば、図１８（ａ）に示す仮想空間２０において、仮想物体、例えばラグビーボール２２とユーザの手２５が存在し、それぞれが運動することにより、図１８（ｂ）に示すある時間経過後の仮想空間３０において、ラグビーボール２２と手２５が衝突したとする。現実の世界では、ラグビーボール２２が衝突して手２５に当たるとボールの弾力により、互いに反発するが、仮想空間において、その衝突が検出されず、その後の空間表示が不適切であると、矢印２６に示すようにラグビーボール２２の中に手２５がくい込み、さらにはラグビーボール２２をすり抜けるように認識され、その仮想空間は自律性の損なわれたものになってしまう。このように、物理法則に基づく物体操作シミュレーションにとって、物体相互の衝突・干渉検出は必須の技術である。
【０００５】
ユーザ・インタラクションのある実時間仮想空間システムにおける一般的な衝突検出の処理フローを説明する。図１９はその処理フローを示す。まずシステムが起動されると、環境設定のためのデータ読み込みや初期表示などの初期設定が行われる（Ｓ３００）。ユーザがコンピュータにより生成された仮想空間内で移動したり、仮想空間内の物体を操作したりすることで、ユーザと空間・物体とのインタラクションが発生する（Ｓ３０１）。次の衝突検出ステップで、各物体同士が衝突したかしていないかが調べられ、さらに、衝突が発生していると判定された場合には、どこでどのように発生したかが調べられる（Ｓ３０２）。次に、衝突検出結果に応じたレスポンス計算が行われる（Ｓ３０３）。このレスポンス計算では、物理法則に基づいて、衝突部位における反射、弾性、反力、音、破壊などの物性や発生現象が考慮される。このようにして得られたレスポンス計算結果が、所定の提示機能によってユーザに提示される（Ｓ３０４）。ユーザは提示されたレスポンスに反応（リアクション）して、新たな移動や操作を行う（Ｓ３０５）。インタラクションのある実時間仮想空間システムにおいて、このような一連の処理がリアルタイムに連続して行われる。
【０００６】
上述のように、インタラクションのある実時間仮想空間システムにおける物体操作シミュレーションのためには、物理法則を考慮し、衝突が起きた物体上の場所などをより詳細に特定する必要がある。その特定のための計算量は計算精度と共に増加する。さらに、インタラクティブな状況下では時間的な変化に対する無矛盾性も求められるため、現象の実時間性（リアルタイム性）を確保できる衝突検出速度（計算速度）が求められる。このようにインタラクションのある実時間仮想空間システムにおいては、衝突検出精度と衝突検出速度の両方が要求され、これらはトレードオフの関係にある。また、物体や空間が複雑になるにつれて計算量が増加する。
【０００７】
従来の、物体形状の階層的な表現により物体間の衝突を検出する方法について説明する。図２０（ａ）は物体の存在する３次元空間を示し、図２０（ｂ）はその空間を８分割した状態を示す。また、図２１（ａ）（ｂ）は、階層的に衝突を調べる８分木（オクトリー、Ｏｃｔｒｅｅ）の方法を示す。効率的に衝突を検出する方法として、外接直方体や外接球などを用いた空間分割に基づく物体の階層的表現方法が知られている。また、物体そのものの位置や状態により物体を階層的に表現するＬＯＤ（レベル・オブ・ディテール）の方法などが知られている。ここで説明するのは、前者の８分木による空間分割に基づく方法である。
【０００８】
図２０（ａ）において、３次元空間Ｒ内で、例えば物体Ｂ、Ｄが衝突している。その衝突部位を特定するため、物体を含んだ状態で３次元空間Ｒを８分割する作業が繰り返えされる。図２０（ｂ）は第１階層ｊ＝１における８分割状態を示す（物体図示は省略）。第２階層ｊ＝２では、この８つの部分空間のそれぞれが、必要に応じてさらに８分割される。このように空間の８分割をくり返して特定の部分空間を検出する方法として８分木の方法を用いることができる。
【０００９】
ある空間Ｒ１における物体Ｆ、Ｇの衝突検出に８分木の方法を適用して説明する。両物体Ｆ、Ｇはそれぞれ図２１（ａ）、図２１（ｂ）に示される８分木で表わされる。それぞれの階層における各部分空間は、物体外の空間（図中白丸）、物体内の空間（図中黒丸）、物体の一部を含む空間（図中ハッチング付き四角）に分けて表現される。また、各階層における８個の部分空間が引数ｉで識別される。
【００１０】
物体Ｆ、Ｇの８分木を比べてみると、（ｊ，ｉ）＝（１，５）、（２，３）、（３，６）、（４，３）の部分空間は両物体が一部ずつ存在する共存状態であり、階層ｊ＝１〜４までは、これらの部分空間以外には両物体の共存する部分空間はないことが分かる。階層ｊ＝５では、（ｊ，ｉ）＝（５，５）において両物体が共存しており、さらに、（ｊ，ｉ）＝（５，７）では、両物体Ｆ、Ｇがその空間を完全に満たしている。このことより、少なくとも（ｊ，ｉ）＝（５，７）で示される部分空間において、物体Ｆ、Ｇの衝突が検出されることになる。８分木による衝突検出における計算量は、実際にたどった８分木の分岐点の数（ノードの数）と物体の数に比例するのみであり、多面体表現された物体の面同士の衝突を調べる場合よりも少ない計算量で衝突の検出ができる。
【００１１】
また、上述の８分木の概念を用いて面間の衝突を正確に調べる衝突検出方法として、第１のステップで３次元物体の包含直方体を用いて大まかに干渉している物体を検出し、第２のステップで包含直方体の重なり領域と交差する面を抽出し、抽出された面の衝突可能性を第３のステップでそれぞれの面八分木による空間分割により大まかに調べ、第４のステップで面八分木が干渉している面の組合せごとに面間の衝突を調べる方法が知られている（例えば、特許文献１参照）。
【特許文献１】特開平９−８１７７６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述した図２０や図２１に示されるような空間８分割や８分木を用いた衝突検出方法は、計算量が物体の複雑度に依存しないので、複雑な物体については特に効率的であるが、多面体表現以外の付加的な形状データ構造を併用すると、変形物体への対応が困難になり、また、計算量が増大するという問題がある。
【００１３】
また、上述した特許文献１に示されるような衝突検出方法においては、衝突検出の効率が対象物体の形状に大きく依存する問題がある。例えば、突出部の多い形状の物体を直方体で包含すると、物体包含直方体と被包含物体との間に物体のない空間部が多くなり、２つの物体包含直方体間で重なりがあってもその重なり空間には物体がないということが頻繁に発生することになり、干渉物体を検出する効率が悪くなる。
【００１４】
本発明は、上記課題を解消するものであって、仮想的な３次元空間におけるユーザのインタラクティブな活動状況のもとで、空間内の物体の衝突を詳細に検出するための計算資源を有効利用でき、その衝突検出精度と衝突検出速度の両方を向上して、ユーザのインタラクティブな活動を支援することができる、空間内のインタラクションに応じて詳細度を変更する衝突検出方法及びその方法を用いた仮想空間生成装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を達成するために、請求項１の発明は、コンピュータにより生成されユーザがインタラクティブに関与できる仮想空間における移動する物体と他の物体との衝突を仮想空間のユーザに提示するために検出する衝突検出方法であって、仮想空間の部分空間及び／又は仮想空間内の物体に対するユーザの関心度情報を取得する関心度取得ステップと、前記ステップで取得したユーザの関心度情報に応じて物体の詳細度と衝突検出の詳細度とを動的に変更して決定する詳細度決定ステップと、を備えている衝突検出方法である。
【００１６】
請求項２の発明は、請求項１に記載の衝突検出方法において、関心度情報と衝突検出の詳細度を階層的に関連づけるための衝突検出評価関数を空間座標の関数として生成する評価関数生成ステップと、前記詳細度決定ステップで決定された詳細度に基づいて衝突の検出を行う衝突検出ステップと、をさらに備え、前記詳細度決定ステップにおいて前記生成された衝突検出評価関数を用いて各部分空間における物体の詳細度と衝突検出の詳細度を動的に変更して決定し、前記衝突検出ステップにおいて前記詳細度を超える精度の検出作業は打ち切ってそれ以上の検出を行わない衝突検出方法である。
【００１７】
請求項３の発明は、請求項２に記載の衝突検出方法において、前記仮想空間中の各物体は、詳細度が異なる複数の表現形式を有し、前記詳細度決定ステップにおいて前記衝突検出評価関数に基づいて各部分空間における物体の表現形式が動的に選択され、前記衝突検出ステップにおいて前記選択された表現形式を用いて衝突検出が行われるものである。
【００１８】
請求項４の発明は、請求項２又は請求項３に記載の衝突検出方法における、前記評価関数生成ステップにおいて、ユーザの指差しや、ポインタの位置からの距離、又はユーザの視点からの距離、又はユーザや空間中の重要な物体からの距離、又はユーザの視野中心（視線方向）からの角度、又はユーザの指差しや指示方向からの角度、又はユーザの作業領域や視野を横切る物体の移動速度に応じて衝突検出評価関数値を増減させて衝突検出評価関数を生成するものである。
【００１９】
請求項５の発明は、請求項１乃至請求項４のいずれかに記載の衝突検出方法を用いる仮想空間生成装置である。
【発明の効果】
【００２０】
請求項１に記載の発明によれば、関心度取得ステップで空間又は物体に対するユーザの関心度情報を取得し、詳細度決定ステップで関心度情報に応じて物体の詳細度と衝突検出の詳細度とを動的に変更して決定するので、詳細な衝突検出のための計算資源を必要な箇所に重点的に割り当てることができ、注目する物体に対する衝突検出精度と衝突検出速度の両方を向上できる。
【００２１】
請求項２に記載の発明によれば、評価関数生成ステップでユーザの関心度情報と衝突検出の詳細度を階層的に関連づけるための衝突検出評価関数を空間座標の関数として生成し、詳細度決定ステップで衝突検出評価関数を用いて各部分空間における物体の詳細度と衝突検出の詳細度を動的に変更して決定し、衝突検出ステップで衝突を検出し、関心度に基づかない詳細度を超える精度の検出作業は打ち切ってそれ以上の検出を行わないので、詳細な衝突検出のための計算資源を必要な箇所にさらに重点的に割り当てることができ、注目する物体に対する衝突検出精度と衝突検出速度の両方を向上できる。
【００２２】
このように、ユーザの示す関心度（インタラクション）に応じて衝突検出の詳細度を動的に変更して衝突検出を行うことにより、以下のような効果が得られる。比較的広い３次元空間を利用して作業をする場合、たとえ複数のユーザで空間を共有している場合でも、ユーザ（関与者）の注意が全空間に対して均等に注がれるということはなく、作業の焦点となっている空間と、そうではない空間が生じる。この場合、作業の焦点となっている部分空間の物体に関しては、正確なシミュレーションが求められるため、衝突が起きた物体上の場所や物体の面の向きなどを詳細に特定する必要があるが、それ以外の空間にある物体に対しては、それほど精度の高いシミュレーションが求められることはなく、詳細に衝突を検出する必要はない。
【００２３】
また、作業の焦点となる部分空間やユーザの関心が高い部分空間は、作業の進行状況やさまざまなインタラクションに応じて変化する。そこで、３次元空間内でのユーザのさまざまなインタラクションの結果生じるユーザの各部分空間に対する関心の高低や、作業内容と関連して変化する空間各部分の重要度の高低に応じて、動的に衝突検出の詳細度を変更することによって、衝突検出精度と衝突検出速度の両方を向上できるようになる。従って、このような衝突検出方法によると、仮想空間の自律性（無矛盾性）と、仮想空間における現象の実時間性（リアルタイム性）の両方を確保でき、仮想空間において自己投射性と実時間の相互作用性を実現でき、従って仮想空間におけるユーザのインタラクティブな活動を支援することができるという効果がある。
【００２４】
請求項３に記載の発明によれば、仮想空間中の各物体が詳細度が異なる複数の表現形式を有するので、各表現形式のいずれかを用いて衝突検出を行えばよく、また、衝突検出評価関数に基づいてその表現形式が動的に選択されるので、仮想空間における物体の衝突検出や、ユーザへの物体及び物体の衝突状態の提示（ディスプレイ）をより高速に、また、よりリアルに行うことができる。
【００２５】
このような詳細度が異なる複数の表現形式は、予めオフラインで作成しておいても、実行時にリアルタイムで作成してもよい。各物体の詳細度が異なる表現として、例えば、Ｏｃｔｒｅｅなどの物体形状の階層的な表現を用いることができる。また、通常描画の負荷を軽減するために利用されるレベル・オブ・ディテール（ＬＯＤ）の方法を併用することもできる。
【００２６】
請求項４に記載の発明によれば、作業の対象に対してユーザの関心が高いほど、その対象物に焦点が当てられ、またその逆も成り立つという通常の関係に基づき、ユーザの指差し位置、ポインタの位置、ユーザの視点、ユーザや空間中の重要な物体位置などからの距離、ユーザの視野中心（視線方向）、指差し、指示方向などからの角度、作業領域や視野を横切る物体の移動速度に応じて増減させて衝突検出評価関数を生成するので、衝突検出の詳細度をユーザの関心度に応じて動的に変更することができる。
【００２７】
すなわち、ユーザの意識する対象物が近くにあればあるほど、その対象物への関心が高まり、ユーザの視野から外れるに従って対象物への関心がうすれ、また、視野中心にくるほど対象物への関心が高まり、また、ユーザが意識する前方における物体のうち、静止したものよりも移動する物体、さらにその移動速度を変化させる物体に対して、より関心が高まるという通常の関係に合致して、関心度情報を衝突検出評価関数に組み込むことができる。その結果、関心度の高いものほど詳細に衝突検出ができ、前述のように衝突検出精度と衝突検出速度の両方を向上できる。
【００２８】
請求項５に記載の発明によれば、コンピュータにより生成された仮想空間において、その部分空間又は空間内の物体に対するユーザの関心度に応じて生成した衝突検出評価関数に基づいて衝突検出の詳細度を動的に変更して衝突を検出し、詳細な衝突検出のための計算資源を必要な箇所に重点的に割り当て、注目する空間における、又は物体に対する衝突検出精度と衝突検出速度の両方を向上した装置が実現できる。その結果、ユーザは、このような仮想空間生成装置により生成された、仮想空間の自律性（無矛盾性）と、仮想空間における現象の実時間性を両立する仮想空間において、自己投射性と実時間の相互作用性を実現した状態で仮想空間をインタラクティブに利用できる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の一実施形態に係る空間内のインタラクションに応じて詳細度を変更する衝突検出方法及びその方法を用いた仮想空間生成装置について、図面を参照して説明する。図１は、仮想３次元空間内における関心度と衝突検出の詳細度との関係概念を示す。３次元の仮想空間１は、コンピュータを用いたインタラクションのある実時間仮想空間システムにより生成され、また、その空間内の（仮想）物体５〜８はユーザ２によって認識されるものである。さらに、ユーザ２は、それらの物体５〜８の少なくともいずれか１つをインタラクティブに操作（作業）するか、又はいずれかの運動や存在状態に影響を与えることができる。さらには、ユーザ２が物体５〜８のいずれかに関心を示しているということが、入力Ｉ／Ｆ部（後述）によって、仮想空間１を生成している仮想空間システムに分かるようになっている。このような、ユーザ２が関与できる仮想空間１において、物体の運動や状態の変化がユーザ２に提示され、ユーザ２はその提示を現実のものとして仮想的に認識・知覚する。その認識・知覚をよりリアルにするために、移動する物体と他の物体との衝突がより詳細に検出され、その結果がユーザ２に提示される。
【００３０】
また、仮想空間１において発生する現象に対するユーザ２による認識・知覚の効果を高めるために、仮想空間１の、例えば部分空間３や特定の物体５、６のように、ユーザが注目していて関心が高い部分空間や物体に対して重点的に、より詳細に衝突が検出される。このように、ユーザ２の関心の向く項目について、予め又は衝突検出の都度、階層的に、各項目毎に衝突検出評価関数を決めておき（後述）、この衝突検出評価関数に基づいて、衝突検出の詳細度を動的に変更して衝突が検出される。
【００３１】
その結果、ユーザ２の背後や下方の部分空間４は、ユーザの関心度が高くないと判断され、部分空間４における、例えば物体７、８について、詳細な状態変化追跡は省略される。そこで、詳細な衝突検出のための計算資源を必要な箇所、例えば部分空間３、における現象に重点的に割り当てることができるようになり、注目する物体に対する衝突検出精度と衝突検出速度の両方を向上できる。従って、このような衝突検出方法によると、仮想空間１の自律性（無矛盾性）と、仮想空間１における現象の実時間性（リアルタイム性）の両方を確保でき、仮想空間１において自己投射性と実時間の相互作用性を実現でき、仮想空間１において、ユーザ２がよりインタラクティブに活動できるようになる。
【００３２】
次に、上述の計算資源の割り当てについて説明する。図２は、関心度と衝突検出詳細度により定まる仮想３次元空間の部分空間の区分化を示す。図２（ａ）〜（ｄ）に示す関心度ＮＣ、衝突検出詳細度ＮＤ、全空間ＶＲは、説明の便利のため、全て最小値０から最大値１の値をとるように規格化したものである。ここに示す例では、関心度ＮＣは階層化数値ｃ１，ｃ２，ｃ３によって、また衝突検出詳細度ＮＤは階層化数値ｄ１，ｄ２，ｄ３によってそれぞれ４段階に階層化され、従って、全空間ＶＲが、同様に階層化数値ｒ１，ｒ２，ｒ３によって４つの部分空間に階層化される。
【００３３】
図２に示す各グラフにおける領域ａは最も関心度が高く、最も詳細に衝突を検出するように決定された領域であり、領域ｂ，ｃ，ｄの順に関心度が減少する。全空間ＶＲに占める領域ａの部分空間の割合ｒ１が小さいほど、システム全体において投入する計算資源が少なくて済む。また、実際の衝突検出計算においては、図２（ｄ）に示すように、例えば、ｃ１＜ＮＤ≦ｃ２の関心度ＮＤに対して、衝突検出詳細度ＮＤの値として、例えば、対応する階層の上限値である値ｄ２が選ばれ、値ｄ２で定まる環境物体のモデルを用いて衝突検出の計算が行われる。
【００３４】
次に、空間内のインタラクションに応じて詳細度を変更する衝突検出方法の処理の概要を説明する。図３は、関心度情報と衝突検出の詳細度を結びつける関数関係を示す。ユーザの関心度情報は、例えば、ユーザの指差し位置、ユーザの視点、ユーザの視野中心（視線方向）などの空間を特定する情報である（＃１）。このような、空間に対する関心度情報が取得されると、その情報を反映した衝突検出評価関数Ｉ（ｘ，ｙ，ｚ）が空間座標の関数として決定される（＃２）。例えば、後述の式（１）（２）参照。衝突検出評価関数は、後述するように、関心度情報としての空間情報によって規定された空間の点又は点集合に最大値を有し、そこから離れるに従い減衰する空間座標の関数（母型関数）によって定義される（＃３）。これは、特定の空間に対し、関心度の重み付けをしたことになる。
【００３５】
衝突検出は、物体同士で行われるため、物体に対して関心度情報を割り当てる必要がある。ユーザの関心度情報が、空間に対するものとして得られ、衝突検出評価関数Ｉ（ｘ，ｙ，ｚ）が得られた場合、物体ｍの占有空間情報（＃４）と衝突検出評価関数とを用いて物体ｍに対する関心度Ｏ（ｍ）が算出される。これは、後述する式（３）に示すように、物体ｍの占める空間に関して衝突評価関数を積分して求められる（＃５、＃６）。このようにして求めた物体ｍに対する関心度Ｏ（ｍ）をもとに、物体の詳細度決定及びその物体に関する衝突検出の詳細度決定がなされる。
【００３６】
ユーザの関心が、空間に対してではなく物体そのものに向かっており、関心度情報として物体ｍに対する関心度Ｏ（ｍ）が得られる場合、その関心度Ｏ（ｍ）が用いられる（＃７）。これらのいずれかの方法により求められた物体ｍの関心度Ｏ（ｍ）は、空間位置によって、Ｏｍｉｎ〜Ｏｍａｘのいずれかの値をとる。
【００３７】
物体ｍは、事前に又は動的にその表現形式が定められ、その表現形式に基づいて階層的に、例えばｎ段階の詳細度Ｌ（０）〜Ｌ（ｎ−１）が決められている（＃８）。物体ｍに対して、その物体ｍに対する現在の関心度Ｏ（ｍ）を用いて、その物体ｍに対する現在の詳細度Ｌ（ｊ）が決定される（＃９、＃１０）。詳細度Ｌ（ｊ）は階層化されているので、その値は、通常整数値として与えられる。関心度の高い物体に対しては、詳細度Ｌ（ｊ）の高い表現形式の物体表現が選ばれ、従って、衝突計算も詳細なものとなる（＃１１）。また、８分木法における衝突検出の詳細度の動的変更に対しては、衝突検出評価関数の出力として、衝突検出打切りの８分木分割レベルの深さを示す値が出力される。
【００３８】
次に、上述したインタラクションに応じて衝突検出の詳細度（検出深さ）を動的に変更して衝突を検出する実時間仮想空間システムにおける処理フローを説明する。図４はその処理フローを示す。この処理フローは、前出の図１９に示した従来から一般に行われている処理フローにおける衝突検出Ｓ３０２の処理が、改善されたものである。従来技術における衝突検出Ｓ３０２において、ユーザの関心度が考慮され、ユーザインタラクションを解析して衝突を検出するように、新たに関心度取得Ｓ３、衝突評価関数生成及び更新Ｓ４、詳細度決定Ｓ５、衝突検出Ｓ６となっている。
【００３９】
図４に示すフローにおいて、まず初期設定が行われる（Ｓ１）。初期設定は、システムを稼働させるための条件設定、環境設定などである。システムが稼働して、ユーザが実時間仮想空間システムにおいて生成された仮想空間で移動したり、仮想空間内の物体を操作したりすることで、ユーザと空間／物体とのインタラクションが発生する（Ｓ２）。
【００４０】
この後の一連の処理で、ユーザの関心度を考慮したユーザインタラクションの解析が行われて衝突が検出される。まず、関心度取得ステップで、全空間位置、及び全物体におけるユーザの関心度情報が、関心度の評価項目毎に計測して調べられる（Ｓ３）。続いて、評価関数生成ステップで衝突検出評価関数が空間座標の関数として生成され（Ｓ４）、詳細度決定ステップで衝突検出評価関数を用いて各部分空間における物体の詳細度と衝突検出の詳細度が決定される（Ｓ５）。衝突検出ステップで前記決定された詳細度に基づいて衝突の検出が行われる（Ｓ６）。
【００４１】
この後は、前出の図１９に示した従来の処理フローと同様に処理が行われる。すなわち、衝突検出結果に応じたレスポンス計算が行われる（Ｓ７）。このレスポンス計算では、物理法則に基づいて、衝突部位における反射、弾性、反力、音、破壊などの物性や発生現象が考慮される。このようにして得られたレスポンス計算結果が、所定の提示機能によってユーザに提示される（Ｓ８）。ユーザは提示されたレスポンスに反応して、新たな移動や操作を行う（Ｓ９）。ユーザ・インタラクションのある実時間仮想空間システムにおいて、このような一連の処理が、例えば１秒に１０回の頻度で動的かつリアルタイムに連続して、システムが停止（Ｓ１０でＹ）されるまで行われる。
【００４２】
次に、上述のインタラクション解析処理（Ｓ３〜Ｓ６）についてさらに説明する。図５はその解析処理フロー部分を抜き出して示している。元来、衝突検出は、コンピュータにより生成されユーザがインタラクティブに関与できる実時間仮想空間システムにおける移動する物体と他の物体との衝突を、仮想空間を利用するユーザに提示するために行われる。そこで、システムが稼働して初期設定が行われた後、まず、ユーザの空間又は物体に対する関心度情報取得が、関心度取得ステップにおいて行われる（Ｓ１０３）。
【００４３】
この関心度取得ステップ（Ｓ１０３）において取得される関心度情報は、基本的には、ユーザが仮想３次元空間のどの部分に関心を示しているかという情報であり、空間の点又は空間の方向を特定する情報である。例えば、ユーザの指差し位置、ポインタの位置、ユーザの視点、ユーザや空間中の重要な物体位置などからの距離、ユーザの視野中心（視線方向）、指差し、指示方向などからの角度、作業領域や視野を横切る物体の移動速度などが関心度情報として取得される。このようなユーザの関心の中心となる点又は方向は、ユーザの活動と共に時々刻々変化する。指差しの方向は、位置と方位角を計測するセンサ（例えば、ポヒマス社のＦａｓｔｒａｃｋという製品）を指に装着して指座標原点位置と指差軸の方向を計測して求められる。また、このようなセンサを頭部に装着すれば、頭や顔の位置と方向を計測することができる。また、視線の方向は、例えば、ポヒマス社のＶｉｓｉｏｎｔｒａｃｋというセンサで検出することができる。これらと同様のセンサは他社からも入手可能である。
【００４４】
また、関心度の強弱を表す情報として、ユーザの心拍数、発汗量、呼吸数などを含む身体状態を表す状態量が必要に応じて計測される。これらの状態量の計測値そのもの、又はその変動等を解析した結果が関心度情報として取得される。心拍数、発汗量、呼吸数などは、一般に広く用いられている通常の医療計測機器により計測することができる。この身体的状態量に基づく、いわば情的な関心度情報は、上述の空間の点などに顕わに示された直接的・空間的な関心度情報を補強及び補完する、相補的な情報である。すなわち、（関心度情報）＝（顕示された空間的な関心情報＋情的な関心度情報）のように構成される。
【００４５】
続いて、評価関数生成ステップ（Ｓ１０４）において、上記のように取得されたユーザの関心度情報に応じて、その関心度情報と衝突検出の詳細度を階層的に関連づけるための衝突検出評価関数が、空間座標の関数として生成される。
【００４６】
衝突検出評価関数は、例えば、ユーザの指差し位置からの距離、ユーザの視点からの距離、ユーザの視野中心（視線方向）からの角度、ユーザの作業領域や視野を横切る物体の移動速度などに応じてその関数値が増減する関数である。
【００４７】
続いて、詳細度決定ステップ（Ｓ１０５）において、衝突検出評価関数を用いて各部分空間における物体の詳細度と衝突検出の詳細度が動的に、すなわち実時間的に状況変化に対応して変更され決定される。このとき、衝突検出の対象となる物体について、その表現形式が決定される。すなわち、仮想空間中の各物体は、予めオフラインで、又は実行時にリアルタイムで作成された詳細度が異なる複数の表現形式を有しており（後述）、この詳細度決定ステップにおいて衝突検出評価関数の関数値（評価関数値）に基づいて衝突検出のための各物体の表現形式が動的に選択される。
【００４８】
続いて、衝突検出ステップ（Ｓ１０６）において、部分空間及び物体毎の衝突検出の詳細度に基づいて選択された表現形式を有する物体を用いて、物体間の衝突検出が行われる。その衝突検出に用いられる各物体の表現形式として、詳細な（高精度な）衝突検出には詳細な表現形式のものが、また詳細でない（粗い）衝突検出には衝突検出が簡単な表現のものが用いられる。例えば、凹凸の少ない物体の方が凹凸の多い物体よりも、また構成ポリゴン数の少ない方が多いものよりも、表現形式が簡単であり、通常、衝突検出が容易である。
【００４９】
このように関心度に応じて決めた衝突検出評価関数に基づいて物体の表現形式を決定し、その表現形式の物体を用いて衝突検出を行うようにすると、たとえ、その衝突物体同士の衝突検出の計算を完全に行ったとしても、たかだかその物体の表現形式の詳細度の衝突検出である。従って、その物体の関心度に基づかない詳細度を超える精度の検出作業は、自動的に打ち切られることになる。このような表現形式で定まる計算を完全に行うときの詳細度と、その表現形式における衝突検出の計算ステップ数に制限をさらに加えたときの詳細度のいずれかによって衝突検出の詳細度としてもよい。
【００５０】
次に、上述した仮想空間における物体の表現について説明する。図６（ａ）〜（ｃ）は詳細度の異なる物体の表現形式の例を示す。図６（ａ）（ｂ）に示す物体は、物体表現に用いるポリゴン数によって詳細度を階層的に、すなわち連続的でなく段階的に変化させたものであり、図６（ｃ）に示す物体は、物体を球体の集まりで表現したものであり、物体表現に用いる球体数によって詳細度が階層的に変化している。これらの例のように、空間中の全ての物体は、それぞれ、詳細度が階層的に異なる複数の表現形式で表現されている。これらは、予めオフラインで作成しておいても、実行時にリアルタイムで作成してもよい。
【００５１】
物体の詳細度が異なる表現として、Ｏｃｔｒｅｅなどの階層的な形状表現や、描画の負荷を軽減するために利用されるＬＯＤを併用してもよい。ＬＯＤ（レベル・オブ・ディーティル）及びＬＯＤを数値で表現したＬＯＤ値という考え方は、もともとコンピュータグラフィックスの分野で広く利用されているものであり、視点位置から遠い物体のポリゴン数を少なくする、すなわち詳細度のレベルを下げるなどして、リアルな絵を高速かつ効率的に描画をする技術である。図６（ａ）〜（ｃ）の図は、ＬＯＤ値がＬＯＤ＝０のとき最も詳細な物体表現になっており、ＬＯＤ値が大きくなるほど詳細度が減少して、粗な物体表現となっている。
【００５２】
次に、前述の詳細度決定ステップにおける衝突検出の詳細度の変更と決定について説明する。どこまで詳細に衝突を調べるか、すなわち、どの段階で詳細な衝突検出を打ち切るかは、前述のように衝突検出評価関数に基づいた衝突検出の詳細度による。図７（ａ）は仮想空間におけるユーザの作業（インタラクション）の様子を示し、図７（ｂ）はその作業におけるユーザの関心度情報の例を示す。ユーザのインタラクティブな作業の実行時に、空間内で物体間の衝突が生じる場合、例えば、その時点までのインタラクションの結果生じる衝突検出評価関数の値を総合してその結果に基づいて、該当する物体の表現形式、及び衝突検出の詳細度を決定し、これを用いて衝突が検出（計算）される。図７（ｂ）において、点Ｐ（Ｘ，Ｙ，Ｚ）は視野中心線（視線）上の点であり、視野離角θは視線方向からの角度である。この場合、視野離角θが小さいほど関心度、従って、衝突検出評価値が高いとされる。なお、衝突検出評価関数は、各物体毎に複数の種類の関心度種別について生成され、それらの複数の結果を重み付けなどの統計処理するなどして複合的に用いられる。
【００５３】
階層的な物体の形状表現と８分木の方法を用いる衝突検出について説明する。図８は８分木階層と衝突検出詳細度との関係を示す。ユーザの関心度が高い場合には、８分木の階層ｊが深められ、より微細に衝突現象が調べられる。すなわち、より詳細な衝突計算とレスポンス計算が行われる。衝突検出のための階層の深さ、及び物体表現は、前述の衝突検出評価値に基づいて決定される。
【００５４】
次に、ＬＯＤの概念を衝突検出に用いる場合について説明する。図９（ａ）は仮想３次元空間における衝突検出に用いられる物体表現を示し、図９（ｂ）はユーザに提示されている物体表現を示す。図９（ａ）は、衝突検出評価値に基づき関心度及び衝突検出の詳細度に応じて選択されたＬＯＤ値の物体表現が衝突検出に用いられることを示している。図９（ｂ）に示すように、詳細度の高いＬＯＤ＝０の表現形式の物体ａ０、ｂ０、ｃ０が、３次元空間を浮遊し、衝突すれば運動ベクトルと衝突面の法線ベクトルに基づいて反転運動する様子のイメージがユーザに提示されている。
【００５５】
そして、衝突検出に際して、ユーザと空間とのインタラクションの結果、衝突検出評価値が高いとされる部分空間（図中半径ｒ０の円内）では、最も詳細度の高いＬＯＤ＝０の物体ａ０，ｂ０，ｃ０を用いて衝突検出がなされ、その外の半径ｒ１の円と半径ｒ０の円の間のリング状部分空間では、ＬＯＤ＝１の物体ａ１，ｂ１，ｃ１を用いて衝突検出がなされる。残りの空間においても同様に、ＬＯＤ値と関連させて衝突検出がなされる。この例では、円の中心から遠ざかるにつれて、衝突検出評価値が下がり、大まかな形状の物体を用いて衝突検出がなされる。なお、物体提示の負担を減らしたい場合は、図９（ｂ）に示される物体表現に替えて、図９（ａ）に示される物体表現をユーザへの提示としてもよい。
【００５６】
次に、衝突検出評価関数について、より具体的に説明する。図１０は衝突検出評価関数の例を示す。衝突検出評価関数は、前述したようにユーザの関心度情報に応じてその関心度情報と物体の詳細度、従って衝突検出の詳細度を階層的に関連づけるための空間座標の関数であり、また、関心度情報は、基本的には、ユーザが仮想３次元空間のどの部分に関心を示しているかという情報であり空間の点や方向を特定する情報である。衝突検出評価関数は、空間に分布する関心度の強弱を示すものである。
【００５７】
ユーザの関心の種別を区別して衝突検出評価関数Ｉ（ｘ、ｙ、ｚ）を特徴づける場合、衝突検出評価関数をＩ（ｘ、ｙ、ｚ；α）と表す。ここに、ｘ、ｙ、ｚは空間点の座標であり、αは衝突検出評価関数を特徴づけるユーザの関心度情報を与える関心度種別である。関心度種別αとしては、前述のようにユーザの指差し位置や視点（視野中心）、及びその方向などである。衝突検出評価関数Ｉ（ｘ、ｙ、ｚ、；α）は、関心度を計測して評価するため、関心度種別αに対するユーザの関心度を数値的に表現して、その関心度を空間分布として表した関数である。この関数によって、注目する部分空間がどの程度ユーザによる作業（関心度）の焦点となっているか、つまり関心度がどの程度の値であるかが数値的に表される。
【００５８】
最も単純な衝突検出評価関数Ｉ（ｘ、ｙ、ｚ：α）として、図１０（ａ）に示されるように、空間のある点Ｐ１を中心として、その点Ｐ１からの距離Δｒの増大とともに減少する関数値を有する衝突検出評価関数Ｉ（ｘ、ｙ、ｚ；Δｒ）が上げられる。この衝突検出評価関数Ｉ（ｘ、ｙ、ｚ；Δｒ）は、点Ｐ１の回りに球対称である。点Ｐ１は、ユーザ２の指差し、又はユーザ２の視点位置として、前述の関心度取得ステップにおいて説明した計測手段等によって特定される。その関数形として、例えば、下記の式（１）のようなものを用いることができる。
【００５９】
【数１】
2005071285.tif 000003
【００６０】
ここで、ｒ０はユーザ２から点Ｐ１に向かう位置ベクトル、ｒはユーザ２から点Ｐ２に向かう位置ベクトル、Δｒは両ベクトルの差の絶対値、ｄはＩ（ｘ、ｙ、ｚ；Δｒ）を有限値とするためのパラメータ、ｋは関数値調整パラメータである。なお、これらのパラメータは距離Δｒ依存性を持つこともある。式（１）で示される衝突検出評価関数Ｉ（ｘ、ｙ、ｚ；Δｒ）は、図１０（ｂ）に示されるように、距離ｒ０の位置に極大（最大関心度）を有する、曲線ｗ１〜ｗ３などとなる。式（１）の関数は、Δｒの増加と共に急激に減少する関数とするために、分母のΔｒが二乗されている。
【００６１】
上述の衝突検出評価関数Ｉ（ｘ、ｙ、ｚ；Δｒ）の曲線ｗ１〜ｗ３の違いについて説明する。衝突検出評価関数は、一般に時間の関数であり、状況の変化によって、ユーザ２の関心度も変化することを反映している。例えば、曲線ｗ１の状態を通常の状態として、ユーザ２が注目している点Ｐ１の近傍において、ある物体の移動速度が突然変化した場合、ユーザ２がその変化に注視することにより関心度が通常の場合よりも上昇することになり、曲線ｗ２で表される衝突検出評価関数Ｉ（ｘ、ｙ、ｚ；Δｒ）となる。また、曲線ｗ３では、例えば、点Ｐ１の周辺から全ての物体が離散していく状態の場合などが考えられ、このときユーザ２の関心度はより低いものとなる。また、ユーザ２の身体状態量から得られる情的な関心度情報を反映するように、衝突検出評価関数の強弱を変化させることができる。これらの情的な関心度情報は、前述したように、関心度取得ステップにおいて、ユーザの心拍数、発汗量、呼吸数などを含む身体状態を表す状態量を計測して取得することができる。
【００６２】
次に、他の関心度種別による衝突検出評価関数について説明する。図１１は角度依存の衝突検出評価関数Ｉ（ｘ、ｙ、ｚ；θ）の例を示す。ユーザ２が空間のある方向に注視している場合、視線ベクトルｎから角度が離れるほど、その離れた空間へのユーザ２の関心度が減少する。そこで、視線離角θの増大とともに関数値が減少する関数として、衝突検出評価関数Ｉ（ｘ、ｙ、ｚ；θ）が定義される。この衝突検出評価関数Ｉ（ｘ、ｙ、ｚ；θ）は、視線ベクトルｎの回りに軸対称である。視線方向は、通常行われている視線測定器で特定される。衝突検出評価関数Ｉ（ｘ、ｙ、ｚ；θ）の関数形として、例えば、下記の式（２）のようなものを用いることができる。
【００６３】
【数２】
2005071285.tif 000004
【００６４】
ここで、前記同様に、ｇはＩ（ｘ、ｙ、ｚ；θ）を有限値とするためのパラメータ、ｍは関数値調整パラメータである。なお、これらのパラメータは視線離角θ依存性を持つこともある。式（２）で示される衝突検出評価関数Ｉ（ｘ、ｙ、ｚ；θ）は、前出の式（１）で示されるものと同様に、視線離角θとともに単調減少する関数である。
【００６５】
図１２は、視線離角θ依存性を有する衝突検出評価関数Ｉ（ｘ、ｙ、ｚ；θ、ψ）を示す。ユーザの関心度は、曲線ｗ５、ｗ６のように、通常、前方に集中しており、視線離角θがある角度ψを超えると急激に減衰する。このような関数として、例えば、Ｉ（ｘ，ｙ，ｚ；θ、ψ）＝ａ／｛ｅｘｐ［ｂ（θ−ψ）＋１］｝、ａ＞０、ｂ＞０のような関数を用いることができる。これらの曲線ｗ５，ｗ６の大小は、前述の場合と同様に、例えば、ユーザ２の関心度の時間変化などを反映したものである。
【００６６】
次に、関心度種別の異なる衝突検出評価関数の組合せについて述べる。前述のように指差しによって定まる衝突検出評価関数は、例えば、指差方向からの角度φが増大するにしたがって減衰するような関数Ｉ（ｘ、ｙ、ｚ；φ）で表現することが考えられ、また、指位置からの距離ｓによって減衰するようなＩ（ｘ、ｙ、ｚ；ｓ）で表現することも考えられる。また、両者を組み合わせることも考えられる。例えば、定数ａを用いて、Ｉ（ｘ、ｙ、ｚ；φ、ｓ）＝ａ／（φ・φ・ｓ・ｓ）、とすることができる。
【００６７】
さらに、指差しによって定まる衝突検出評価関数Ｉｆ＝Ｉ（ｘ、ｙ、ｚ；ｆ）に、頭又は顔の向きによって定まる衝突検出評価関数Ｉｈ＝Ｉ（ｘ、ｙ、ｚ；ｈ）や、視線によって定まる衝突検出評価関数Ｉｅ＝Ｉ（ｘ、ｙ、ｚ；ｅ）などを組み合わせることも考えられる。例えば、これらのように略対等な関係にあるとみなせる衝突検出評価関数Ｉｆ、Ｉｈ、Ｉｅについては、３種類の衝突検出評価関数の和によって、Ｉ（ｘ、ｙ、ｚ；ｆ、ｈ、ｅ）＝Ｉｆ＋Ｉｈ＋Ｉｅで決まる衝突検出評価関数を用いることができる。
【００６８】
次に、空間に存在する仮想物体ｍに対する関心度（物体関心度）Ｏ（ｍ）について説明する。この「物体関心度」は、ユーザの関心度情報と衝突検出の詳細度を階層的に関連づけるため物体に対して定義される。物体が移動するという意味で、「物体の関心度」は空間座標の関数である。また、衝突検出評価関数は、仮想３次元空間における特定の部分空間に対して関心度を設定したものである。物体に対する関心度（物体関心度）は、物体が本来移動するものなので、関心度の高い空間に物体が現れたときに、その空間の関心度の影響を受けてその物体の関心度が高まる場合と、物体の存在する空間の位置にかかわらず、物体そのものがユーザにとって関心の高いものである場合とがある。
【００６９】
上述の前者の場合、つまり物体が空間の関心度の影響を受けつぐ場合の物体の関心度は、例えば、その物体の空間内の位置と向きに応じて、その物体が占有する空間における関心度の総合計で定義することができる。すなわち、前述の空間に関する衝突検出評価関数Ｉ（ｘ、ｙ、ｚ；α）を、物体の占める空間領域で積分することによって計算することができる。そこで、物体ｍの関心度Ｏ（ｍ）は、下記の式（３）によって求められる。
【００７０】
【数３】
2005071285.tif 000005
【００７１】
また、上述の後者の場合、つまり物体の存在する空間の位置にかかわらず、物体そのものがユーザにとって関心の高いものである場合、その物体ｍ１の関心度Ｏ（ｍ１）は、次のようないくつかの方法によって決められる。１つは、システムの稼働開始時にユーザが物体の関心度Ｏ（ｍ１）を設定することによって決められる。２つは、システム稼働中にユーザの関心度情報を関心度取得ステップにおいて取得し、その情報により物体ｍ１の関心度Ｏ（ｍ１）が決められる。最後に、両者の場合に対して、ユーザの関心度の時間変化を取り入れて、変動した物体γの関心度Ｏ（ｍ１）が決められる。いずれにせよ、このようにして決められた物体ｍ１の関心度Ｏ（ｍ１）を用いて、物体表現の詳細度、及び衝突検出の詳細度が決定される。
【００７２】
次に、上述の物体ｍや物体ｍ１の関心度Ｏ（ｍ），Ｏ（ｍ１）を用いて、物体の詳細度を決定し、さらに衝突検出の詳細度を決定することについて説明する。物体ｍで物体を代表して説明する。物体ｍの関心度Ｏ（ｍ）は、通常、連続な値をとり、その上下限をＯｍａｘ、Ｏｍｉｎとすると、Ｏｍｉｎ≦Ｏ（ｍ）≦Ｏｍａｘである。また、物体ｍは、詳細度が異なる複数の表現形式を有しており、その詳細度は離散的な、かつ有限個の値をとる。物体ｍの各異なる表現形式に対して、詳細度Ｌ（ｊ）、ｊ＝０〜（ｎ−１）でラベル付けする。Ｌ（０）が最も詳細であり、Ｌ（ｎ−１）が最も粗い詳細度である。以上の記号を用いて、ある関心度Ｏｊに対する物体ｍの詳細度Ｌ（ｊ）を与える引数ｊを、以下の式（４）によって決定する。ただし、式（４）の右辺において数式を挟む記号［］は、記号［］に挟まれた数式の値の四捨五入値を表す。
【００７３】
【数４】
2005071285.tif 000006
【００７４】
上式（４）の説明を、図１３に示す。数値範囲０〜（ｎ−１）を、（Ｏｍａｘ−Ｏｊ）／（Ｏｍａｘ−Ｏｍｉｎ）によって比例配分した値を整数化して、詳細度Ｌ（ｊ）を与える引数ｊが求められている。
【００７５】
なお、上式（４）では、関心度の上限下限と、物体の詳細度の上限下限を対応させているが、オフセットを設けて、他の時点及び他の物体における関心度との強弱変動の要素を反映してもよい。例えば、他の物体と比べて全体的に低い関心度（物体の関心度）を示す物体については、最大詳細度の表現形式を除いた詳細度Ｌ（１）〜Ｌ（ｎ−１）について上式（４）を適用する。
【００７６】
次に、上述した空間の衝突検出評価関数Ｉ（ｘ、ｙ、ｚ、；α）、物体ｍの関心度Ｏ（ｍ）、さらに物体ｍの関心度Ｏｊに対する詳細度Ｌ（ｊ）等を用いて、実時間仮想空間システムにおける衝突を検出する一連の処理（前述の図４又は図５のインタラクション解析処理）を説明する。まず、システムが稼働して、ユーザと空間／物体とのインタラクションが発生する。そこで、ユーザの関心度情報が関心度の評価項目毎に調べられ、衝突検出評価関数Ｉ（Ｘ，Ｙ，Ｚ；α）の生成、又は前回生成した衝突検出評価関数Ｉ（Ｘ，Ｙ，Ｚ；α）の更新が行われる。
【００７７】
続いて、空間の衝突検出評価関数Ｉ（Ｘ，Ｙ，Ｚ；α）に基づき、各物体ｍ１，ｍ２、・・について、物体の関心度Ｏ（ｍ１）、Ｏ（ｍ２）、・・の計算が行われた後、衝突検出に用いられる物体の詳細度（表現形式）、したがって、衝突検出の詳細度が決定される。次に、物体の詳細度（表現形式）によって決まった各物体の衝突検出用形状モデルを用いて、各物体同士が衝突したかしていないかが調べられ、さらに、衝突が発生していると判定された場合には、どこでどのように発生したかが調べられる。
【００７８】
上述のインタラクション解析処理で行われる衝突検出のステップは、詳細度を超える精度の検出作業は打ち切ってそれ以上の検出を行わないことに特徴がある。図１４はこのような詳細度を制限した衝突検出の例を８分木で示す。物体Ｍ１，Ｍ２の衝突を調べるとき、一番粗いモデルから２番目に粗い詳細度Ｌ（ｎ−２）のレベルまで衝突の検出は行うが、それ以上は検出を打ち切って行わないことを示している。
【００７９】
また、図１５は、ポリゴンで表現した物体ｋ１，ｋ２について、それぞれ詳細度がＬＯＤ（ｋ１，ｊ１）、ＬＯＤ（ｋ２，ｊ２）と決定された場合の衝突検出を示す。このようなポリゴン同士の衝突検出は、両物体を構成するポリゴンの相互間で衝突検出の計算が行われる。例えば、それぞれのポリゴン数をＰ（ｋ１）、Ｐ（ｋ２）とすると、Ｐ（ｋ１）×Ｐ（ｋ２）回のポリゴン間計算が行われる。このような、ポリゴン間の計算量は、それぞれの物体の詳細度、従ってポリゴン数を関心度に基づいて制限されたものとなっている。
【００８０】
次に、上述したいずれかの衝突検出方法を用いる仮想空間生成装置について説明する。図１６は仮想空間生成装置のブロック構成を示す。仮想空間生成装置１０は、ユーザ２とのインタラクションを行うためのインターフェイス部４０と、データ処理及び機器の制御を行うコンピュータ５０を備えている。ユーザ２とインターフェイス部４０は互いに双方向のインタラクションで、またインターフェイス部４０とコンピュータ５０は双方向データ通信で結合されている。以下で、各部の構成を説明する。
【００８１】
まず、インターフェイス部４０は、入力Ｉ／Ｆ部４１と出力Ｉ／Ｆ部４２とを有している。入力Ｉ／Ｆ部４１は、ユーザ２からの入力を受け取り、コンピュータ５０へとデータを転送する。また、出力Ｉ／Ｆ部４２は、コンピュータ５０からの出力を受け取り、ユーザ２が認識できる態様でその出力を画像や音声等によりユーザに提示する。
【００８２】
入力Ｉ／Ｆ部４１は、ユーザが自発的に操作してインタラクションを発生させる機器からデータを入力する操作機器入力部４１１を有している。その操作機器としては、ポインタ、操作レバー、ハンドルなどを用いることができる。また、ユーザと仮想空間生成装置１０とのインタラクションの結果、ユーザ２に発生する状態変化を検知する機器からデータを入力する計測機器入力部４１２を有している。計測機器として、瞳の動きを捉える視線方向計測機や、姿勢、体温、発汗、脳波などを計測する一般的な計測機器を用いることができる。
【００８３】
出力Ｉ／Ｆ部４２は、コンピュータ５０が生成した仮想空間、及びその中の物体や事象をユーザ２に認知させるために、感覚に訴えるようにデータの提示を行う。例えば、画像出力部４２１による２次元や３次元の物体表示、音声出力部４２２による衝突音の提示、体感出力部４２３によるユーザ２への圧力提示などが行われる。
【００８４】
次に、コンピュータ５０は、入力部５１、物体姿勢計算部５２、衝突計算部５３、出力部５４、時間管理部５５を有している。入力部５１は、インターフェイス部４０からのデータ処理し、ユーザの関心度を評価する衝突検出評価関数作成部５１１を有しており、ここで前述の衝突検出評価関数Ｉ（Ｘ，Ｙ，Ｚ；α）が生成又は更新される。物体姿勢計算部５２は、物理法則を衝突現象や物体の状態変化に反映させるためのデータを記憶している物理条件記憶部５２１を有しており、これらのデータと、過去の出力結果、及び現在の入力情報により、空間中の物体の位置や姿勢が計算される。
【００８５】
衝突計算部５３は、物体表現記憶部５３１、詳細度記憶部５３２、及び衝突検出部５３３を有しており、ユーザ・インタラクションに応じて詳細度を変更して衝突の検出を行う。物体表現記憶部５３１は、衝突検出に用いる異なる詳細度で表現した物体形状モデルを記憶している。また、詳細度記憶部５３２は、衝突検出評価関数Ｉ（Ｘ，Ｙ，Ｚ；α）を統合して、各物体ごとに物体の関心度Ｈ（ｍ）を生成し、詳細度を決定して衝突検出に用いる物体形状モデルを決定する。また、衝突検出部５３３は、各物体形状モデルの表面位置や法線方向をもとにどこで、どのように衝突が発生しているか、又は発生していないかを検出する。
【００８６】
出力部５４は、上述の衝突計算部５３２が検出し、各物体がどこでどのように衝突したかということについて出力されたデータをもとに、ユーザ２に提示するための衝突結果のデータを作成する。この衝突結果データは、インターフェイス部４０に渡され、出力Ｉ／Ｆ部４２によりユーザに提示される。衝突結果データは、ユーザに提示される形態に従い、視覚部５４１、聴覚部５４２、運動感覚部５４３、皮膚感覚部５４４により、上下限について正規化したデータとされる。
【００８７】
時間管理部５５は、仮想空間において発生する事象を物理法則にそって発生させ、また空間におけるリアルタイム性を確保するように繰り返しサイクルの時間管理などを行う。
【００８８】
上述した仮想空間生成装置１０構成により、コンピュータ５０が仮想空間を生成し、その部分空間又は空間内の物体に対するユーザ２の関心度に応じて階層的に決めた衝突検出評価関数に基づいて衝突検出の詳細度が動的に変更され、衝突が検出される。詳細な衝突検出のための計算資源を必要な箇所に重点的に割り当て、注目する物体に対する衝突検出精度と衝突検出速度の両方を向上した装置が実現できる。その結果、ユーザ２のインタラクティブな活動がより効果的に支援されるようになる。ユーザ２は、このような仮想空間生成装置により自律性（無矛盾性）と実時間性を両立して生成された仮想空間において、自己投射性を実現した状態で仮想空間をインタラクティブに利用することができる。
【００８９】
なお、本発明は、上記構成に限られることなく種々の変形が可能である。例えば、物体形状表現方法としてボクセルや他の表現を用いることができる。また、特に注目する物体については、その物体がユーザの視野内に存在しない場合であっても、衝突検出評価関数値を高いものに保つようにしてもよい。本発明は、広い３次元空間や大画面没入的ディスプレイなどで効果的に適用される。また、本発明は外科手術のような顕微鏡下の作業訓練、機械製品組立・分解の習熟訓練、宇宙空間における宇宙船ドッキング訓練などの、物体の離合・集散現象のように広い意味の衝突を含む作業分野において効果的に適用される。
【図面の簡単な説明】
【００９０】
【図１】本発明の一実施形態に係る仮想３次元空間における関心度と衝突検出の詳細度との関係概念図。
【図２】（ａ）は本発明の一実施形態に係る仮想３次元空間における関心度と衝突検出詳細度のから定まる仮想３次元空間の部分領域の大小を説明する３次元グラフ、（ｂ）〜（ｃ）は（ａ）の３次元グラフの２次元投影グラフ。
【図３】本発明の一実施形態に係る衝突検出評価関数の概念説明図。
【図４】本発明の一実施形態に係るインタラクションに応じて詳細度を変更して衝突検出をする実時間仮想空間システムの処理フロー図。
【図５】本発明の一実施形態に係る仮想３次元空間におけるインタラクション解析処理を示すフロー図。
【図６】（ａ）（ｂ）（ｃ）は本発明の一実施形態に係る詳細度の異なる物体の形状表現の図。
【図７】（ａ）（ｂ）は本発明の一実施形態に係る関心度の計測方法を示す図。
【図８】本発明の一実施形態に係る８分木の階層と衝突検出詳細度との関係図。
【図９】（ａ）は本発明の一実施形態に係る仮想３次元空間における衝突検出時の関心度、衝突検出の詳細度、及び物体表現の詳細度を適用した関係図、（ｂ）は（ａ）の状態でユーザに提示される物体の図。
【図１０】（ａ）は本発明の一実施形態に係る仮想３次元空間における衝突検出評価関数の構成を示す斜視図、（ｂ）は（ａ）の衝突検出評価関数のグラフ。
【図１１】本発明の一実施形態に係る仮想３次元空間における他の衝突検出評価関数の構成を示す斜視図。
【図１２】本発明の一実施形態に係る仮想３次元空間における他の衝突検出評価関数のグラフ。
【図１３】本発明の一実施形態に係る関心度と詳細度の関係説明。
【図１４】本発明の一実施形態に係る衝突検出の例を示す８分木の図。
【図１５】本発明の一実施形態に係る衝突検出の例を説明する図。
【図１６】本発明の一実施形態に係る仮想空間生成装置のブロック図。
【図１７】衝突・干渉検出の応用分野を説明する分野マップ図。
【図１８】（ａ）（ｂ）は仮想空間における物体衝突の説明図。
【図１９】ユーザ・インタラクションのある仮想空間における従来の実時間システムの処理フロー図。
【図２０】（ａ）は仮想空間における物体表示と物体衝突を示す斜視図、（ｂ）は仮想空間を８分割した斜視図。
【図２１】（ａ）（ｂ）は８分木による物体衝突検出を説明する８分木の図。
【符号の説明】
【００９１】
１    仮想空間
２    ユーザ
５、６、７、８    物体
１０    仮想空間生成装置
５０    コンピュータ
Ｉ    衝突検出評価関数
Ｏ    物体の関心度
【図１】
2005071285.tif 000007
【図２】
2005071285.tif 000008
【図３】
2005071285.tif 000009
【図４】
2005071285.tif 000010
【図５】
2005071285.tif 000011
【図６】
2005071285.tif 000012
【図７】
2005071285.tif 000013
【図８】
2005071285.tif 000014
【図９】
2005071285.tif 000015
【図１０】
2005071285.tif 000016
【図１１】
2005071285.tif 000017
【図１２】
2005071285.tif 000018
【図１３】
2005071285.tif 000019
【図１４】
2005071285.tif 000020
【図１５】
2005071285.tif 000021
【図１６】
2005071285.tif 000022
【図１７】
2005071285.tif 000023
【図１８】
2005071285.tif 000024
【図１９】
2005071285.tif 000025
【図２０】
2005071285.tif 000026
【図２１】
2005071285.tif 000027