2 つのベクトル間の角度計算機 - 2D および 3D

内積公式を使用して、2D または 3D 空間内の 2 つのベクトルの間の角度を見つけます。結果は度とラジアンの両方で表示されます。

2D または 3D モードを選択し、両方のベクトルの成分を入力し、[計算] をクリックして角度、内積、ベクトルの大きさを取得します。

2 つのベクトル間の角度計算機 - 2D および 3D
内積公式を使用して、2D または 3D 空間内の 2 つのベクトルの間の角度を見つけます。結果は度とラジアンの両方で表示されます。

2つのベクトル間の角度計算機について

2 つのベクトル間の角度は、線形代数と幾何学の基本的な量であり、共通の原点で尾部から尾部に配置された 2 つの方向量の間の角度分離を表します。古典的なユークリッド幾何学の線間の角度とは異なり、ベクトル間の角度は常に 2 つの可能な角度のうち小さい方であり、0° から 180° (または 0 から π ラジアン) の範囲に制限されます。この規則により、ゼロ以外のベクトルのペアに対して一意で明確な結果が保証されます。 計算は、線形代数で最も重要な演算の 1 つであるドット積に基づいて行われます。 2 つのベクトル A と B の場合、ドット積は、対応するコンポーネントの積の合計として代数的に定義されます。2 次元では A · B = Ax·Bx + Ay·By、3 次元では A · B = Ax·Bx + Ay·By + Az·Bz です。内積には幾何学的な解釈もあります: A · B = |A| × |B| × cos(θ)。ここで |A| と |B| はベクトルのユークリッドの大きさ (長さ)、θ はそれらの間の角度です。これら 2 つの定義を組み合わせて θ を解くと、基本的な式 θ = arccos((A · B) / (|A| × |B|)) が得られます。 この式にはいくつかのエレガントな特性があります。ドット積がゼロの場合、cos(θ) = 0、つまり θ = 90° となり、ベクトルは垂直 (直交) になります。ドット積が大きさの積と等しい場合は、cos(θ) = 1 と θ = 0° となり、ベクトルが同じ方向 (平行) を向いていることを意味します。ドット積が負の大きさの積と等しい場合、cos(θ) = −1 および θ = 180° となり、ベクトルが反対方向 (逆平行) を指すことになります。この式は、成分の合計を拡張するだけで、自然に n 次元空間に一般化されます。 ベクトル間の角度は、物理学と工学を通じて発生します。古典力学では、変位 d に対して力 F によって行われる仕事は W = F · d = |F| × |d| × cos(θ) です。ここで、θ は力ベクトルと変位ベクトルの間の角度です。 θ = 0° の場合、力は動きと完全に一致し、最大限の働きをします。 θ = 90° の場合、力は動きに対して垂直であり、仕事はゼロです。コンピューター グラフィックスでは、表面照明は表面の法線と入射光の方向との間の角度を使用して、ランバートの余弦則によって表面がどの程度明るく照らされるかを計算します。機械学習では、2 つの特徴ベクトル間のコサイン類似度はそれらの間の角度に直接関係しており、大きさに関係なくそれらの方向がどの程度類似しているかを測定します。 数値的には、関数 arccos は、引数が 1 or −1 (ほぼ平行または逆平行ベクトルに相当) に非常に近い場合、精度を失う可能性があります。高精度ソフトウェアでは、この計算は、コサイン引数を arccos に渡す前に有効な範囲 [−1、1] にクランプすることで処理されます。これはこの計算機が自動的に行います。符号付きの角度が必要な (時計回りと反時計回りを区別する) 2D 問題の場合、内積アプローチよりも外積を使用する atan2 関数が推奨されますが、この計算機は数学的定義と一致する符号なし角度を報告します。

ベクトル間の角度の例

垂直、平行、および一般的な角度の結果を示す古典的なベクトルのペア。

