• 検索結果がありません。

物理シミュレーションエンジン

3. RUI を用いた情報世界へのインタラクションシステム

3.7. 視覚提示装置としての RUI システム

3.7.2. 物理シミュレーションエンジン

CG アバタに歩行動作を行わせる情報世界内での物体同士の衝突反発運動に関しては,

エアホッケーアプリケーションと同様にペナルティ法を用いて物理シミュレーションを行 う . 今 回 は , ペ ナ ル テ ィ 法 に 基 づ い た 物 理 シ ミ ュ レ ー シ ョ ン エ ン ジ ン で あ る Springhead[39][40][41]を用いてシステムの実装を行う.

Springheadの特徴は以下の通りである.

・接触力の計算方法

Springhead の物理シミュレーション手法はペナルティ法の一種であるが,従来のペナル

ティ法のように接触が1点で起こるとは考えずに領域で起こると考え,接触部分の体積に 基づいて接触力の計算を行う.これにより,従来の手法では困難であった,面同士が接触 する場合(例えば床の上に立方体が乗る場合)の抗力や摩擦力も正確に求めることができ る.

・抗力の計算方法

例えば,床の上に立方体が乗っており,その立方体の最侵入点を両物体の接触点とした 際にペナルティ法を用いた場合の立方体の運動を考える.すると,図 3.26のように立方体 の回転によって最侵入点が切り替わり,接触点が生成・消滅を繰り返してしまうため抗力

の作用点が不連続に変化することになる.この場合,トルクが急激に変化するため回転運 動が収束しない.

図 3.26 抗力とその作用点

Springhead が用いている手法ではこの問題を解決している.Springhead の手法では,接

触領域全体にバネ・ダンパモデルが分布すると考える.このため図 3.27のように,抗力と その作用点は連続に変化し,運動を収束させることができる.

図 3.27 作用点の分布

・摩擦力の計算

接触面上の微小面積に働く動摩擦力や最大静止摩擦力は,その微小面積に働く抗力に比 例し,さらに接触面全体に働く摩擦力はその総和となる.そのため,1 点または頂点や稜 線の交点だけで接触が起こると考える従来の手法では,正確な摩擦力を計算できないとい

:抗力の作用点 :抗力

:最侵入点 :抗力

図 3.28 摩擦トルクの問題

Springhead では,接触領域全体にクーロンの摩擦モデルが分布して摩擦力を発生すると

考えることで,摩擦力だけでなく摩擦トルクも計算可能となっている.

図 3.29 摩擦トルクの問題の解決

:最侵入点 :摩擦力 接触面

摩擦トルクを計算 できない

接触面

:抗力の作用点 :摩擦力