ベクトルの基本

記号の意味
ベクトル- 矢印付きの文字
長さ- ベクトルの大きさ
単位ベクトル- 長さ1のベクトル
内積- 2つのベクトルから数値を計算
シータ- 角度を表すギリシャ文字
余弦- 角度から比率を求める関数

概要

ベクトルは「方向と大きさ」を持つ数学的な概念で、ゲーム開発では移動や速度を表現するために使います。

ベクトルとは何か

ベクトルは、「方向」と「大きさ」を持つ数学的な道具です。 「右に3、上に4移動する」という情報を (3,4)(3, 4) のように、2つの数値のペアで表現します。

プログラミングでは、このベクトルを使ってキャラクターの移動、物体の速度、力の方向と強さなどを表現できます。

「右に3、上に4動かす」という移動を数値で表現したい

マウスクリックした場所にキャラクターを移動させる時、その移動をどう表現すればいいでしょうか? 答えは ベクトル という概念を使います!

座標とベクトルの違い

座標とベクトルはどちらも数値のペア(例: (3,4)(3, 4))で表されますが、意味が全く異なります。 座標は空間内の「場所」(どこにあるか)を表すのに対し、ベクトルは「移動」や「変位」(どう動くか)を表します。

意味数学的表現の例身近な例
座標(点)空間内の位置(10,20)(10, 20)GPS座標、住所
ベクトル移動や変位v=(3,4)\vec{v} = (3, 4)地図アプリの矢印、「東に3歩、北に2歩」の指示
座標(点)位置を表す(3, 4)ベクトル(矢印)移動を表すスタート(3, -2)ゴール

図やグラフでベクトルを描く時は、矢印を使います:

  • 矢印の向き: どちらの方向に移動するか
  • 矢印の長さ: どれだけ移動するか

ベクトルの重要な性質

ベクトルはどこから出発しても同じです。 原点 (0,0)(0,0) から (3,4)(3,4) に移動するのと、点 (5,5)(5,5) から (8,9)(8,9) に移動するのは、 どちらも「右に3、上に4」という同じベクトル (3,4)(3,4) です。

ベクトルの数式表現とプログラミング

ベクトルは数値のペアで表現されます。数学では (x,y)(x, y) の形式、プログラミングではオブジェクトや配列で表します。

数学的表現

2つの成分で表されます:

v=(x,y)\vec{v} = (x, y)

  • xx: 横方向の移動(右が正、左が負)
  • yy: 縦方向の移動(上が正、下が負)

例:

  • (3,4)(3, 4): 右に3、上に4
  • (2,5)(-2, 5): 左に2、上に5
  • (0,3)(0, -3): 横に動かず、下に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の移動: 敵キャラクターの追跡や回避行動

デモ

スライダーを使ってベクトルの成分を変更してみましょう。 矢印の向きと長さがどう変わるか観察してください!