| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
Vector3D クラスは、極座標 x、y、および z を使用して 3 次元空間でのポイントまたは位置を表します。2 次元空間と同様に、
x プロパティは水平軸を表し、
y プロパティは垂直軸を表します。3 次元空間では、
z プロパティが奥行きを表します。
x プロパティの値は、オブジェクトが右に移動するにつれて増加します。
y プロパティの値は、オブジェクトが下に移動するにつれて増加します。
z プロパティの値は、オブジェクトが視点から離れるにつれて増加します。遠近法に基づく投影と拡大 / 縮小を使用すると、オブジェクトは近いと大きく表示され、画面から離れると小さく表示されます。右の 3 次元座標系のように、正の z 軸は閲覧者から離れる方向を指し、オブジェクトが閲覧者の目から離れるにつれて
z プロパティの値が増加します。グローバル空間の起点(0,0,0)は、ステージの左上隅です。
Vector3D クラスは方向、つまり(0,0,0)などの座標の起点からエンドポイントまでの矢印、または RGB(赤、緑、青)カラーモデルの浮動小数点成分を表すこともできます。
四元数表記では、4 番目のエレメントとして w プロパティが作成されます。これにより、方向情報が追加されます。例えば、w プロパティは Vector3D オブジェクトの回転角度を定義できます。回転角度と座標 x、y、および z の組み合わせにより、表示オブジェクトの方向を決定できます。Vector3D エレメントをマトリックス表記で表現すると、次のようになります。
length:Number [読み取り専用]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
起点(0,0,0)からオブジェクトの x、y、および z の各座標までの現在の Vector3D オブジェクトの長さ(大きさ)です。w プロパティは無視されます。単位ベクトルの長さ(大きさ)は 1 です。
実装 public function get length():Number関連項目
lengthSquared:Number [読み取り専用]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトの長さの平方です。x、y および z の各プロパティを使用して計算されます。 w プロパティは無視されます。可能であれば lengthSquared() メソッドを使用します。これは、Math.sqrt() メソッド呼び出し(Vector3D.length() メソッド)は時間がかかるためです。
実装 public function get lengthSquared():Number関連項目
public var w:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
Vector3D オブジェクトの 4 番目のエレメント(x、y および z の各プロパティ以外)は、回転角度などのデータを保持できます。 デフォルト値は 0 です。
四元数表記では、3 次元回転の計算の 4 番目のエレメントとして角度が使用されます。w プロパティを使用すると、Vector3D オブジェクトの回転角度を定義できます。回転角度と座標(x,y,z)の組み合わせにより、表示オブジェクトの方向が決まります。
w プロパティは、投影された 3 次元位置の遠近法のワープ係数、または 2 次元空間に投影された 3 次元座標を表すときの投影変換値として使用することもできます。例えば、Matrix3D.rawData プロパティを使用して投影マトリックスを作成できます。このプロパティを Vector3D オブジェクトに適用すると、Vector3D オブジェクトの 4 番目のエレメント(w プロパティ)で変換値が作成されます。Vector3D オブジェクトの他のエレメントを変換値で除算すると、投影された Vector3D オブジェクトが作成されます。Vector3D.project() メソッドを使用すると、Vector3D オブジェクトの最初の 3 つのエレメントを 4 番目のエレメントで除算できます。
関連項目
public var x:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
Vector3D オブジェクトの最初のエレメント(3 次元空間のポイントの x 座標など)です。デフォルト値は 0 です。
public var y:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
Vector3D オブジェクトの 2 番目のエレメント(3 次元空間のポイントの y 座標など)です。デフォルト値は 0 です。
public var z:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
Vector3D オブジェクトの 3 番目のエレメント(3 次元空間のポイントの z 座標など)です。デフォルト値は 0 です。
public function Vector3D(x:Number = 0., y:Number = 0., z:Number = 0., w:Number = 0.)| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
Vector3D オブジェクトのインスタンスを作成します。コンストラクタのパラメータを指定しない場合、Vector3D オブジェクトはエレメント(0,0,0,0)で作成されます。
パラメータ | x:Number (default = 0.) — 最初のエレメント(x 座標など)です。 |
| |
| y:Number (default = 0.) — 2 番目のエレメント(y 座標など)です。 |
| |
| z:Number (default = 0.) — 3 番目のエレメント(z 座標など)です。 |
| |
| w:Number (default = 0.) — 追加データのオプションエレメント(回転角度など)です。 |
public function add(a:Vector3D):Vector3D| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトの x、y、および z の各エレメントの値を、別の Vector3D オブジェクトの x、y、および z の各エレメントの値に加算します。add() メソッドは、現在の Vector3D オブジェクトを変更しません。代わりに、新しい値を持つ新しい Vector3D オブジェクトを返します。
2 つのベクトルを加算した結果は、合成ベクトルになります。結果を視覚化するには、最初のベクトルの起点(テール)から、2 番目のベクトルの終点(ヘッド)までベクトルを描画するという方法があります。合成ベクトルは、最初のベクトルの起点と 2 番目のベクトルの終点の間の距離です。
パラメータ
| a:Vector3D — 現在の Vector3D オブジェクトに加算される Vector3D オブジェクトです。 |
戻り値 | Vector3D — 現在の Vector3D オブジェクトを別の Vector3D オブジェクトに加算した結果である Vector3D オブジェクトです。 |
関連項目
public static function angleBetween(a:Vector3D, b:Vector3D):Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
2 つのベクトル間の角度をラジアンで返します。返された角度は、最初の Vector3D オブジェクトが 2 番目の Vector3D オブジェクトに整列するまで回転する最小ラジアンです。
angleBetween() メソッドは静的メソッドです。Vector3D クラスのメソッドとして直接使用できます。
角度をラジアンに変換するには、次の式を使用できます。
ラジアン = Math.PI/180 * 度
パラメータ
戻り値 | Number — 2 つの Vector3D オブジェクト間の角度です。 |
public function clone():Vector3D| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトを正確にコピーした新しい Vector3D オブジェクトを返します。
戻り値 | Vector3D — 現在の Vector3D オブジェクトをコピーした新しい Vector3D オブジェクトです。 |
public function crossProduct(a:Vector3D):Vector3D| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトと別の Vector3D オブジェクトに対して垂直(直角)である新しい Vector3D オブジェクトを返します。返された Vector3D オブジェクトの座標が(0,0,0)の場合、2 つの Vector3D オブジェクトは互いに垂直です。
カメラまたは視点の正規化されたベクトルを持つ多角形表面の 2 つの頂点の正規化されたクロス積を使用して、ドット積を取得できます。ドット積の値により、3 次元オブジェクトの表面が視点から隠れているかどうかを識別できます。
パラメータ
戻り値 | Vector3D — 現在の Vector3D オブジェクトとパラメータとして指定された Vector3D オブジェクトに対して垂直である新しい Vector3D オブジェクトです。 |
関連項目
public function decrementBy(a:Vector3D):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトの x、y、および z の各エレメントの値を、指定された Vector3D オブジェクトの x、y、および z の各エレメントの値ずつデクリメントします。Vector3D.subtract() メソッドとは異なり、decrementBy() メソッドは現在の Vector3D オブジェクトを変更し、新しい Vector3D オブジェクトを返しません。
パラメータ
| a:Vector3D — 現在の Vector3D から減算される値を含む Vector3D オブジェクトです。 |
関連項目
public static function distance(pt1:Vector3D, pt2:Vector3D):Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
2 つの Vector3D オブジェクト間の距離を返します。distance() メソッドは静的メソッドです。Vector3D クラスのメソッドとして直接使用することで、2 つの 3 次元ポイント間のユークリッド距離を取得できます。
パラメータ
| pt1:Vector3D — 最初の 3 次元ポイントとしての Vector3D オブジェクトです。 |
| |
| pt2:Vector3D — 2 番目の 3 次元ポイントとしての Vector3D オブジェクトです。 |
戻り値 | Number — 2 つの Vector3D オブジェクト間の距離です。 |
public function dotProduct(a:Vector3D):Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトとパラメータとして指定された Vector3D オブジェクトが単位頂点の場合、このメソッドは 2 つの頂点間の角度のコサインを返します。単位頂点とは、同じ方向を指し、長さが 1 の頂点です。結果の要素からベクトルの長さが削除されます。 normalize() メソッドを使用して、ベクトルを単位ベクトルに変換できます。
dotProduct() メソッドは、2 つの頂点の間の角度を求めます。バックフェースカリングやライティング計算でも使用されます。バックフェースカリングとは、視点から隠す表面を決定するための手順です。カメラ、目、または視点からの正規化された角度と、多角形表面の頂点のクロス積を使用して、ドット積を取得できます。ドット積が 0 未満の場合、表面はカメラまたは閲覧者の方を向いています。2 つの単位頂点が互いに垂直である場合、それらは直交しており、ドット積は 0 になります。2 つの頂点が互いに平行である場合、ドット積は 1 になります。
パラメータ
戻り値 | Number — 現在の Vector3D オブジェクトと指定された Vector3D オブジェクトのドット積であるスカラーです。 |
関連項目
public function equals(toCompare:Vector3D, allFour:Boolean = false):Boolean| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトと指定された Vector3D オブジェクトの x、y、および z の各エレメントを比較して、2 つの Vector3D オブジェクトが等しいかどうかを判断します。これらのエレメントの値が同じ場合、2 つの Vector3D オブジェクトは等しくなります。2 番目のオプションパラメータが true に設定されている場合、Vector3D オブジェクトの 4 つのエレメントすべて(w プロパティを含みます)が比較されます。
パラメータ
| toCompare:Vector3D — 現在の Vector3D オブジェクトと比較される Vector3D オブジェクトです。 |
| |
| allFour:Boolean (default = false) —
Vector3D オブジェクトの w プロパティが比較に使用されるかどうかを指定するオプションパラメータです。
|
戻り値 | Boolean —
指定された Vector3D オブジェクトが現在の Vector3D オブジェクトと等しい場合は、true が返されます。等しくない場合は、false が返されます。
|
関連項目
public function incrementBy(a:Vector3D):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトの x、y、および z の各エレメントの値を、指定された Vector3D オブジェクトの x、y、および z の各エレメントの値ずつインクリメントします。Vector3D.add() メソッドとは異なり、incrementBy() メソッドは現在の Vector3D オブジェクトを変更し、新しい Vector3D オブジェクトを返しません。
パラメータ
| a:Vector3D — 現在の Vector3D オブジェクトに加算される Vector3D オブジェクトです。 |
関連項目
public function nearEquals(toCompare:Vector3D, tolerance:Number, allFour:Boolean = false):Boolean| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトのエレメントと指定された Vector3D オブジェクトのエレメントを比較して、オブジェクトがほぼ等しいかどうかを判断します。2 つの頂点のすべてのエレメントの値が等しいか、比較の結果が許容範囲内の場合、2 つの Vector3D オブジェクトはほぼ等しくなります。2 つのエレメントの差異は、tolerance パラメータとして指定された数値よりも小さくなる必要があります。3 番目のオプションパラメータが true に設定されている場合、Vector3D オブジェクトの 4 つのエレメントすべて(w プロパティを含みます)が比較されます。 それ以外の場合は、x、y、および z の各エレメントのみが比較の対象になります。
パラメータ
| toCompare:Vector3D — 現在の Vector3D オブジェクトと比較される Vector3D オブジェクトです。 |
| |
| tolerance:Number —
許容係数を決定する数値です。toCompare パラメータで指定された Vector3D の値と現在の Vector3D エレメントの値の差異が許容値よりも小さい場合、2 つの値はほぼ等しいと見なされます。
|
| |
| allFour:Boolean (default = false) —
Vector3D オブジェクトの w プロパティが比較に使用されるかどうかを指定するオプションパラメータです。
|
戻り値 | Boolean —
指定された Vector3D オブジェクトが現在の Vector3D オブジェクトとほぼ等しい場合は、true が返されます。等しくない場合は、false が返されます。
|
関連項目
public function negate():void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトをその反転に設定します。反転オブジェクトは、元のオブジェクトの逆とも見なされます。 現在の Vector3D オブジェクトの x、y および z の各プロパティの値は、-x、-y および -z に変更されます。
public function normalize():Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
最初の 3 つのエレメント(x, y, z)をベクトルの長さで除算して、Vector3D オブジェクトを単位ベクトルに変換します。単位頂点とは、方向を持ち、長さが 1 の頂点です。 長さの要素を削除することで、ベクトル計算を単純化します。
戻り値 | Number — 現在の Vector3D オブジェクトの長さです。 |
public function project():void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトの x、y および z の各プロパティの値を、w プロパティの値で除算します。
現在の Vector3D オブジェクトが、Vector3D オブジェクトに投影 Matrix3D オブジェクトを乗算した結果の場合、w プロパティは変換値を保持できます。project() メソッドは、エレメントを w プロパティで除算することで投影を完了できます。投影 Matrix3D オブジェクトを作成するには、Matrix3D.rawData プロパティを使用します。
public function scaleBy(s:Number):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトをスカラー(大きさ)で拡大 / 縮小します。Vector3D オブジェクトの x、y、および z の各エレメントに、パラメータで指定されたスカラー数を乗算します。例えば、ベクトルに 10 を乗算すると、結果は 10 倍長いベクトルになります。スカラーはベクトルの方向を変更することもできます。ベクトルに負の数値を乗算すると、方向が逆になります。
パラメータ
| s:Number — Vector3D オブジェクトの拡大 / 縮小に使用される乗数(スカラー)です。 |
public function subtract(a:Vector3D):Vector3D| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトの x、y、および z の各エレメントの値を、別の Vector3D オブジェクトの x、y、および z の各エレメントの値から減算します。subtract() メソッドは、現在の Vector3D オブジェクトを変更しません。代わりに、新しい値を持つ新しい Vector3D オブジェクトを返します。
パラメータ
| a:Vector3D — 現在の Vector3D オブジェクトから減算される Vector3D オブジェクトです。 |
戻り値 | Vector3D — 現在の Vector3D オブジェクトと指定された Vector3D オブジェクトの間の差異である新しい Vector3D オブジェクトです。 |
関連項目
public function toString():String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトのストリング表現を返します。 ストリングは、x、y および z の各プロパティの値を含みます。
戻り値 | String —
x、y および z の各プロパティの値を含むストリングです。
|
public static const X_AXIS:Vector3D| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
座標(1,0,0)を持つ Vector3D オブジェクトとして定義される x 軸です。
public static const Y_AXIS:Vector3D| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
座標(0,1,0)を持つ Vector3D オブジェクトとして定義される y 軸です。
public static const Z_AXIS:Vector3D| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
座標(0,0,1)を持つ Vector3D オブジェクトとして定義される z 軸です。
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Thu Jan 8 2009, 12:14 AM -08:00