본문 바로가기
3D Algorithm

벡터 내적 외적 계산 공식과 결과 의미

by DarkRock 2024. 3. 12.
반응형

3차원 공간의 벡터 A = (x1, x2, x3), B = (y1, y2, y3)가 있을 때,

 

- 내적(Inner product, Dot product)은
A⋅B = x1*y1 + x2*y2 + x3*y3 으로 계산할 수 있습니다. 코사인을 이용한 내적 계산 방식은 X의 길이와 Y의 길이 곱을 cos 벡터 사이각으로 곱하면 계산됩니다.

두 벡터의 내적(출처:wiki)

 

내적의 결과는 스칼라이며, 두 벡터가 기하학적으로 얼마나 "비슷한 방향"을 향하고 있는지를 나타냅니다. 만약 두 벡터가 완전히 같은 방향을 향하고 있다면 내적은 최대값이 되고, 두 벡터가 수직이라면 내적은 0이 됩니다. 내적이 음수인 경우에는 두 벡터가 반대 방향을 향하고 있다는 것을 의미합니다.(이 특징은 코사인 그래프를 생각하시면 됩니다. 만약 두 벡터가 길이가 1인 단위 벡터이면 내적 결과 값은 cos 결과 값인 -1 ~ 1 사이값을 가지게 됩니다.) 이와 관련된 내용은 아래글에 있습니다.

2023.10.30 - [3D Algorithm] - 벡터 내적 활용(개발자 관점)

 

벡터 내적 활용(개발자 관점)

벡터의 내적은 영어로 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 번식

darkrock.tistory.com

또한 벡터의 정사영을 내적을 이용하여 계산할 수 있습니다. 벡터의 정사영은 다른 벡터에 대한 특정 방향의 성분을 나타내는 것으로, 내적을 이용하여 이를 계산할 수 있습니다. 임의의 한 점을 내적을 이용해 직선 벡터에 정사영하여 투영하는 기본 개념은 아래 예제글에 있습니다.

2023.10.13 - [3D Algorithm] - 3차원 점 직선 투영(Point Line Projection)

 

3차원 점 직선 투영(Point Line Projection)

3차원에서 lineP를 지나고 백터가 lineDir인 직선에 점 p를 수직으로 투영하는 문제입니다. 여러 가지 방법이 있겠지만, 간단하게 하려면 점 p를 투영하기 위한 위 그림의 빨간색의 백터와 길이를 구

darkrock.tistory.com

2024.02.20 - [3D Algorithm] - 비율(ratio)을 이용한 3차원 점 이동

 

비율(ratio)을 이용한 3차원 점 이동

아래 그림을 보시면 파란 점들은 알고 있는 정보이고, 빨간 점은 계산해야 할 점입니다. pl(10,0,0)을 시작점으로 길이 L이 10이고 방향은 dir(1,0,0) 직선이 있습니다. 점 p(12,-10,0)가 있을 때 직선의 길

darkrock.tistory.com



- 외적(Cross product)은
A x B = (x2y3-x3y2, x3y1-x1y3, x1y2-x2y1) 으로 계산할 수 있습니다. 

두 벡터의 외적(출처:wiki)


외적의 결과는 벡터이며, 두 개의 입력 벡터에 수직입니다. 이 벡터는 기하학적으로 입력 벡터들이 만드는 평면에 수직인 방향벡터를 나타냅니다. 또한 외적의 크기는 입력 벡터들이 만드는 평면의 넓이를 나타냅니다. 그래서 아래 제 글에서 작성하였던 삼각형 넓이를 계산하는 방법도 외적의 크기를 이용합니다. 

2023.12.26 - [3D Algorithm] - 3차원 삼각형 면적 계산 5가지 방법(좌표, 길이, 각도, 외적 이용)

 

3차원 삼각형 면적 계산 5가지 방법(좌표, 길이, 각도, 외적 이용)

3차원에서 삼각형의 면적을 구하는 여러 가지 방법을 알려드리겠습니다. 첫 번째 방법은 삼각형의 밑변과 높이를 알았을 때 구하는 식입니다. 중고등학교 때 많이 배웠던 식입니다. 두 번째 방

darkrock.tistory.com


외적은 곱하는 순서에 따라 다르게 계산됩니다. 외적의 결과를 예측하기 위해서는 오른손 좌표계를 이용하면 됩니다. 이와 관련된 아래글은 외적 방향을 이용해서 벡터가 시계방향인지 반시계방향인지 판별하는 내용입니다.

2023.11.13 - [3D Algorithm] - CCW 판별 알고리즘(Counter Clockwise)

 

CCW 판별 알고리즘(Counter Clockwise)

CCW은 Counter Clockwise의 줄임말이며, 우리말로 반시계방향을 의미합니다. 아래의 그림을 봤을 때 우리는 간단히 반시계방향 회전이라고 판단할 수 있습니다. 2차원에서 이미지를 정면으로 봤을 때

darkrock.tistory.com

 

반응형