[数学] 線形代数 第1回: ベクトルと行列の基礎: ベクトルと行列の基本概念を理解し、ゲーム開発への応用を探る
1. ベクトルとは
ベクトルは、大きさ(モジュール)と方向を持つ量です。物理学で使われる速度や力のような量をベクトルとして扱います。例えば、位置や速度はベクトルとして表現されます。以下はベクトルの一般的な記号表現です。
- 2Dベクトル:
ここで、( v_x ) と ( v_y ) はそれぞれx軸とy軸の成分です。
- 3Dベクトル:
ここで、( v_z ) はz軸の成分です。
ベクトルの最も基本的な性質は、加算とスカラー倍です。これらを使って、ベクトルを操作し、ゲームの中でキャラクターの位置や速度を計算することができます。
2. ベクトルの加法とスカラー倍
ベクトルの加法とスカラー倍は基本的な演算です。
- ベクトルの加法: 2つのベクトルを加える場合、対応する成分を足し合わせます。
2つのベクトルの加法は次のようになります:
[ \mathbf{v}1 + \mathbf{v}2 = \begin{bmatrix} v{1x} + v{2x} \ v_{1y} + v_{2y} \end{bmatrix} ]
- ベクトルのスカラー倍: スカラー(数値)でベクトルを倍にする場合、各成分にスカラーを掛けます。
ベクトルのスカラー倍は次のようになります:
これらの演算は、ゲームの中でキャラクターの移動や方向を計算する際に重要です。例えば、プレイヤーが移動する際に、位置ベクトルを更新するために加算やスカラー倍を使います。
3. ベクトルの内積と外積
ベクトル同士の関係を示す演算として、内積と外積があります。これらはゲーム開発において、特に物理シミュレーションや衝突判定で使われます。
- 内積(ドット積): 2つのベクトルの内積は、2つのベクトルの「方向性の一致度」を表します。内積は以下のように計算します:
[ \mathbf{v}1 \cdot \mathbf{v}2 = v{1x} \cdot v{2x} + v_{1y} \cdot v_{2y} ]
内積が0の場合、2つのベクトルは直角(垂直)であることを意味します。これは、衝突判定や角度の計算に使われます。
- 外積(クロス積): 外積は、2つのベクトルが形成する平面に垂直な方向を示すベクトルを得る演算です。3D空間でのみ定義されます。
[ \mathbf{v}1 \times \mathbf{v}2 = \begin{bmatrix} v{1y} \cdot v{2z} - v_{1z} \cdot v_{2y} \ v_{1z} \cdot v_{2x} - v_{1x} \cdot v_{2z} \ v_{1x} \cdot v_{2y} - v_{1y} \cdot v_{2x} \end{bmatrix} ]
外積は、3D空間で物体の回転や力のモーメント計算に使われます。
4. 2Dベクトルと3Dベクトルの演算(例)
実際にゲームで使う際には、2Dや3Dベクトルを使ってキャラクターの位置や速度を計算します。例えば、プレイヤーが右に5単位、上に3単位移動する場合、次のようにベクトルを使います。
- 2Dの移動: 現在の位置ベクトルが
の場合、移動後の位置は次のように計算します:
-
3Dの移動:
3D空間での移動も同様にベクトルを使います。例えば、位置ベクトル
の場合、移動後の位置は次のように計算します:
結論
この第1回では、ベクトルと行列の基本的な概念を復習しました。
ゲーム開発では、ベクトルを使ってキャラクターの位置や速度を計算したり、物理シミュレーションにおいて衝突判定や力の計算に使うことができます。
次回は、行列演算や逆行列を使って、さらに深く応用していきます。
次の記事で、これらの理論をゲーム開発にどう応用するかを掘り下げていきましょう。
COMM_LOG: mathematics-inear-algebra-review-vectors-matrices