日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2009年10月26日月曜日

「mag」関数 (メモ)

mag:ベクトルのマグニチュード(浮動小数点数)を返します。 (参照:オンラインヘルプ

float mag(vector)

vector はマグニチュードを求めるベクトルです。
mag 関数はベクトルを浮動小数点数に変換します

ie: mag(<<7,8,9>>)
(13.928 を返します。)

使用例:ベクトルは、方向をxyzで示し、その値で大きさをしめしている・
要するに、「方向と大きさをもったもの」

エフェクトのスクリプトでは、ある要素を基準にして別の要素をコントロールする必要な状況に出会うことがある。
そのとき、そのもととなる要素の何を利用したいのか、見定めなくては特定の値をもとめることができない。

色、位置、速度、x座標、フレーム番号、etc.

パーティクルにおいては、
特に、
寿命、速度、位置などが重要な基準となることが多い。

そのとき、自分がもとめるコントロールはどんな要素をもっているひつようがあるのかがわかれば、
それを見つけることが容易になる。

そのときに、「方向と大きさを持った」要素が必要だということがわかれば、ベクトル値をもつアトリビュートを探せばよいとうことになると思う。

また、本来、ベクトル値ではなくとも、RGB値スのように、クリプト上での扱いがベクトル値に分類されるケースがある。
RGB値をベクトル値として扱えば、色の変化にあわせて何らかの値を操作することも可能である。

またおおざっぱな言い方をすれば、
「方向と大きさを持った物」を求めるとき、ベクトル値を探せばよいし。

ベクトル値の形式を取るものであれば、「方向と大きさを持った物」として扱うことも可能ということになる。。

これをトリガーとして何かに影響を及ぼすエクスプレッションを作るのであれば、
そのベクトル値が変化していく特性を見極めて、それをうまく利用していくことがカギとなる。


方向と大きさをもたせるには1点では不可能で、A点~B点間というように距離が必要となる。

二点間の距離を用いるものに何があるのかをリストしてみる。

1)同一時間に存在する二点:同一空間、同一時間に2点が存在するとして、純粋にこの二点間の直線距離。
例:「translate」 xyzの値をそれぞ<<5,8,5>>とベクトル表記できる。これは一見、一つの点を表記しているようにみえるが、原点<<0,0,0>>という点からの距離という暗黙の了解がある。
また二つの物体があり、片方の物体を原点とみたてて、そこからの距離として表現することもできる。

2)別の時間に存在する2点:同一空間、同一物質、異時間に2点が存在する。
簡単に言うと、ある1点が時間軸に沿って移動するとき、元いた場所と新しい場所を直線で結んだ距離。
例:これはVelocity(速度)とAcceleration(加速度)がそれにあたる。
Velocity(速度)は、速さ(大きさ)と方向をもつベクトル値。
Acceleration(加速度)は、速度が単位時間あたりに増える量(変化率)で、ベクトル値で表す。


(パーティクルではvelocity やacceralationは、ベクトル値で表現されている。)

 

0 件のコメント:

コメントを投稿