본문으로 건너뛰기
CalcMax

벡터 사이 각도 계산기

계산 결과

60.0000 °

벡터 사이의 각도

각의 코사인
0.5000
각도(라디안)
1.0472

벡터 사이 각도 계산기는 두 벡터를 받아 그 사이의 각도와, 그 각도가 나온 코사인, 그리고 같은 각도를 라디안으로 돌려줍니다. 각 벡터의 성분을 공백이나 쉼표로 나눠 적으십시오. 3차원이면 1 1 0, 2차원이면 0 3처럼 넣으면 나머지는 페이지가 합니다. 두 벡터의 성분 개수는 같아야 하지만 그 밖에 개수 제한은 없고 음수 성분도 괜찮습니다. 답 뒤의 산술은 짧습니다. 두 벡터의 첫 성분끼리, 둘째 성분끼리 곱해 모두 더하면 그것이 내적입니다. 각 벡터의 크기, 곧 성분 제곱합의 제곱근을 구합니다. 내적을 두 크기의 곱으로 나누면 그 각도의 코사인이 나옵니다. 각도 자체는 그 수의 역코사인입니다. 각도를 곧바로 다루지 않고 코사인을 거쳐 가는 것이 요령 전부입니다. 코사인이야말로 내적이 자연스럽게 내놓는 값이고, 눈여겨볼 값어치도 그쪽에 있기 때문입니다. 코사인은 두 벡터가 같은 방향을 향할 때 1이고, 직각에서 0을 지나, 정반대를 향할 때 −1까지 갑니다. 사람들이 실제로 알아보는 답은 그 셋이고, 어느 것도 계산기가 없어도 알아볼 수 있습니다. 이 페이지가 가장 자주 쓰이는 경우인 수직인 두 벡터는 코사인이 정확히 0인 경우입니다. 나머지는 모두 그 사이 어딘가에 떨어지고, 페이지는 그것을 소수점 네 자리까지 도와 라디안으로 동시에 보고합니다. 세상 공식의 절반은 라디안을 원하고 대부분의 사람은 도를 읽기 때문입니다. 답 대신 거부되는 입력이 하나 있습니다. 영벡터이고, 크기가 0이라 방향이 아예 없습니다. 코사인을 구하려고 그 크기로 나누는 것은 0으로 나누는 일이 되고, 각도 0을 돌려주는 것은 그 벡터와 같은 방향을 향한다고 주장하는 일이 되므로, 페이지는 계산 전체를 거절합니다.

벡터 짝과 그 사이의 각도

벡터 u벡터 v각도의 코사인각도(°)
1 1 01 0 10.560
1 00 1090
1 0 01 0 010
-1 0 01 0 0-1180
1 11 00.707145
3 4 04 3 00.9616.2602
1 2 22 2 10.888927.266
2 -34 5-0.3032107.6501

여덟 짝이고 첫 줄은 페이지가 처음 열릴 때 들어 있는 것입니다. 이 표의 요점은 코사인 열입니다. 각도 열만으로는 규칙성이 가려지는데 옆에 코사인을 놓으면 세 가지 특별한 값이 곧바로 드러납니다. 첫 줄은 코사인이 정확히 0.5이고 각도가 정확히 60도이며, 여섯째 줄은 코사인이 0.96이고 각도가 16.26도입니다. 그 두 줄 사이에 이 페이지에 대한 경고 전부가 담겨 있습니다. 코사인은 0도에서 90도까지의 범위를 1에서 0까지로 눌러 담으면서 고르지 않게 누릅니다. 둘째 줄은 가장 단순한 직각이고 셋째 줄은 벡터를 자기 자신과 짝지은 것이라 코사인 범위의 양 끝인 0과 1을 내놓으며, 넷째 줄은 벡터를 그 반대와 짝지어 세 번째 끝인 −1을 공급합니다. 그 세 줄이 곧 눈금 전체입니다. 다섯째 줄은 45도 짝이고 실제에서 끊임없이 나타나는 반직각이며, 일곱째 줄은 지저분한 3차원 경우입니다. 두 크기가 모두 정확히 3인데 내적이 8이라 코사인이 8 ÷ 9가 되어 끝없이 반복됩니다. 여덟째 줄은 부호가 섞인 성분을 지닌 둔각 경우입니다. 코사인 −0.3032와 각도 107.6501이 서로 맞아떨어지고, 그래야 합니다. 음수 코사인과 90도 미만의 각도가 둘 다 맞을 수는 없기 때문입니다. 라디안 값은 일부러 열로 두지 않았습니다. 같은 각도를 다른 표기로 적은 것이라 다섯째 열이 새로운 것을 말해 주지 않기 때문입니다. 모든 수치는 페이지를 만들 때마다 다시 계산되며, 앞의 두 열에 있는 공백은 나누는 표시이고 수의 일부가 아닙니다.

