パッケージ | flash.geom |
クラス | public class Vector3D |
継承 | Vector3D Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
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 エレメントをマトリックス表記で表現すると、次のようになります。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
length : Number [読み取り専用]
起点(0,0,0)からオブジェクトの x、y、および z の各座標までの現在の Vector3D オブジェクトの長さ(大きさ)です。 | Vector3D | ||
lengthSquared : Number [読み取り専用]
現在の Vector3D オブジェクトの長さの平方です。x、y、および z の各プロパティを使用して計算されます。 | Vector3D | ||
w : Number
Vector3D オブジェクトの 4 番目のエレメント(x、y、および z の各プロパティ以外)は、回転角度などのデータを保持できます。 | Vector3D | ||
x : Number
Vector3D オブジェクトの最初のエレメント(3 次元空間のポイントの x 座標など)です。 | Vector3D | ||
y : Number
Vector3D オブジェクトの 2 番目のエレメント(3 次元空間のポイントの y 座標など)です。 | Vector3D | ||
z : Number
Vector3D オブジェクトの 3 番目のエレメント(3 次元空間のポイントの z 座標など)です。 | Vector3D |
メソッド | 定義元 | ||
---|---|---|---|
Vector3D オブジェクトのインスタンスを作成します。 | Vector3D | ||
現在の Vector3D オブジェクトの x、y、および z の各エレメントの値を、別の Vector3D オブジェクトの x、y、および z の各エレメントの値に加算します。 | Vector3D | ||
[静的]
2 つのベクトル間の角度をラジアンで返します。 | Vector3D | ||
現在の Vector3D オブジェクトを正確にコピーした新しい Vector3D オブジェクトを返します。 | Vector3D | ||
すべてのベクトルデータを、ソース Vector3D オブジェクトから、呼び出し元の Vector3D オブジェクトにコピーします。 | Vector3D | ||
現在の Vector3D オブジェクトと別の Vector3D オブジェクトに対して垂直(直角)である新しい Vector3D オブジェクトを返します。 | Vector3D | ||
現在の Vector3D オブジェクトの x、y、および z の各エレメントの値を、指定された Vector3D オブジェクトの x、y、および z の各エレメントの値ずつデクリメントします。 | Vector3D | ||
[静的]
2 つの Vector3D オブジェクト間の距離を返します。 | Vector3D | ||
現在の Vector3D オブジェクトとパラメーターとして指定された Vector3D オブジェクトが単位頂点の場合、このメソッドは 2 つの頂点間の角度のコサインを返します。 | Vector3D | ||
現在の Vector3D オブジェクトと指定された Vector3D オブジェクトの x、y、および z の各エレメントを比較して、2 つの Vector3D オブジェクトが等しいかどうかを判断します。 | Vector3D | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
現在の Vector3D オブジェクトの x、y、および z の各エレメントの値を、指定された Vector3D オブジェクトの x、y、および z の各エレメントの値ずつインクリメントします。 | Vector3D | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
現在の Vector3D オブジェクトのエレメントと指定された Vector3D オブジェクトのエレメントを比較して、オブジェクトがほぼ等しいかどうかを判断します。 | Vector3D | ||
現在の Vector3D オブジェクトをその反転に設定します。 | Vector3D | ||
最初の 3 つのエレメント(x, y, z)をベクトルの長さで除算して、Vector3D オブジェクトを単位ベクトルに変換します。 | Vector3D | ||
現在の Vector3D オブジェクトの x、y、および z の各プロパティの値を、w プロパティの値で除算します。 | Vector3D | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
現在の Vector3D オブジェクトをスカラー(大きさ)で拡大 / 縮小します。 | Vector3D | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
Vector3D のメンバーを指定の値に設定します。
| Vector3D | ||
現在の Vector3D オブジェクトの x、y、および z の各エレメントの値を、別の Vector3D オブジェクトの x、y、および z の各エレメントの値から減算します。 | Vector3D | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
現在の Vector3D オブジェクトのストリング表現を返します。 | Vector3D | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object |
定数 | 定義元 | ||
---|---|---|---|
X_AXIS : Vector3D [静的]
座標(1,0,0)を持つ Vector3D オブジェクトとして定義される x 軸です。 | Vector3D | ||
Y_AXIS : Vector3D [静的]
座標(0,1,0)を持つ Vector3D オブジェクトとして定義される y 軸です。 | Vector3D | ||
Z_AXIS : Vector3D [静的]
座標(0,0,1)を持つ Vector3D オブジェクトとして定義される z 軸です。 | Vector3D |
length | プロパティ |
lengthSquared | プロパティ |
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
関連する API エレメント
w | プロパティ |
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 番目のエレメントで除算できます。
関連する API エレメント
x | プロパティ |
public var x:Number
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
Vector3D オブジェクトの最初のエレメント(3 次元空間のポイントの x 座標など)です。デフォルト値は 0 です。
y | プロパティ |
public var y:Number
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
Vector3D オブジェクトの 2 番目のエレメント(3 次元空間のポイントの y 座標など)です。デフォルト値は 0 です。
z | プロパティ |
public var z:Number
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
Vector3D オブジェクトの 3 番目のエレメント(3 次元空間のポイントの z 座標など)です。デフォルト値は 0 です。
Vector3D | () | コンストラクター |
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. ) — 追加データのオプションエレメント(回転角度など)です。
|
add | () | メソッド |
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 オブジェクトです。
|
関連する API エレメント
angleBetween | () | メソッド |
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 * 度
パラメーター
a:Vector3D — 最初の Vector3D オブジェクトです。
| |
b:Vector3D — 2 番目の Vector3D オブジェクトです。
|
Number — 2 つの Vector3D オブジェクト間の角度です。
|
clone | () | メソッド |
copyFrom | () | メソッド |
crossProduct | () | メソッド |
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 次元オブジェクトの表面が視点から隠れているかどうかを識別できます。
パラメーター
a:Vector3D — 2 番目の Vector3D オブジェクトです。
|
Vector3D — 現在の Vector3D オブジェクトとパラメーターとして指定された Vector3D オブジェクトに対して垂直である新しい Vector3D オブジェクトです。
|
関連する API エレメント
decrementBy | () | メソッド |
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 オブジェクトです。
|
関連する API エレメント
distance | () | メソッド |
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 オブジェクト間の距離です。
|
dotProduct | () | メソッド |
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 になります。
パラメーター
a:Vector3D — 2 番目の Vector3D オブジェクトです。
|
Number — 現在の Vector3D オブジェクトと指定された Vector3D オブジェクトのドット積であるスカラーです。
|
関連する API エレメント
equals | () | メソッド |
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 が返されます。
|
関連する API エレメント
incrementBy | () | メソッド |
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 オブジェクトです。
|
関連する API エレメント
nearEquals | () | メソッド |
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 が返されます。
|
関連する API エレメント
negate | () | メソッド |
public function negate():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
現在の Vector3D オブジェクトをその反転に設定します。反転オブジェクトは、元のオブジェクトの逆とも見なされます。 現在の Vector3D オブジェクトの x
、y
および z
の各プロパティの値は、-x
、-y
および -z
に変更されます。
normalize | () | メソッド |
project | () | メソッド |
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
プロパティを使用します。
scaleBy | () | メソッド |
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 オブジェクトの拡大 / 縮小に使用される乗数(スカラー)です。
|
setTo | () | メソッド |
subtract | () | メソッド |
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 オブジェクトです。
|
関連する API エレメント
toString | () | メソッド |
X_AXIS | 定数 |
public static const X_AXIS:Vector3D
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
座標(1,0,0)を持つ Vector3D オブジェクトとして定義される x 軸です。
Y_AXIS | 定数 |
public static const Y_AXIS:Vector3D
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
座標(0,1,0)を持つ Vector3D オブジェクトとして定義される y 軸です。
Z_AXIS | 定数 |
public static const Z_AXIS:Vector3D
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
座標(0,0,1)を持つ Vector3D オブジェクトとして定義される z 軸です。
Tue Jun 12 2018, 10:34 AM Z