ベクトルの数値演算メソッドこれらのメソッドは、配列を数値ベクトルとして処理して、配列に対して演算を実行するグローバルなメソッドです。Math.sin()などのJavaScriptの組み込みメソッドとは異なり、これらのメソッドでは先頭にMathを付けません。特に指定のない限り、ベクトルの数値演算メソッドには、次元に関する制約がありません。これらのメソッドは、最大の配列の次元である値を返し、存在しない要素にゼロを設定します。例えば、「add([10, 20], [1, 2, 3])」というエクスプレッションは、[11, 22, 3]を返します。 Array add(v1, v2) {v1とv2は配列} 2つのベクトルを要素ごとに加算します。 Array sub(v1, v2) {v1とv2は配列} 2つのベクトルを要素ごとに減算します。 Array mul(v1, amount) {v1は配列、amountは数値} ベクトルのすべての要素をamountで乗算します。 Array div(v1, amount) {v1は配列、amountは数値} ベクトルのすべての要素をamountで除算します。 Number length(v) {vは配列} ベクトルvの長さを返します。 Number length(p1, p2) {p1とp2は配列} 2点間の距離を返します。P2は任意指定です。例えば、「length(p1, p2)」は「length(sub(p1, p2))」と同じです。 Array normalize(v) {vは配列} 長さが1.0になるようにベクトルを正規化します。これは、「div(v, length(v))」の省略形になります。 Array [2または3] cross(v1, v2) {v1とv2は配列[2または3]} ベクトルのクロス積(外積)を返します。詳しくは、数学の参考書またはJavaScriptの関連書籍を参照してください。 Number dot(v1, v2) {v1とv2は配列} 2つのベクトルをコンポーネント単位で乗算した結果である、ドット積(内積)を返します。 Array [3] look_at(from_pt, at_pt) {from_ptとat_ptは配列[3]} from_ptは、方向付けるレイヤーのワールド空間内の位置です。at_ptは、レイヤーを向けるワールド空間内のポイントです。戻り値を方向プロパティのエクスプレッションとして使い、レイヤーのz軸がat_ptを向くようにすることができます。このエクスプレッションは、特にカメラとライトで有効です。例えば、「look_at(position, this_comp.layer(1).position)」のようにします。このエクスプレッションをカメラで使う場合は、自動方向をオフにします。 |