|
||||||||
フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--com.jblend.graphics.m3d.AffineTrans3D
3次元アフィン変換用の行列クラスです。
このクラスは、モデリング座標系からワールド座標系へのアフィン変換の行列、 および、ワールド座標系から視野座標系へのアフィン変換の行列として利用します。
数値は、固定小数点(1.0=4096)として扱う必要があります。
コンストラクタの概要 | |
AffineTrans3D()
単位行列として行列を生成します。 |
|
AffineTrans3D(int[] array)
要素の値を指定して行列を生成します。 |
|
AffineTrans3D(int a00,
int a01,
int a02,
int a03,
int a10,
int a11,
int a12,
int a13,
int a20,
int a21,
int a22,
int a23)
要素の値を指定して行列を生成します。 |
メソッドの概要 | |
int[] |
get()
行列の要素を返します。 |
void |
lookAt(Point3D position,
Vector3D look,
Vector3D up)
視点座標への変換となるように行列を設定します。 |
void |
multiply(AffineTrans3D t)
行列の積 (this × t) を計算し、結果の行列を保持します。 |
void |
multiply(AffineTrans3D t1,
AffineTrans3D t2)
行列の積 (t1 × t2) を計算し、結果の行列を保持します。 |
void |
rotate(Vector3D axis,
int angle)
指定されたベクトル軸に対する回転を加えます。 |
void |
rotate(Vector3D axis,
Point3D pos,
int angle)
指定されたベクトル軸に対する回転を加えます。 |
void |
scale(int s)
拡大縮小(3 軸等価)を加えます。 |
void |
scale(int sx,
int sy,
int sz)
拡大縮小(3 軸個別)を加えます。 |
void |
set(int[] array)
行列の要素に値を設定します。 |
void |
set(int a00,
int a01,
int a02,
int a03,
int a10,
int a11,
int a12,
int a13,
int a20,
int a21,
int a22,
int a23)
行列の要素に値を設定します。 |
void |
setIdentity()
単位行列を設定します。 |
void |
setRotation(Vector3D axis,
int angle)
指定されたベクトル軸に対する回転を設定します。 |
void |
setScale(int s)
拡大縮小(3軸等価)を設定します。 |
void |
setScale(int sx,
int sy,
int sz)
拡大縮小(3軸個別)を設定します。 |
void |
setTranslation(int tx,
int ty,
int tz)
平行移動を設定します。 |
Point3D |
transform(Point3D pos)
指定のベクトルを変換し、結果を返します。 |
void |
translate(int tx,
int ty,
int tz)
平行移動を加えます。 |
クラス java.lang.Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public AffineTrans3D()
public AffineTrans3D(int[] array)
array
- 行列の要素に設定する値の配列java.lang.IllegalArgumentException
- 4x3でない行列が指定された場合に発生するpublic AffineTrans3D(int a00, int a01, int a02, int a03, int a10, int a11, int a12, int a13, int a20, int a21, int a22, int a23)
a00,a01,a02,a03
- 行列の1行目の要素に設定する値a10,a11,a12,a13
- 行列の2行目の要素に設定する値a20,a21,a22,a23
- 行列の3行目の要素に設定する値メソッドの詳細 |
public int[] get()
public void set(int[] array)
array
- 行列の要素に設定する値の配列java.lang.IllegalArgumentException
- 4x3でない行列が指定された場合に発生するpublic void set(int a00, int a01, int a02, int a03, int a10, int a11, int a12, int a13, int a20, int a21, int a22, int a23)
a00,a01,a02,a03
- 行列の1行目の要素に設定する値a10,a11,a12,a13
- 行列の2行目の要素に設定する値a20,a21,a22,a23
- 行列の3行目の要素に設定する値public void setIdentity()
public void multiply(AffineTrans3D t)
multiply
(this, t) を呼び出したのと同じになります。
t
- 乗数となる変換行列public void multiply(AffineTrans3D t1, AffineTrans3D t2)
t1
- 被乗数となる変換行列t2
- 乗数となる変換行列public void rotate(Vector3D axis, int angle)
回転方向は反時計回りです。
axis
- 回転の中心軸angle
- 回転する角度(4096分円単位)public void rotate(Vector3D axis, Point3D pos, int angle)
回転方向は反時計回りです。
axis
- 回転する中心軸pos
- 回転軸の原点angle
- 回転する角度(4096分円単位)public void scale(int s)
s
- スケールpublic void scale(int sx, int sy, int sz)
sx,sy,sz
- スケールpublic void translate(int tx, int ty, int tz)
v
- 移動量public void setRotation(Vector3D axis, int angle)
axis
- 回転する中心軸angle
- 回転する角度(4096分円単位)public void setScale(int s)
s
- スケールpublic void setScale(int sx, int sy, int sz)
sx,sy,sz
- スケールpublic void setTranslation(int tx, int ty, int tz)
t
- 移動量public Point3D transform(Point3D pos)
pos
- 点の座標を表すベクトルpublic void lookAt(Point3D position, Vector3D look, Vector3D up)
視点座標系は、視点位置を原点とし、 視線方向を +z 方向とする右手系です。
position
- 視点の位置look
- 視点からの視線方向up
- 視点からの上方向java.lang.IllegalArgumentException
- 以下の場合に発生する
|
||||||||
フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |