반응형
벡터의 내적은 영어로 Inner Product, Dot Product라고 부르며 3차원에서 계산은
1. a•b = a.x*b.x + a.y*b.y + a.z*b.z
2. a•b = |a||b|cosθ
두 가지 방식으로 계산할 수 있습니다.
주로 개발을 할 때 계산은 1 번식을 사용하고, 값의 예측은 a, b 두 벡터를 단위 벡터로 만든 후 2 번식의 cosθ로 할 수 있습니다.
벡터 a, b를 단위백터로 만들면 |a|=|b|=1로 볼 수 있고(벡터를 길이 1로 정규화시키기 때문), 내적의 값은 cosθ로 나오게 됩니다.
a.x*b.x + a.y*b.y + a.z*b.z = cosθ
cosθ 그래프는 2파이를 주기로 1 ~ -1 값을 갖는 그래프입니다. 그래서 두 벡터를 단위백터로 만든 후 내적을 하게 되면 그 내적의 값은 1 ~ -1 값을 갖게 됩니다.
또한 cosθ에서 θ는 두 벡터의 사이각이기 때문에 두 벡터가 이루는 각이 0도이면 내적 값이 1, 90도이면 0, 180도이면 -1을 갖게 됩니다. 이 점을 이용해서 두 벡터의 내적 값이 양수면 두 벡터가 대략 같은 방향이라고 볼 수 있고, 음수면 반대 방향으로 판별이 가능합니다.
이처럼 내적은 정사영 뿐만 아니라 두 벡터를 단위 벡터로 만든 후 방향성을 판별할 때도 쓰일 수 있습니다. 내적은 3차원 공간에서 유용하게 쓰이는 경우가 많으니 잘 활용하기 바랍니다.
반응형
'3D Algorithm' 카테고리의 다른 글
Backface Culling 의미와 기본 원리 (0) | 2023.11.08 |
---|---|
곡률 의미와 3D 개발 활용(Curvature) (0) | 2023.11.03 |
라디안 각도 변환과 개념(Radian Degree) - 쉽게 그림으로 설명 (0) | 2023.10.26 |
3차원 직선 계산 및 벡터 표현(개발자 관점) (0) | 2023.10.26 |
stl, obj 3D 파일 포멧 기본 정보(3D File Format) (0) | 2023.10.23 |