パッケージ com.nttdocomo.ui.graphics3d.collision

3D グラフィックスとともに利用する、衝突判定クラスを定義します。

参照:
          説明

インタフェースの概要
AxisAlignedBV ワールド座標軸に平行なBounding Volume(AABV)を表わすインターフェースです。
BoundingVolume 方向を持つBounding Volume(OBV)を表わすインターフェースです。
CollisionObserver 形状の衝突判定時に、衝突情報とともに通知を受けるためのインターフェースです。
Shape 形状を表わすインターフェースです。
 

クラスの概要
AABBox ワールド座標軸に平行なBoxを表わすクラスです。
AABCapsule ワールド座標のY軸に中心軸が平行となるCapsuleを表わすクラスです。
AABCylinder ワールド座標のY軸に中心軸が平行となるCylinderを表わすクラスです。
AbstractBV Bounding Volumeを表わす抽象クラスです。
AbstractShape 形状を表わす抽象クラスです。
Box 方向を持つBoxを表わすクラスです。
BVBuilder Figureオブジェクトから、BVFigureオブジェクトおよびFigure全体のBoundingVolume オブジェクト、指定したボーンのBoundingVolumeオブジェクトを生成するクラスです。
BVFigure 複数のBoundingVolumeで表現した、ボーン構造を持つFigureクラスです。
Capsule 方向を持つCapsuleを表わすクラスです。
Collision 衝突判定を行うクラスです。
Cylinder 方向を持つCylinderを表わすクラスです。
IntersectionAttribute Pickした情報を保持するクラスです。
Line Line(線分)を表わすクラスです。
Plane 無限平面を表わすクラスです。
Point Pointを表わすクラスです。
Ray Ray(半直線)を表わすクラスです。
Sphere 球を表わすクラスです。
Triangle Triangleを表わすクラスです。
ViewVolume 視錐台におけるBoundingVolumeの可視判定を行うクラスです。
 

パッケージ com.nttdocomo.ui.graphics3d.collision の説明

3D グラフィックスとともに利用する、衝突判定クラスを定義します。

同様の衝突判定機能に、DrawableObject3DクラスのisCrossメソッド (com.nttdocomo.ui.graphics3dパッケージ)がありますが、これはポリゴン を使って正確に衝突判定を行うメソッドであり、判定の精度を重視したメソッドです。
一方、このパッケージで提供するCollisionクラスのisHitメソッドは、単純な形状同士の衝突判定を 行うAPIで、判定の精度よりもパフォーマンスを重視した判定機能であり、isCrossメソッドとは性質が 異なります。
パフォーマンスを重視するコンテンツでは、このクラスの機能を使用されることを推奨します。

※ 図形サイズ・位置、ベクトル、行列設定値に関する注意事項
本パッケージの処理は、乗算・内積・外積などの演算により実装されています。そのため、図形サイズ・位置、 ベクトル、行列の設定値により内部的にオーバーフローする可能性があり、この場合正常な計算結果が得られなく なります。
下記値の絶対値が [2^-32, 2^32] の範囲外の場合、内部的にオーバーフローする可能性が高くなりますので、 この範囲内の現実的な値を使用するようにしてください。(内部でfloatの4〜5乗算を行いますので、 この範囲内であっても下記値の組合せによりオーバーフローすることがあります。)

  1. 図形のサイズ(例:Boxの各辺の長さ、Cylinderの半径と高さ)
  2. 図形の位置(例:BoundingVolumeの中心位置、Lineの始点・終点位置)
  3. ベクトルの長さ(例:Rayの方向ベクトル、Planeの法線ベクトル)
  4. 一次変換行列のスケール(例:ShapeのsetTransformメソッドでセットする行列)
また、衝突判定の対象となる2つの図形のサイズ・位置の値のオーダーが著しく異なる場合、演算過程において 小さい方の数値がfloatの有効桁から落ちる可能性があり、この場合正常な計算結果が得られなくなります。 図形のサイズ・位置の値のオーダーのばらつきは、現実的な範囲としてください。

導入されたバージョン:
DoJa-5.0 (903i)


NTT DOCOMO,INC.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。