벡터(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차원도 똑같이 적용이 되는 예제입니다.)
벡터 v를 단위벡터로 만들기 위해 길이 10으로 나누어 주면 v(10/10, 0/10) = v(1,0)이 됩니다.
아래글 직선표현식 3번째 식에서 벡터를 단위벡터를 사용했는데, 만약 단위 벡터를 사용하지 않으면 길이가 포함된 벡터로 계산되어 전혀 예상치 못한 직선으로 계산이 됩니다. 반면에 1 번식은 단위벡터를 사용하지 않은 식입니다.
2024.04.24 - [3D Algorithm] - 3차원 직선 계산 및 벡터 표현(개발자 관점)
'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 |