3차원 공간의 벡터 A = (x1, x2, x3), B = (y1, y2, y3)가 있을 때,
- 내적(Inner product, Dot product)은
A⋅B = x1*y1 + x2*y2 + x3*y3 으로 계산할 수 있습니다. 코사인을 이용한 내적 계산 방식은 X의 길이와 Y의 길이 곱을 cos 벡터 사이각으로 곱하면 계산됩니다.
내적의 결과는 스칼라이며, 두 벡터가 기하학적으로 얼마나 "비슷한 방향"을 향하고 있는지를 나타냅니다. 만약 두 벡터가 완전히 같은 방향을 향하고 있다면 내적은 최대값이 되고, 두 벡터가 수직이라면 내적은 0이 됩니다. 내적이 음수인 경우에는 두 벡터가 반대 방향을 향하고 있다는 것을 의미합니다.(이 특징은 코사인 그래프를 생각하시면 됩니다. 만약 두 벡터가 길이가 1인 단위 벡터이면 내적 결과 값은 cos 결과 값인 -1 ~ 1 사이값을 가지게 됩니다.) 이와 관련된 내용은 아래글에 있습니다.
2023.10.30 - [3D Algorithm] - 벡터 내적 활용(개발자 관점)
또한 벡터의 정사영을 내적을 이용하여 계산할 수 있습니다. 벡터의 정사영은 다른 벡터에 대한 특정 방향의 성분을 나타내는 것으로, 내적을 이용하여 이를 계산할 수 있습니다. 임의의 한 점을 내적을 이용해 직선 벡터에 정사영하여 투영하는 기본 개념은 아래 예제글에 있습니다.
2023.10.13 - [3D Algorithm] - 3차원 점 직선 투영(Point Line Projection)
2024.02.20 - [3D Algorithm] - 비율(ratio)을 이용한 3차원 점 이동
- 외적(Cross product)은
A x B = (x2y3-x3y2, x3y1-x1y3, x1y2-x2y1) 으로 계산할 수 있습니다.
외적의 결과는 벡터이며, 두 개의 입력 벡터에 수직입니다. 이 벡터는 기하학적으로 입력 벡터들이 만드는 평면에 수직인 방향벡터를 나타냅니다. 또한 외적의 크기는 입력 벡터들이 만드는 평면의 넓이를 나타냅니다. 그래서 아래 제 글에서 작성하였던 삼각형 넓이를 계산하는 방법도 외적의 크기를 이용합니다.
2023.12.26 - [3D Algorithm] - 3차원 삼각형 면적 계산 5가지 방법(좌표, 길이, 각도, 외적 이용)
외적은 곱하는 순서에 따라 다르게 계산됩니다. 외적의 결과를 예측하기 위해서는 오른손 좌표계를 이용하면 됩니다. 이와 관련된 아래글은 외적 방향을 이용해서 벡터가 시계방향인지 반시계방향인지 판별하는 내용입니다.
2023.11.13 - [3D Algorithm] - CCW 판별 알고리즘(Counter Clockwise)
'3D Algorithm' 카테고리의 다른 글
선형 방정식을 이용한 직선 삼각형 교차점 계산 (0) | 2024.04.02 |
---|---|
직선 삼각형 교차점 계산(Ray Triangle Intersection) (0) | 2024.03.21 |
사이각 벡터 계산 (0) | 2024.03.08 |
비율(ratio)을 이용한 3차원 점 이동 (0) | 2024.02.20 |
3차원 스케일(Scale)과 비율(Ratio) (0) | 2024.02.20 |