|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.nttdocomo.ui.ogl.math.Matrix4f
同次変換を行う4x4行列を表すクラスです。
処理高速化のため、行列要素にアクセスする際はアクセッサメソッドを使用せず、 インスタンス変数に直接アクセスしてください。
フィールドの概要 | |
float[] |
m
行列要素です。 |
コンストラクタの概要 | |
Matrix4f()
コンストラクタです。 |
|
Matrix4f(Matrix4f m)
コンストラクタです。 |
メソッドの概要 | |
void |
invert()
逆行列を求めます。 |
void |
lookAt(Point3f eye,
Point3f look,
Vector3f up)
視点座標への変換となるように行列の要素を設定します。 |
void |
mul(Matrix4f m)
Matrix4f 同士の掛け算を行います。
|
void |
mul(Matrix4f m1,
Matrix4f m2)
Matrix4f 同士の掛け算を行います。
|
void |
rotate(float angle,
float x,
float y,
float z)
回転成分を乗算します。 |
void |
scale(float x,
float y,
float z)
スケール値を乗算します。 |
void |
setIdentity()
単位行列化します。 |
void |
transform(Tuple4f t)
4次元要素の座標変換を行います。 |
void |
translate(float x,
float y,
float z)
平行移動成分を乗算します。 |
クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public float[] m
行列要素です。
配列長は4x4=16です。
OpenGL® ESのルールに従い、行列要素は以下の順で配列に格納されていることに注意してください。
コンストラクタの詳細 |
public Matrix4f()
コンストラクタです。
全ての行列要素は0で初期化されます。
UnsupportedOperationException
- OpenGL® ES に相当する機能をサポートしていない場合に発生します。
public Matrix4f(Matrix4f m)
コンストラクタです。
引数mの行列要素で初期化されます。
m
- 初期化を行う行列です。
UnsupportedOperationException
- OpenGL® ES に相当する機能をサポートしていない場合に発生します。
NullPointerException
- 引数mにnullが指定された場合に発生します。
NullPointerException
- [DoJa-5.1 (905i) 以降] 引数mの行列要素m
にnullが設定されている場合に発生します。
ArrayIndexOutOfBoundsException
- [DoJa-5.1 (905i) 以降] 引数mの行列要素m
に、配列長が4x4=16未満の配列が設定されている場合に発生します。
メソッドの詳細 |
public void mul(Matrix4f m)
Matrix4f
同士の掛け算を行います。
このインスタンス(this)に対して引数mを右から掛けます。
計算結果はこのインスタンスに保存されます。
(this = this * m)
m
- このインスタンスに対して掛ける行列を指定します。
NullPointerException
- 引数mにnullが指定された場合に発生します。
NullPointerException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
、または引数mの行列要素m
にnullが設定されている場合に発生します。
ArrayIndexOutOfBoundsException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
、 または引数mの行列要素m
に配列長が4x4=16未満の配列が設定されている場合に発生します。
public void mul(Matrix4f m1, Matrix4f m2)
Matrix4f
同士の掛け算を行います。
引数m1に対して引数m2を右から掛け、結果をこのインスタンスに保存します。
(this = m1 * m2)
m1
- 左から掛ける行列を指定します。m2
- 右から掛ける行列を指定します。
NullPointerException
- 引数m1もしくはm2にnullが指定された場合に発生します。
NullPointerException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
、または引数m1、m2の行列要素m
にnullが設定されている場合に発生します。
ArrayIndexOutOfBoundsException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
、または引数m1、m2の行列要素m
に配列長が4x4=16未満の配列が設定されている場合に発生します。
public void transform(Tuple4f t)
4次元要素の座標変換を行います。
このインスタンスで引数tの座標変換を行い、結果を引数tに保存します。
(t = this * t)
t
- 座標変換を行う4次元要素を指定します。
NullPointerException
- 引数tにnullが指定された場合に発生します。
NullPointerException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
にnullが設定されている場合に発生します。
ArrayIndexOutOfBoundsException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
に配列長が4x4=16未満の配列が設定されている場合に発生します。
public void invert()
逆行列を求めます。
このインスタンスの逆行列を求め、結果をこのインスタンスに保存します。
(this = this-1)
IllegalArgumentException
- 行列式の値が0である場合に発生します。
NullPointerException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
にnullが設定されている場合に発生します。
ArrayIndexOutOfBoundsException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
に配列長が4x4=16未満の配列が設定されている場合に発生します。
public void setIdentity()
単位行列化します。
このインスタンスを単位行列化します。
NullPointerException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
にnullが設定されている場合に発生します。
ArrayIndexOutOfBoundsException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
に配列長が4x4=16未満の配列が設定されている場合に発生します。
public void translate(float x, float y, float z)
平行移動成分を乗算します。
このインスタンスの現在の平行移動成分に対して、
引数で指定された平行移動量(T)を乗算します。
(this = this * T)
なお、Tは以下になります。
x
- x軸方向の移動量を指定します。y
- y軸方向の移動量を指定します。z
- z軸方向の移動量を指定します。
NullPointerException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
にnullが設定されている場合に発生します。
ArrayIndexOutOfBoundsException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
に配列長が4x4=16未満の配列が設定されている場合に発生します。
public void rotate(float angle, float x, float y, float z)
回転成分を乗算します。
このインスタンスの現在の回転成分に対して、
引数で指定された回転量(R)を乗算します。
(this = this * R)
なお、回転行列要素をr0〜r8とするとき、Rは以下になります。
angleの定義域は[-360, 360]です。
回転軸となるベクトルがゼロベクトルであった場合、 およびangleに定義域外の値が指定された場合の結果は保証されません。
angle
- 回転量[degree]を指定します。x
- 回転軸となるベクトルのx軸方向の成分を指定します。y
- 回転軸となるベクトルのy軸方向の成分を指定します。z
- 回転軸となるベクトルのz軸方向の成分を指定します。
NullPointerException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
にnullが設定されている場合に発生します。
ArrayIndexOutOfBoundsException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
に配列長が4x4=16未満の配列が設定されている場合に発生します。
public void scale(float x, float y, float z)
スケール値を乗算します。
このインスタンスの現在のスケール成分に対して、
引数で指定されたスケール値(S)を乗算します。
(this = this * S)
なお、Sは以下になります。
x
- x軸方向のスケール値を指定します。y
- y軸方向のスケール値を指定します。z
- z軸方向のスケール値を指定します。
NullPointerException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
にnullが設定されている場合に発生します。
ArrayIndexOutOfBoundsException
- [DoJa-5.1 (905i) 以降] このインスタンスの行列要素m
に配列長が4x4=16未満の配列が設定されている場合に発生します。
public void lookAt(Point3f eye, Point3f look, Vector3f up)
視点座標への変換となるように行列の要素を設定します。
eye
- 視点位置を指定します。look
- 参照点を指定します。up
- 視線のUpベクトルを指定します。
NullPointerException
- 引数eye, look, upのいずれかがnullである場合に発生します。
IllegalArgumentException
- upベクトルが零ベクトルである場合、
視線ベクトル(look-eye)が零ベクトルである場合、
視線ベクトル(look-eye)とupベクトルが平行である場合に発生します。
NullPointerException
- このインスタンスの行列要素m
にnullが設定されている場合に発生します。
ArrayIndexOutOfBoundsException
- このインスタンスの行列要素m
に配列長が4x4=16未満の配列が設定されている場合に発生します。
|