ベクトルは方向と距離を持つ値
ベクトルは目標までの向きと距離を表しています。
つまり、ある位置からある位置に向けての移動量を表します。
ゲームプログラミングではベクトルを使って物体間の距離や方向を調べたり物体を移動させます。
後で紹介するベクトルの内積・外積は当たり判定などに使われます。
3Dプログラミングに欠かせない数学ですね。
図にすると1本の矢印になります。
この例は3次元ベクトルなのでベクトルVはx,y,zの3つの数値で構成されます。
図のxyz軸の交点ですが
「交点が原点(0,0,0)にあるとは限りません」
図にしたために誤解しやすいのですが、ベクトルが持つ情報は目標までの
向きと距離だけです。
ならば交点はどこにあるのかというと
どこにでもなり得ます。
用途によって自分で決めてしまえばいいのです。
好きな位置から移動を開始できる。これがベクトルの都合のいいところ。
ちなみにxyz軸の交点が原点(0,0,0)ならベクトルは位置そのものを表します。
ベクトルは足せる・引ける
ベクトルは移動量を表しています。
ベクトル同士で足し算を行うと最終的な移動量が分かります。
式にするとV=A+Bと書きます。
A+BでもB+Aでも同じ結果です。
引く場合については、
反対向きのベクトルを足すと考えることができます。
ベクトルはかけられる
ベクトルに数値をかけると方向はそのままで距離が数値倍になります。
ただし
マイナスの値をかけると反対向きになります。
割った場合も同様です。
位置もベクトルになる
位置は「原点(0,0,0)からの移動量」と考えることができます、なのでそのままベクトルとして使えます。
なんでわざわざベクトルにするかというと、ベクトル同士の計算で新たな位置が求まるからです。
位置ベクトルに移動量のベクトルを足すと移動後の位置が分かります。
DirectXのベクトル定義
A、Bは座標軸が原点にある位置ベクトルです。
AからBへの移動量(ベクトル)を求めるには、B-Aで計算できます。
(矢印の「先」から「元」を引くと覚えると間違えにくいと思う)