ベクトル角度説明
A=(1,0)、B=(0,1)90°x 軸と y 軸に沿う垂直な単位ベクトルです。内積 = 0 なので直角であることが分かります。
A=(3,4)、B=(4,3)≈16.26°両方のベクトルの大きさは 5 です。内積 = 3×4 + 4×3 = 24。cos(θ) = 24/25 = 0.96。
A=(1,0,0)、B=(0,1,0)90°3D 空間の直交する単位ベクトルです。内積 = 0 なので、角度は正確に 90° です。
A=(1,1,1)、B=(1,0,0)≈54.74°3D ベクトルです。内積 = 1、|A| = √3、|B| = 1。cos(θ) = 1/√3 ≈ 0.577。

2 つのベクトル間の角度計算機の使用方法

  1. 次元を選択します。ベクトルが x と y 成分だけなら「2D ベクトル」、z 成分もあるなら「3D ベクトル」を選びます。
  2. ベクトル A (Ax、Ay、およびオプションで Az) とベクトル B (Bx、By、およびオプションで Bz) のコンポーネント値を入力します。必要に応じて、小数または負の数を使用します。
  3. 「角度を計算」をクリックします。電卓は、角度とラジアン、さらに内積、ベクトルの大きさ、コサイン値を即座に表示します。
  4. 既知の特殊なケースを使用して結果を検証します。垂直ベクトルは常に 90° を示し、同一方向ベクトルは常に 0° を示し、反対方向は常に 180° を示します。
  5. すべての入力をクリアして新しい計算を実行するには、「リセット」をクリックします。

ベクトル間の角度に関するよくある質問

ベクトル間の角度が常に 0° と 180° の間にあるのはなぜですか?
数式で使用される arccos 関数の範囲は [0°, 180°] で、その範囲内の角度のコサインは [−1, 1] にあります。内積公式は、2 つのベクトルが形成できる 2 つの補角のうち小さい方のみを示します。慣例により、これがベクトル間の角度となります。有向 (符号付き) 角度が必要な場合は、代わりに、外積と組み合わせた atan2 関数が使用されます。
角度の内積ゼロは何を意味しますか?
ドット積が 0 の場合は、角度の余弦が 0 であることを意味します。これは、90° の角度に正確に対応します。 2 つのベクトルは直交 (垂直) します。このプロパティは、実際の角度を計算する必要がなく、直角度をテストするために広く使用されています。 A · B = 0 then A ⊥ B です。
ベクトルの大きさ(長さ)は角度に影響しますか?
いいえ。この式はドット積を大きさの積で割るので、ベクトルを拡大または縮小しても相殺され、角度は変わりません。ベクトル (1,0) と (100,0) は両方とも、その長さに関係なく、x 軸に対して 0° の角度を作ります。
これを n 次元ベクトルに拡張するにはどうすればよいでしょうか?
式 θ = arccos((A · B) / (|A| × |B|)) は、任意の数の次元で機能します。ドット積を拡張して、n 個の成分積をすべて合計します: A · B = Σ Ai·Bi。等級は |A| = √(Σ Ai²) です。自然言語処理と機械学習で使用されるコサイン類似度は、まさにこの比率が高次元の単語ベクトルまたは文書ベクトルに適用されます。
1 つのベクトルがゼロ ベクトルの場合はどうなるのでしょうか?
ゼロ ベクトルの大きさは 0 であるため、分母 (|A| × |B|) は 0 になり、角度は未定義です。ゼロで割ることはできません。幾何学的には、ゼロ ベクトルには方向がないため、計算する意味のある角度はありません。電卓はこのケースを検出し、計算を試行する前にエラーを報告します。
この角度は 3D グラフィックスの照明計算でどのように使用されますか?
Phong および Lambert 照明モデルでは、表面の明るさは cos(θ) に比例します。ここで、θ は表面の法線ベクトル N と入射光の方向ベクトル L の間の角度です。光が表面に正面から当たるとき ((θ = 0°)、cos(θ) = 1 で、表面は最大の明るさになります。光が表面をかすめる場合 (θ → 90°)、cos(θ) → 0 となり、表面は影になります。負のコサイン値 (θ > 90°) は、負の光の寄与を避けるためにゼロにクランプされます。