공식

cos θ = (u · v) ÷ (|u| × |v|) θ = arccos(cos θ) u · v = u₁v₁ + u₂v₂ + … + uₙvₙ

벡터 u
첫 번째 벡터이며 성분을 공백이나 쉼표로 나눠 적습니다. 3차원이면 1 1 0, 2차원이면 0 3처럼 적고 그보다 많아도 됩니다. 페이지가 어느 차원이든 받으므로 상자 개수가 고정되어 있지 않으며, 두 벡터의 성분 개수는 서로 같아야 합니다
벡터 v
두 번째 벡터이며 같은 방식으로, 첫 번째와 같은 개수의 성분으로 적습니다. 두 벡터를 바꿔도 달라지는 것이 없습니다. 어느 쪽으로 놓아도 사이의 각도는 같습니다
u · v
내적이며 이 페이지는 이것을 쓰지만 인쇄하지는 않습니다. 첫 성분끼리, 둘째 성분끼리 곱해 모두 더한 값이고, 여기서는 답이 아니라 각도의 재료입니다
|u|와 |v|
각 벡터의 크기이며 성분이 측정된 단위 그대로입니다. 자기 성분 제곱합의 제곱근이고, 내적을 나누는 두 수입니다. 둘은 각자의 일이라 한쪽이 크다고 다른 쪽에 대해 말해 주는 것이 없습니다
cos θ
두 벡터 사이 각도의 코사인이며 내적을 두 크기의 곱으로 나눈 값입니다. 같은 방향이면 1, 직각이면 0, 정반대면 −1이고 그 범위를 벗어나지 않습니다. 각도가 실제로 계산되는 근거가 이 수라서 페이지가 인쇄합니다
θ
두 벡터 사이의 각도이며 도 단위입니다. 같은 방향일 때 0에서 수직일 때 90을 지나 정반대일 때 180까지 갑니다. 위 수의 역코사인이라 그 범위를 물려받고 결코 밖으로 나올 수 없습니다
라디안
같은 각도를 다른 방식으로 적은 것입니다. 180도가 π 라디안이고 90도는 그 절반이며, 출력은 단위 없는 보통의 수입니다. 미적분과 대부분의 프로그래밍 언어 공식은 라디안을 원하므로, 페이지가 π를 곱하고 180을 나누라고 시키는 대신 둘 다 줍니다
도
주 출력의 단위이고 이 페이지에서 단위를 지닌 유일한 출력입니다. 코사인과 라디안 값은 보통의 수입니다
소수점 네 자리
모든 출력을 적는 폭입니다. 코사인은 특별한 경우(0, 0.5, 1, −1)에만 정확하고 각도는 코사인이 그중 하나일 때만 정확하므로, 이 페이지의 거의 모든 줄이 반올림된 값을 지닙니다

두 방향의 관계만이 아니라 각도 자체가 필요할 때 쓰는 페이지입니다. 산술 없이 알아볼 값어치가 있는 각도가 셋 있습니다. 코사인이 1이면 0도이고 같은 방향이며, 0이면 90도이고 수직이며, −1이면 180도이고 정반대입니다. 나머지는 모두 진짜 각도이고 페이지가 소수점 네 자리까지 줍니다. 가장 흔한 실제 쓰임은 어떤 방향을 기준 방향과 견주는 것입니다. 바람이 정북에서 얼마나 돌아갔는지, 카메라가 얼마나 회전했는지, 측정한 방향이 원래 있어야 할 방향에서 얼마나 벗어났는지 하는 것들입니다. 두 방향을 아는 기하 문제도 같은 계산이고, 두 직선을 각각 벡터로 적은 뒤의 각도도 마찬가지입니다. 어떤 답이든 쓸 수 있는 검산은 코사인과 각도가 같은 이야기를 하는지 보는 것입니다. 코사인이 양수면 각도는 늘 90도 미만이고, 코사인이 음수면 90도 초과이며, 코사인이 0이면 정확히 90도입니다. 둘이 어긋나면 성분이 생각했던 것과 다른 것입니다. 라디안 출력은 각도를 공식이나 코드에 넣으려는 경우를 위한 것입니다. 그쪽은 거의 언제나 라디안을 원하고, 손으로 변환하는 것이 부호 실수와 180배 실수가 나오는 자리입니다

