パッケージ com.nttdocomo.ui.util3d

3D グラフィックスや 3D サウンドで使用するユーティリティクラスを定義します。

参照:
          説明

クラスの概要
FastMath float 型の高速な数値 演算 機能を提供する、ユーティリティクラスを定義します。
Transform 浮動小数による三次元アフィン変換用の行列データを保持する、 変換行列クラスを定義します。
Vector3D 三次元のベクトルを表す、ベクトルクラスを定義します。
 

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

3D グラフィックスや 3D サウンドで使用するユーティリティクラスを定義します。

各種の float 型(浮動小数型)の演算は、システム内部にて整数演算に変換されて 行われます。従って演算結果には誤差が出る可能性がありますが、 通常の float 型による演算に比べて、高速に結果を得ることを期待できます。

整数演算の際、小数 1.0 を 4096 にマッピングする固定小数 (int 型) を用います。 その int 幅からはみでるような小数部の値は、切り捨てられます。 また、大きい値を用いたときに、 int 幅に収まらないときには、 幅からはみだした 部分は無視されます。 各種の計算を行った際に、値が int 型の範囲を超えてオーバーフローが発生したときの 結果は機種依存です。

具体的には、 float 型の値は、計算時に int 型に変換されます。 実際の計算結果は、演算ルーチン内部にて整数値により定まります。 演算ルーチンは最終的に、この整数値を float 型の浮動小数値に変換することで、 各メソッドの戻り値、あるいは、各オブジェクトが保持する値を確定させます。

入力値に、以下のいずれかの特別な値が与えられたときは、 常に IllegalArgumentException の例外が発生します。

  Float.NaN 
  Float.POSITIVE_INFINITY 
  Float.NEGATIVE_INFINITY 
また、各種の値を int 型の幅に丸めたときに 0 になることがあり、 このときは float 型では 0 ではなくても、値 0 とみなされて演算処理が行われます。 従って、零チェックを行うようなメソッドにおいては、 float 型では 0 ではない 値を用いたときでも、各種の例外が発生することがあります。 なお、負の 0(negative zero)は、常に正の 0 とみなされます。