単位ベクトル計算機
ベクトルの成分を入力して、大きさ1の「方向ベクトル」に変換(正規化)します。
単位ベクトルとは?定義とシンプルな考え方
単位ベクトル(Unit Vector)とは、数学におけるベクトルのうち、その長さ(大きさ、ノルム)がちょうど「1」であるものを指します。
通常のベクトルは「方向」と「長さ」の両方の情報を持ちますが、単位ベクトルは長さを1に統一することで、実質的に「どの方向を向いているか」という情報だけに特化したベクトルになります。このため、専門的には「方向ベクトル」とも呼ばれます。
正規化(Normalization)とは
あるベクトル v を、同じ方向を向いたまま長さが 1 の単位ベクトル u に変換する作業を「正規化」と呼びます。計算式は非常にシンプルです:
つまり、ベクトルの各成分(x, y, zなど)を、そのベクトル全体の長さ(大きさ)で割るだけです。
単位ベクトルの計算方法(2次元・3次元)
ベクトルの成分を (x, y, z) としたとき、以下のステップで計算します。
ステップ1:ベクトルの大きさ(|v|)を求める
三平方の定理(ピタゴラスの定理)を拡張した式を使います。
- 2次元の場合:
|v| = √(x² + y²) - 3次元の場合:
|v| = √(x² + y² + z²)
ステップ2:各成分を大きさで割る
求めた大きさが L であるとき、単位ベクトルの成分は以下のようになります。
なぜ単位ベクトルが重要なのか?活用の場面
単位ベクトルは、高度な計算を驚くほどシンプルにしてくれます。
1. コンピュータグラフィックス (CG) とゲーム開発
3Dゲームで「光がどの方向に反射するか」や「キャラクターがどこを向いているか」を計算する際、単位ベクトルが欠かせません。物体の「法線ベクトル(表面の向き)」は常に単位ベクトルとして扱われます。
2. 物理学における力の分解
斜面を滑る物体にかかる重力を「斜面に並行な力」と「垂直な力」に分ける際、特定の方向を示す基準として単位ベクトル(e₁, e₂など)が使われます。
3. 機械学習とデータ分析
データの類似性を測る「コサイン類似度」の計算では、多次元のデータを単位ベクトル化して比較します。データの「量」ではなく「特徴(方向性)」だけを抽出するのに役立ちます。
単位ベクトルの四半面と角度
単位ベクトルの各成分は、実は三角関数の sin や cos の値そのものです。
- (1, 0) : 右方向 (0°)
- (0, 1) : 上方向 (90°)
- (-1, 0) : 左方向 (180°)
- (0, -1) : 下方向 (270°)
計算時の注意:ゼロベクトル
成分がすべて 0 のベクトル (0, 0, 0) は大きさが 0
となります。数学において「0で割る」ことはできないため、ゼロベクトルを正規化して単位ベクトルにすることはできません。
プログラミングでこの計算を行う際は、大きさが 0 でないか事前にチェックする(Guard Clause)ことが鉄則です。
よくある質問 (FAQ)
Q. 単位ベクトルの値がマイナスになることはありますか?
A. はい。単位ベクトルは「方向」を表すため、元のベクトルが負の方向を向いていれば、成分もマイナスになります。ただし、ベクトルの「大きさ」自体は常に 1(正の値)です。
Q. 4次元以上のベクトルでも計算できますか?
A. 理論上可能です。w成分などの2乗を足し合わせてルートをとれば、何次元であっても算出できます。
Q. 正規化すると方向が変わりますか?
A. いいえ。大きさだけが 1 に変わりますが、向いている方向は元のベクトルと完全に同一です。