계산 예시

  1. 1 1 0과 1 0 1

    1. 내적: 1 × 1 + 1 × 0 + 0 × 1 = 1
    2. u의 크기: √(1 + 1 + 0) = √2 = 1.414214
    3. v의 크기: √(1 + 0 + 1) = √2 = 1.414214
    4. 코사인: 1 ÷ (1.414214 × 1.414214) = 1 ÷ 2 = 0.5
    5. 각도: 0.5의 역코사인은 60도이고, 60 × π ÷ 180 = 1.047198 라디안입니다

    페이지가 처음 열릴 때 들어 있는 입력이고 가장 깔끔한 줄입니다. 코사인이 정확히 2분의 1로, 각도가 정확히 60도로 나옵니다. 내적인 1이 패널 어디에도 없다는 점을 보십시오. 이 페이지는 코사인과 각도를 인쇄하고 내적은 그 사이의 단계입니다. 두 크기가 모두 √2라 곱이 정확히 2가 되고, 그래서 코사인과 각도가 반올림되지 않고 정확하게 나옵니다.

  2. 3 4 0과 4 3 0

    1. 내적: 3 × 4 + 4 × 3 + 0 × 0 = 24
    2. 각각의 크기: √(9 + 16) = 5이며 세 번째 성분이 0입니다
    3. 코사인: 24 ÷ (5 × 5) = 0.96
    4. 각도: 0.96의 역코사인은 16.2602도이고 0.2838 라디안입니다

    코사인을 왜 인쇄할 값어치가 있는지 보여 주는 줄입니다. 코사인 0.96은 두 벡터가 거의 같다는 소리처럼 들리는데 각도는 16.26도로 직각의 6분의 1쯤입니다. 코사인은 0도에서 90도까지의 범위를 1에서 0 사이의 수로 눌러 담고, 그것도 고르지 않게 눌러 담습니다. 그래서 코사인을 무엇의 비율처럼 읽으면 틀립니다. 여기서는 두 크기가 모두 정확히 5라 3-4-5 삼각형이 늘 하던 일을 하고 있습니다.

  3. 1 0과 0 1

    1. 내적: 1 × 0 + 0 × 1 = 0
    2. 각각의 크기: 1
    3. 코사인: 0 ÷ 1 = 0
    4. 각도: 0의 역코사인은 정확히 90도이고 1.570796 라디안입니다

    이 페이지가 가장 자주 열리는 이유의 답이고 정확한 경우입니다. 코사인이 0이면 두 벡터가 수직이고, 각도가 반올림된 값이 아니라 정확히 90으로 돌아옵니다. 이 둘은 가장 단순한 수직 짝이고, 하나는 x축, 하나는 y축을 따릅니다. 라디안 값 1.5708은 π ÷ 2입니다.

  4. -1 0 0과 1 0 0

    1. 내적: (−1) × 1 + 0 × 0 + 0 × 0 = −1
    2. 각각의 크기: 1
    3. 코사인: −1 ÷ 1 = −1
    4. 각도: −1의 역코사인은 정확히 180도이고 3.141593 라디안입니다

    범위의 반대쪽 끝입니다. 코사인이 −1이라는 것은 두 벡터가 만들 수 있는 가장 큰 각도인 180도이고 라디안 값은 π입니다. 정확히 반대 방향을 향하는 두 벡터도 여전히 두 벡터이고 그 사이의 각도는 0이 아닙니다. 180이라는 답이 틀린 것처럼 보일 때 볼 줄이 이것입니다. 틀리지 않았습니다. 반대라는 것도 평행과 마찬가지로 하나의 관계입니다.

  5. 2 -3과 4 5

    1. 내적: 2 × 4 + (−3) × 5 = 8 − 15 = −7
    2. u의 크기: √(4 + 9) = √13 = 3.605551
    3. v의 크기: √(16 + 25) = √41 = 6.403124
    4. 코사인: −7 ÷ (3.605551 × 6.403124) = −7 ÷ 23.086793 = −0.303201
    5. 각도: −0.303201의 역코사인은 107.6501도이고 1.8788 라디안입니다

    둔각이 나오는 경우이고 사람들이 가장 자주 걸리는 자리입니다. 두 벡터가 90도보다 큰 각도를 만들 수 있고, 내적이 음수일 때마다 그렇게 됩니다. 여기서는 u의 성분 하나가 음수인데, 왼쪽이나 아래를 향하는 벡터를 적는 방식이 그것입니다. 코사인 −0.3032는 작지만 그 부호가 전부입니다. 두 벡터가 서로에게서 멀어지는 쪽으로 기울었다는 뜻이고 107.6501도라는 각도가 그 말에 동의합니다.

