*概要 [#g6163d7e]
ベクトルは、向きと大きさを持った量のことです。~
物理や画像処理をはじめ、様々な分野で利用されています。
高校あたり?で習うので、すでに知っている方も多いでしょうし、
2D,3D処理においては四則演算並に基本事項です。~
グラフィック処理の必要なゲームなどを作る場合、必須の知識といっても過言ではありません。

*ベクトルの表現 [#s72af68f]
**ベクトル [#if18748f]
ベクトルは適当な名前の上に→を付けて&mimetex(\vec{a});などと表現します。~
(他にも様々な表現があり、専門書などでは太字で表現するものが多いです。)

**数ベクトル [#f8c02d1e]
数ベクトルとは、数値を縦または横に並べた、行列の一種です。~
&mimetex(\vec{a} = ( a \quad b \quad c));~
のように横に並べたものを、行ベクトルまたは横ベクトル。~
&mimetex(\vec{a} = \begin{pmatrix} a \\ b \\ c \end{pmatrix});~
のように縦に並べたものを、列ベクトルまたは縦ベクトルと呼びます。~
CGの分野では行ベクトル、数学の分野では列ベクトルがよく使用されます。
一応、CG系?ということで、ここでは行ベクトルを使用します。特に断りがなければ以降、ベクトルは行ベクトルを指します。

**ベクトルの2点による表現 [#a7aa89bc]
ベクトルは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));~
となります。

**ノルム [#ge5a8383]
ベクトルは方向を持つと同時に大きさ(長さ)も持ちます。ベクトルの大きさをノルムといい、~
&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-ノルムと言います。(他に変なのもあるわけだ)


*ベクトルの演算 [#yc36aeea]
**要素 [#l4c74ec7]
ベクトルの実際の数値部一つ一つを要素といいます。~
(1 2 3)~
だったら~
1 と 2 と 3 はそれぞれ(1 2 3)の要素。~
(a_1 b_1)~
だったら~
a_1, b_1はそれぞれ(a_1 b_1)の要素です。~

**スカラー [#u00092e8]
ベクトルでない通常の数値をスカラーと呼びます。1とか2とか3ですね。(1 2)はベクトル。~
ベクトルの一つ一つの要素はスカラーともいえますね。

**加減算 [#rd4a6edc]
ベクトル同士の演算です。~
単純に各要素を加算(減算)するだけです。~
&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));


**乗算除算 [#l28cec30]
乗除算はスカラーとベクトルの演算で、ベクトル同士を乗算除算することはできません。~
各要素にスカラーを乗算(除算)します。~
&mimetex(3(a_1 \quad a_2 \quad a_3) = (3a_1 \quad 3a_1 \quad 3a_1));

**内積 [#j0668103]
ベクトル同士の演算です。演算結果はスカラーとなります。~
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);~
で計算することができます。

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS