|
|
Vector Math のメソッド
ベクトル演算関数(Vector Math)は配列に対して演算を実行するグローバルメソッドで、配列を数学上のベクトルとして扱います。Math.sin などの組み込み JavaScript と異なり、これらのメソッドは Math プレフィックスでは使用しません。特に記述がない限り、Vector Math のメソッドは次元に関してあまり厳しくなく、欠落している要素にはゼロを指定した状態で最大の入力配列オブジェクトの次元の値を返します。例えば、エクスプレッション add([10, 20], [1, 2, 3]) は [11, 22, 3] を返します。
JJ Gifford の Web サイトには、エクスプレッションで簡単な幾何学と三角法を使用する方法を示す説明と例があります。
- add(vec1, vec2)
- 返されるタイプ:配列。
引数のタイプ:vec1 および vec2 は配列です。
2 つのベクトルを加算します。
- sub(vec1, vec2)
- 返されるタイプ:配列。
引数のタイプ:vec1 および vec2 は配列です。
2 つのベクトルを減算します。
- mul(vec, amount)
- 返されるタイプ:配列。
引数のタイプ:vec は配列で、amount は Number です。
ベクトルのすべての要素を amount で乗算します。
- div(vec, amount)
- 返されるタイプ:配列。
引数のタイプ:vec は配列で、amount は Number です。
ベクトルのすべての要素を amount で除算します。
- clamp(value, limit1, limit2)
- 返されるタイプ:Number または配列。
引数のタイプ:value、limit1 および limit2 は、Number または配列です。
value の各コンポーネントの値は、limit1 と limit2 との間の値に制限されます。
- dot(vec1, vec2)
- 返されるタイプ:Number。
引数のタイプ:vec1 および vec2 は配列です。
ベクトル引数のドット積(内積)を返します。
- cross(vec1, vec2)
- 返されるタイプ:配列 [2 または 3]。
引数のタイプ:vec1 および vec2 は配列 [2 または 3] です。
vec1 および vec2 のベクトルのクロス積(外積)を返します。詳しくは、数値演算のリファレンスまたは JavaScript の関連文書を参照してください。
- normalize(vec)
- 返されるタイプ:配列。
引数のタイプ:vec は配列です。
長さが 1.0 になるようにベクトルを正規化します。normalize メソッドは、操作 div(vec, length(vec)) を簡単に行う方法です。
- length(vec)
- 返されるタイプ:Number。
引数のタイプ:vec は配列です。
ベクトル vec の長さを返します。
- length(point1, point2)
- 返されるタイプ:Number。
引数のタイプ:point1 および point2 は配列です。
2 点間の距離を返します。point2 引数はオプションです。例えば、length(point1, point) は length(sub(point1, point2)) と等価です。
- lookAt(fromPoint, atPoint)
- 返されるタイプ:配列 [3]。
引数のタイプ:fromPoint および atPoint は配列 [3] です。
引数 fromPoint は、方向を設定するレイヤーのワールド空間における位置です。引数 atPoint は、レイヤーの方向として設定するワールド空間内のポイントです。戻り値を、方向プロパティ用のエクスプレッションとして使用して、レイヤーの Z 軸上のポイントを atPoint にできます。このメソッドは、カメラやライトで使用するととても便利です。このエクスプレッションをカメラに対して使用する場合は、自動方向をオフにします。例えば、スポットライトの方向プロパティに対するこのエクスプレッションでは、レイヤー番号 1 のアンカーポイントでのライトの位置を同じコンポジションとし、 lookAt(position, thisComp.layer(1).position) と記述します。
|