본문 바로가기
3D Algorithm

두 벡터 사이각(내적, 외적 활용)

by DarkRock 2024. 1. 17.
반응형

두 벡터의 내적은

아래 식과 같이 벡터 a, b가 있을 때, 두 벡터 길이(||a||, ||b||)와 코사인 곱으로 구할 수 있습니다.
참고로 벡터 길이는 3차원을 예로 들었을 때 x제곱, y제곱, z제곱의 수치들을 모두 더해 루트를 씌어주면 계산이 됩니다.


위 식을 이용해서 두 벡터의 각을 구하려면 아래와 같이 아크코사인을 이용하면 됩니다. 아래 그림의 x, y는 벡터를 의미합니다. 벡터 x에 해당하는 3차원 좌표 x, y, z가 있고 벡터 y 또한 3차원 좌표 x, y, z가 있습니다. wiki 그림을 가져와서 혼동을 줄 수 있는 점 양해 바랍니다. -.-;

출처: wiki


두 벡터의 길이가 1인 단위 벡터이면 두 벡터의 길이를 나눠줄 필요 없이(길이가 1이기 때문에) 아크코사인에 두 벡터의 내적만 이용해서 각을 구할 수 있습니다.

 



그리고 각을 구하는 위 식은 각의 범위가 0~180도이며, 180이 넘어갈 때는 360에서 각을 빼줘야 합니다. 각이 180이 넘어가는지 아닌지를 판별하기 위해서는 두 벡터의 외적을 이용해서 하게됩니다. 두 벡터의 외적과 두 벡터를 포함하는 평면의 노말을 내적해서 양수면 0~180도 이고, 외적이 음수면 180~360도로 보시면 됩니다.

 

사이각을 알 때 벡터를 계산하는 식은 아래 글을 참고하세요.

2024.03.08 - [3D Algorithm] - 사이각 벡터 계산

 

사이각 벡터 계산

두 벡터의 사이각 계산은 아래글을 통해 설명을 했었습니다. 2024.01.17 - [3D Algorithm] - 두 벡터 사이각(내적, 외적 활용) 두 벡터 사이각(내적, 외적 활용) 두 벡터의 내적은 아래 식과 같이 벡터 a, b

darkrock.tistory.com

 

반응형