数学 > ベクトル
ベクトルは、向きと大きさを持った量のことです。
物理や画像処理をはじめ、様々な分野で利用されています。
高校あたり?で習うので、すでに知っている方も多いでしょうし、
2D,3D処理においては四則演算並に基本事項です。
グラフィック処理の必要なゲームなどを作る場合、必須の知識といっても過言ではありません。
ベクトルは適当な名前の上に→を付けて&mimetex(\vec{a});などと表現します。
(他にも様々な表現があり、専門書などでは太字で表現するものが多いです。)
数ベクトルとは、数値を縦または横に並べた、行列の一種です。
&mimetex(\vec{a} = ( a \quad b \quad c));
のように横に並べたものを、行ベクトルまたは横ベクトル。
&mimetex(\vec{a} = \begin{pmatrix} a \\ b \\ c \end{pmatrix});
のように縦に並べたものを、列ベクトルまたは縦ベクトルと呼びます。
CGの分野では行ベクトル、数学の分野では列ベクトルがよく使用されます。
一応、CG系?ということで、ここでは行ベクトルを使用します。特に断りがなければ以降、ベクトルは行ベクトルを指します。
ベクトルは2点間を結ぶ線分として表すことができます。
点P→点Qによって表される線分のベクトルを&mimetex(\vec{PQ});
と表現します。
また、&mimetex(\vec{PQ});を数ベクトルで表現することができます。
2点の座標を、
&mimetex(P(p_1,p_2));, &mimetex(Q(q_1,q_2));
とすると、
&mimetex(\vec{PQ} = ( q_1-p_1 \quad q_2-p_2));
となります。
ベクトルは方向を持つと同時に大きさ(長さ)も持ちます。ベクトルの大きさをノルムといい、
&mimetex(\vec{a});のノルムを&mimetex(\mid\mid \vec{a} \mid\mid);と表します。
大体一般的には、実際の計算は二乗して足してルート!平面、立体における原点からの距離の計算と一緒です。
&mimetex(\vec{a} = (1 \quad 2 \quad 3));だったら
&mimetex(\mid\mid \vec{a} \mid\mid = \sqrt{1^2+2^2+3^2} = 3.7417);
です。
特にユークリッドノルムや2-ノルムと言います。(他に変なのもあるわけだ)
ベクトルの実際の数値部一つ一つを要素といいます。
(1 2 3)
だったら
1 と 2 と 3 はそれぞれ(1 2 3)の要素。
(a_1 b_1)
だったら
a_1, b_1はそれぞれ(a_1 b_1)の要素です。
ベクトルでない通常の数値をスカラーと呼びます。1とか2とか3ですね。(1 2)はベクトル。
ベクトルの一つ一つの要素はスカラーともいえますね。
ベクトル同士の演算です。
単純に各要素を加算(減算)するだけです。
&mimetex((a_1 \quad a_2 \quad a_3) + (b_1 \quad b_2 \quad b_3) = (a_1+b_1 \quad a_1+b_2 \quad a_1+b_2));
&mimetex((a_1 \quad a_2 \quad a_3) - (b_1 \quad b_2 \quad b_3) = (a_1-b_1 \quad a_1-b_2 \quad a_1-b_2));
乗除算はスカラーとベクトルの演算で、ベクトル同士を乗算除算することはできません。
各要素にスカラーを乗算(除算)します。
&mimetex(3(a_1 \quad a_2 \quad a_3) = (3a_1 \quad 3a_1 \quad 3a_1));
ベクトル同士の演算です。演算結果はスカラーとなります。
2つのベクトルのなす角を&mimetex(\theta);としたとき、
&mimetex(\vec{a}\cdot\vec{b} = \mid\mid a \mid\mid \mid\mid b \mid\mid cos\theta);
という演算です。
または、数ベクトルの要素を使って
&mimetex(\vec{a} = (a_1 \quad a_2 \quad a_3), \vec{b} = (b_1 \quad b_2 \quad b_3));
とすると
&mimetex(\vec{a} \cdot \vec{b} = a_1b_1 + a_2b_2 + a_3b_3);
で計算することができます。