|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.nttdocomo.ui.util3d.Vector3D
三次元のベクトルを表す、ベクトルクラスを定義します。
ベクトルの内容は、 3 個の float 型の値 (x 要素, y 要素, z 要素) です。
以下のメソッドによって
setX(float)
メソッドによって値 x を設定した直後に、
getX()
メソッドによって取得した値 a を比較するとします。
そのとき、 x==a は常に真です。
コンストラクタの概要 | |
Vector3D()
ベクトルオブジェクトを生成します。 |
|
Vector3D(float x,
float y,
float z)
ベクトルオブジェクトを要素を指定して生成します。 |
|
Vector3D(Vector3D v)
任意のベクトルオブジェクトの内容を完全に複製することで、 新規にベクトルオブジェクトを生成します。 |
メソッドの概要 | |
void |
add(float x,
float y,
float z)
ベクトルに加算を行い、結果をこのオブジェクトに格納します。 |
void |
add(Vector3D v)
ベクトルの加算を行い、結果をこのオブジェクトに格納します。 |
void |
cross(Vector3D v)
このベクトルと指定されたベクトルの外積を計算します。 |
void |
cross(Vector3D u,
Vector3D v)
指定された二つのベクトルの外積を計算して、 結果をこのオブジェクトに格納します。 |
float |
dot(Vector3D v)
このベクトルと、指定されたベクトルの内積を計算します。 |
static float |
dot(Vector3D v1,
Vector3D v2)
指定された二つのベクトルの内積を計算します。 |
float |
getX()
ベクトルの x 成分を取得します。 |
float |
getY()
ベクトルの y 成分を取得します。 |
float |
getZ()
ベクトルの z 成分を取得します。 |
void |
normalize()
このベクトルを正規化(単位ベクトル化)します。 |
void |
set(float x,
float y,
float z)
ベクトルの各成分を設定します。 |
void |
set(Vector3D v)
任意のベクトルオブジェクトの内容を完全に複製することで、 このベクトルオブジェクトの内容を再設定します。 |
void |
setX(float x)
ベクトルの x 成分を設定します。 |
void |
setY(float y)
ベクトルの y 成分を設定します。 |
void |
setZ(float z)
ベクトルの z 成分を設定します。 |
クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public Vector3D()
ベクトルオブジェクトを生成します。要素は全て0に設定されます。
public Vector3D(Vector3D v)
任意のベクトルオブジェクトの内容を完全に複製することで、 新規にベクトルオブジェクトを生成します。
v
- ベクトルブジェクトを指定します。
NullPointerException
- 引数 v が null の場合に発生します。
public Vector3D(float x, float y, float z)
ベクトルオブジェクトを要素を指定して生成します。
x
- ベクトルの x 成分を指定します。y
- ベクトルの y 成分を指定します。z
- ベクトルの z 成分を指定します。
IllegalArgumentException
- 引数 x,y,z のいずれかに、
Float.NaN, Float.POSITIVE_INFINITY, Float.NEGATIVE_INFINITY
のいずれかが指定された場合に発生します。
メソッドの詳細 |
public void set(float x, float y, float z)
ベクトルの各成分を設定します。
x
- ベクトルの x 成分を指定します。y
- ベクトルの y 成分を指定します。z
- ベクトルの z 成分を指定します。
IllegalArgumentException
- 引数 x,y,z のいずれかに、
Float.NaN, Float.POSITIVE_INFINITY, Float.NEGATIVE_INFINITY
のいずれかが指定された場合に発生します。
public void set(Vector3D v)
任意のベクトルオブジェクトの内容を完全に複製することで、 このベクトルオブジェクトの内容を再設定します。
v
- ベクトル
オ
ブジェクトを指定します。
NullPointerException
- 引数 v が null の場合に発生します。
public void add(float x, float y, float z)
ベクトルに加算を行い、結果をこのオブジェクトに格納します。
具体的には、以下のような計算を行います。
set(getX() + x, getY() + y, getZ() + z);
x
- ベクトルのx成分y
- ベクトルのy成分z
- ベクトルのz成分
IllegalArgumentException
- 引数 x,y,z のいずれかに、
Float.NaN, Float.POSITIVE_INFINITY, Float.NEGATIVE_INFINITY
のいずれかが指定された場合に発生します。
public void add(Vector3D v)
ベクトルの加算を行い、結果をこのオブジェクトに格納します。
具体的には、以下のような計算を行います。
set(getX() + v.getX(), getY() + v.getY(), getZ() + v.getZ());
なお、 this と v が同一のオブジェクトが指している場合でも、 正しく計算が行われます。
v
- ベクトルオブジェクトを指定します。
NullPointerException
- 引数 v が null の場合に発生します。
public void setX(float x)
ベクトルの x 成分を設定します。
x
- x 成分の値を指定します。
IllegalArgumentException
- 引数 x に、
Float.NaN, Float.POSITIVE_INFINITY, Float.NEGATIVE_INFINITY
のいずれかが指定された場合に発生します。
public void setY(float y)
ベクトルの y 成分を設定します。
y
- y 成分の値を指定します。
IllegalArgumentException
- 引数 y に、
Float.NaN, Float.POSITIVE_INFINITY, Float.NEGATIVE_INFINITY
のいずれかが指定された場合に発生します。
public void setZ(float z)
ベクトルの z 成分を設定します。
z
- z 成分の値を指定します。
IllegalArgumentException
- 引数 z に、
Float.NaN, Float.POSITIVE_INFINITY, Float.NEGATIVE_INFINITY
のいずれかが指定された場合に発生します。
public float getX()
ベクトルの x 成分を取得します。
public float getY()
ベクトルの y 成分を取得します。
public float getZ()
ベクトルの z 成分を取得します。
public void normalize()
このベクトルを正規化(単位ベクトル化)します。
ArithmeticException
- このベクトルが零ベクトルの場合に発生します。
また、ベクトルの内容を int 幅の値に変換したときに、
零ベクトルになる場合にも発生します。
public float dot(Vector3D v)
このベクトルと、指定されたベクトルの内積を計算します。
dot(this, v)
を呼び出したのと同じ結果になります。
v
- このベクトルと内積をとるベクトルを指定します。
NullPointerException
- 引数 v が null の場合に発生します。
public static float dot(Vector3D v1, Vector3D v2)
指定された二つのベクトルの内積を計算します。
具体的には、以下のような計算を行います。
v1.getX() * v2.getX() + v1.getY() * v2.getY() + v1.getZ() * v2.getZ();
v1
- 内積をとるベクトルを指定します。v2
- 内積をとるベクトルを指定します。
NullPointerException
- 引数 v1 または v2 が null の場合に発生します。
public void cross(Vector3D v)
cross(this, v)
を呼び出したのと同じ結果になります。
なお、 this と v が同一のオブジェクトが指している場合でも、 正しく計算が行われます(この場合は零ベクトルが設定されます)。
v
- このベクトルと外積をとるベクトルを指定します。
NullPointerException
- 引数 v が null の場合に発生します。
public void cross(Vector3D u, Vector3D v)
指定された二つのベクトルの外積を計算して、 結果をこのオブジェクトに格納します。
(u × v) の結果を、このオブジェクトに設定します。
具体的には、以下のような計算を行います。
float x = u.getY() * v.getZ() - u.getZ() * v.getY(); float y = u.getZ() * v.getX() - u.getX() * v.getZ(); float z = u.getX() * v.getY() - u.getY() * v.getX(); set(x, y, z);
なお、 this と v1 が同一のオブジェクトが指している場合、 this と v2 が同一のオブジェクトが指している場合、 あるいは、v1 と v2 が共に this を指している場合、 いずれの場合でも正しく計算が行われます。
u
- 外積をとるベクトルを指定します。v
- 外積をとるベクトルを指定します。
NullPointerException
- 引数 u または v が null の場合に発生します。
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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ドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。