본문 바로가기
3D Algorithm

벡터 계산과 단위벡터

by DarkRock 2024. 9. 11.
반응형

벡터(Vector)

벡터는 어릴 때 학교에서 크기와 방향을 가진 물리량이라고 배웠습니다. 벡터 계산은 두 점 p1(x1, y1), p2(x2, y2)가 있을 때 벡터 방향이 p1으로 향한다고 한다면 벡터 계산은 v = p1-p2로 합니다. 계산된 벡터 v는 크기와 방향을 갖게 됩니다. 
벡터 v는 원점(0,0)으로부터 v(x, y)까지 향하는 직선으로 표시할 수 있습니다. 이 직선의 길이가 벡터 v의 크기라고 말할 수 있습니다. 벡터 크기 계산은 √ (x-0)²+(y-0)² 이고 두 점의 길이 계산식과 같습니다. 3차원도 z를 추가해서 같은 방식으로 벡터 크기를 계산 할 수 있습니다.

 

단위벡터(Unit Vector)

단위벡터는 벡터 크기 혹은 길이가 1인 벡터입니다. 벡터의 크기를 1로 변환하는 작업을 정규화(Normalization)이라고 합니다. 

벡터의 크기를 1로 만들기 위해서는 벡터를 길이로 나누어 주면 됩니다.
단위벡터 = 벡터/길이

 

 

이해를 돕기 위해 예를 들어 아래와 같이 벡터 v(10,0)이 있다고 할 때, 벡터의 길이는 10입니다.(간단한 예제로 보여주기 위해 2차원으로 설명합니다. 3차원도 똑같이 적용이 되는 예제입니다.)

길이가 10인 벡터 v(10,0)


벡터 v를 단위벡터로 만들기 위해 길이 10으로 나누어 주면 v(10/10, 0/10) = v(1,0)이 됩니다.

길이가 1인 단위벡터 v(1,0)



아래글 직선표현식 3번째 식에서 벡터를 단위벡터를 사용했는데, 만약 단위 벡터를 사용하지 않으면 길이가 포함된 벡터로 계산되어 전혀 예상치 못한 직선으로 계산이 됩니다. 반면에 1 번식은 단위벡터를 사용하지 않은 식입니다.

2024.04.24 - [3D Algorithm] - 3차원 직선 계산 및 벡터 표현(개발자 관점)

 

3차원 직선 계산 및 벡터 표현(개발자 관점)

어렸을 때 배웠던 2차원 직선의 방정식은 y = ax+b 선언하여, 두 점을 이 식에 대입한 후 미지수 a, b를 구하여 직선의 방정식을 구했습니다. 3차원에서 직선은 다음과 같이 3가지로 표현할 수 

darkrock.tistory.com

 

반응형

'3D Algorithm' 카테고리의 다른 글

특정 좌표 중심에서 3차원 점 회전  (0) 2024.09.13
3차원 회전  (0) 2024.09.13
3차원 두 직선 교차점(Two Line Intersection)  (0) 2024.09.10
Morton Code  (0) 2024.09.04
CAD Revolve  (1) 2024.09.03