ベクトルの基本
記号の意味
- ベクトル- 矢印付きの文字
- 長さ- ベクトルの大きさ
- 単位ベクトル- 長さ1のベクトル
- 内積- 2つのベクトルから数値を計算
- シータ- 角度を表すギリシャ文字
- 余弦- 角度から比率を求める関数
概要
ベクトルは「方向と大きさ」を持つ数学的な概念で、ゲーム開発では移動や速度を表現するために使います。
ベクトルとは何か
ベクトルは、「方向」と「大きさ」を持つ数学的な道具です。 「右に3、上に4移動する」という情報を のように、2つの数値のペアで表現します。
プログラミングでは、このベクトルを使ってキャラクターの移動、物体の速度、力の方向と強さなどを表現できます。
「右に3、上に4動かす」という移動を数値で表現したい
マウスクリックした場所にキャラクターを移動させる時、その移動をどう表現すればいいでしょうか? 答えは ベクトル という概念を使います!
座標とベクトルの違い
座標とベクトルはどちらも数値のペア(例: )で表されますが、意味が全く異なります。 座標は空間内の「場所」(どこにあるか)を表すのに対し、ベクトルは「移動」や「変位」(どう動くか)を表します。
| 意味 | 数学的表現の例 | 身近な例 | |
|---|---|---|---|
| 座標(点) | 空間内の位置 | GPS座標、住所 | |
| ベクトル | 移動や変位 | 地図アプリの矢印、「東に3歩、北に2歩」の指示 |
図やグラフでベクトルを描く時は、矢印を使います:
- 矢印の向き: どちらの方向に移動するか
- 矢印の長さ: どれだけ移動するか
ベクトルの重要な性質
ベクトルはどこから出発しても同じです。 原点 から に移動するのと、点 から に移動するのは、 どちらも「右に3、上に4」という同じベクトル です。
ベクトルの数式表現とプログラミング
ベクトルは数値のペアで表現されます。数学では の形式、プログラミングではオブジェクトや配列で表します。
数学的表現
2つの成分で表されます:
- : 横方向の移動(右が正、左が負)
- : 縦方向の移動(上が正、下が負)
例:
- : 右に3、上に4
- : 左に2、上に5
- : 横に動かず、下に3
プログラミング表現
JavaScriptではオブジェクトで表現します:
JavaScript
const vector = { x: 3, y: 4 };
TypeScriptでは型定義も可能:
TypeScript
type Vector2D = { x: number; y: number };
const vector: Vector2D = { x: 3, y: 4 };
実用例:ベクトルはどんな場面で使う?
ベクトルはゲーム開発やグラフィックス、物理シミュレーションなど様々な場面で使われます:
- キャラクターの移動方向と速さ: プレイヤーの移動速度ベクトル
- 弾丸が飛ぶ方向: シューティングゲームの発射方向
- 風や重力の力の表現: 物理エンジンでの力の適用
- カメラの向き: 3Dゲームでのカメラ制御
- AIの移動: 敵キャラクターの追跡や回避行動
デモ
スライダーを使ってベクトルの成分を変更してみましょう。 矢印の向きと長さがどう変わるか観察してください!