한계

두 벡터의 성분 개수가 같아야 하고, 맞지 않는 짝은 0으로 채우지 않고 거부합니다. 영벡터는 아예 거부합니다. 성분이 모두 0인 벡터에는 방향이 없어 그것과 다른 무엇 사이의 각도가 정의되지 않고, 페이지는 같은 방향을 향한다고 읽힐 0도를 보여 주는 대신 계산 전체를 거절합니다. 성분은 보통의 수로 읽습니다. 쉼표 뒤에 공백이 있으면 성분을 나누고, 공백 없이 붙은 쉼표는 소수점으로 읽으며(1,5는 1.5), 세 자리 묶음 쉼표는 추측하지 않고 거부합니다. 1,500이 아니라 1500으로 적어야 합니다. 각 벡터에 성분 200개까지 받습니다. 손으로 적는 어떤 경우보다도 넉넉하지만 데이터 파이프라인이 쓰는 크기에는 미치지 못합니다. 내적 자체는 출력에 없습니다. 일부러 그런 것으로, 각도를 계산하는 단계이고 그것을 답으로 인쇄하는 페이지는 따로 있습니다. 소수점 네 자리는 정밀도 주장이 아니라 표시 폭이고, 두 출력 모두 반올림하지 않은 크기에서 계산되므로 인쇄된 수를 다시 곱해 맞춰도 인쇄된 각도가 그대로 재현되지 않을 수 있습니다. 페이지는 성분이 무엇으로 측정되었는지 알지 못합니다. 입력도 코사인도 라디안 값도 보통의 수이고, 단위가 있는 곳은 도 하나뿐입니다.

자주 묻는 질문

성분은 어떻게 적나요?
공백이나 쉼표와 공백으로 나눠 적습니다. 1 1 0과 1, 1, 0이 모두 됩니다. 두 자리 수 사이에 공백 없이 붙은 쉼표는 소수점으로 읽고(1,5는 1.5), 1,500처럼 세 자리를 묶은 쉼표는 추측하지 않고 거부하므로 1500으로 적으십시오. 두 벡터는 성분 개수가 같아야 하고, 개수 자체에는 제한이 없습니다. 2차원과 3차원이 같은 페이지입니다.
각도의 코사인은 어디에 쓰나요?
각도를 계산하는 근거가 되는 수이고, 중요한 세 경우에는 각도보다 읽기 쉽습니다. 코사인이 1이면 같은 방향, 0이면 수직, −1이면 정반대입니다. 그 사이의 값은 진짜 각도이고 페이지가 도와 라디안으로 줍니다.
두 벡터가 수직인지 어떻게 알 수 있나요?
각도의 코사인이 0이고 페이지가 정확히 90도로 읽어 줍니다. 그 판정에는 각도 출력이 쓰는 삼각함수가 전혀 필요 없습니다. 내적이 0일 때 정확히 참이고, 거기에는 곱셈만 필요합니다. 이 페이지가 코사인을 보여 주는 이유가 바로 그 직각인 경우를 아무것도 계산하지 않고 알아보게 하기 위해서입니다.
각도가 왜 180도를 넘지 않나요?
각도의 코사인이 −1과 1 사이로 묶여 있고 역코사인은 0도에서 180도 사이의 값만 돌려주기 때문입니다. 180도라는 것은 두 벡터가 정확히 반대 방향을 향한다는 뜻이고, 두 방향 사이에 200도라는 각도는 없습니다. 200도와 160도는 같은 화살표 짝을 가리킵니다.
각도 출력이 도와 라디안 두 가지인 이유는 무엇인가요?
읽는 사람이 다르기 때문입니다. 사람은 도를 읽고, 공식과 프로그래밍 언어는 거의 언제나 라디안을 원하며 180도가 π 라디안입니다. 둘 다 인쇄하면 π를 곱하고 180을 나누는 일이 없어지고, 그 자리가 180배 실수가 나오는 곳입니다. 라디안 값은 단위 없는 보통의 수입니다.
성분이 모두 0인 벡터를 왜 거부하나요?
영벡터에는 방향이 없어서 그것과 다른 무엇 사이의 각도가 정의되지 않기 때문입니다. 크기가 0이고 코사인은 내적을 두 크기의 곱으로 나눈 값이라, 계산하려면 0으로 나누게 됩니다. 0도를 돌려주는 페이지는 그 벡터와 같은 방향을 향한다고 말하는 셈인데, 그것은 존재하지 않는 방향에 대한 주장입니다.

참고 문헌

관련 계산기