MCPで接続 →

計算を入力してください

2次元ベクトルの場合は、Zを空欄(または0)にしてください。

公式

広告

結果

>"
2つのベクトルのなす角
90°
1.570796 radians
Dot product (a·b) 0
ベクトルの大きさ |a| 3
ベクトルの大きさ |b| 4
cos θ 0

このツールでできること

「2つのベクトルのなす角 計算ツール」は、2次元または3次元空間における2つのベクトルがなす角を求めるツールです。各ベクトルのX成分・Y成分、そして(必要に応じて)Z成分を入力すると、なす角を度(°)とラジアンの両方で表示します。さらに、内積、各ベクトルの大きさ(ノルム)、なす角の余弦(\(\cos\theta\))も同時に計算します。空間内のあらゆる方向に対応しており、物理学、工学、コンピューターグラフィックス、線形代数など幅広い分野で活用できます。

使い方

1行目にベクトルAの成分、2行目にベクトルBの成分を入力します。2次元ベクトルの場合は、Zの欄を空欄にするか0を入力してください。「計算する」をクリックすると、なす角が表示されます。結果は必ず0°〜180°の範囲になります。これは、内積の比から逆余弦(arccos)を求めると、常に0以上の角度が返されるためです。

計算式の解説

2つのベクトルの内積は、それぞれの大きさの積に、なす角の余弦を掛けた値に等しくなります: $$\vec{a}\cdot\vec{b} = \lVert\vec{a}\rVert\,\lVert\vec{b}\rVert\cos\theta$$。これを変形すると、 $$\theta = \arccos\left(\frac{\vec{a}\cdot\vec{b}}{\lVert\vec{a}\rVert\,\lVert\vec{b}\rVert}\right)$$ となります。内積は \(a_x b_x + a_y b_y + a_z b_z\) で求められ、各ベクトルの大きさは成分の2乗和の平方根として計算します。どちらかのベクトルの長さが0の場合、なす角は定義できません。そのため、このツールではゼロ除算が起こらないように対策しています。

広告
共通の原点から伸びる2つのベクトルaとb、その間の角度シータ
角度θは、共通の始点を持つ2つのベクトルの間で測定されます。

計算例

A =(1, 0, 0)、B =(1, 1, 0)としてみましょう。内積は \(1\times 1 + 0\times 1 + 0\times 0 = 1\) です。それぞれの大きさは \(\lVert A\rVert = 1\)、\(\lVert B\rVert = \sqrt{2} \approx 1.4142\) となります。したがって $$\cos\theta = \frac{1}{1.4142} \approx 0.7071$$ となり、$$\theta = \arccos(0.7071) = 45° \;(\text{およそ } 0.7854\ \text{ラジアン})$$ と求められます。

2つの具体的なベクトルと内積の幾何を示す計算例
計算例:内積と大きさから角度のコサインが求められます。

結果の解釈

このカリキュレーターによって返される角度\(\theta\)は\(0^\circ\)から\(180^\circ\)(\(0\)から\(\pi\)ラジアン)の範囲です。大きさ\(\lVert\vec{A}\rVert\)と\(\lVert\vec{B}\rVert\)は常に正であるため、コサインの符号はドット積の符号と一致します。この1つの事実が、幾何学的な関係を一目で示します:

角度\(\theta\) \(\cos\theta\) ドット積\(\vec{A}\cdot\vec{B}\) 幾何学的意味
\(0^\circ\) \(+1\) 正(最大) 同じ方向 — ベクトルは平行
\(0^\circ\)–\(90^\circ\) \(0\)と\(+1\)の間 鋭角 — ベクトルは同じ一般的な方向を向く
\(90^\circ\) \(0\) ゼロ 直交(垂直)
\(90^\circ\)–\(180^\circ\) \(-1\)と\(0\)の間 鈍角 — ベクトルは一般的な方向で対立
\(180^\circ\) \(-1\) 負(最小) 逆方向 — 反平行

クイック読み取りルール:正のドット積は鋭角を意味し、ゼロのドット積は直角を意味し、負のドット積は鈍角を意味します。\(\cos\theta\)が\(\pm 1\)に近いほど、ベクトルは同じ線上にある可能性が高くなります。

広告

定義と用語集

ベクトル
\(\vec{A}=(A_x, A_y, A_z)\)のような成分の順序付きリストとして書かれた、大きさと方向の両方を持つ量。
ベクトル成分(x/y/z)
ベクトルの座標軸への投影。\(A_x\)、\(A_y\)、\(A_z\)は、ベクトルがそれぞれx軸、y軸、z軸に沿って拡張する量です。2Dベクトルの場合は、\(A_z = 0\)に設定してください。
ドット積(スカラー積)
2つのベクトルから形成される単一の数値:\(\vec{A}\cdot\vec{B} = A_xB_x + A_yB_y + A_zB_z\)。これは\(\lVert\vec{A}\rVert\,\lVert\vec{B}\rVert\cos\theta\)に等しいため、その符号は角度が鋭角、直角、または鈍角かどうかを明らかにします。
大きさ(ノルム、長さ)
ベクトルの長さ、\(\lVert\vec{A}\rVert = \sqrt{A_x^2 + A_y^2 + A_z^2}\)。常に非負です。
コサイン
ここで正規化されたドット積\(\dfrac{\vec{A}\cdot\vec{B}}{\lVert\vec{A}\rVert\,\lVert\vec{B}\rVert}\)に等しい三角関数比\(\cos\theta\)。\(-1\)(逆方向)から\(0\)(垂直)を経て\(+1\)(同じ方向)までの範囲です。
アークコス(逆コサイン)
コサインからこの角度を復元する関数\(\arccos(x)\)。\(0^\circ\)から\(180^\circ\)(\(0\)から\(\pi\)ラジアン)の値を返します。
直交/垂直
\(90^\circ\)で交わるベクトル。それらのドット積は正確にゼロです。
平行/反平行
平行ベクトルは同じ方向を向いています(\(\theta = 0^\circ\)、\(\cos\theta = +1\));反平行ベクトルは正確に反対の方向を向いています(\(\theta = 180^\circ\)、\(\cos\theta = -1\))。どちらの場合も、ベクトルは同じ線上にあります。

よくある質問

2次元ベクトルにも対応していますか? はい。Z成分を空欄にするか0を入力するだけで計算できます。

なぜ角度が180°を超えないのですか? 逆余弦(arccos)が返す値は0〜180°の範囲だからです。これは、ベクトルの向きに関係なく、2つの方向の間の「最小の角度」を表します。

結果が90°になるのはどういう意味ですか? 2つのベクトルが垂直(直交)していることを意味します。これは内積がちょうど0になるときに必ず起こります。

最終更新: