Unit vector
선형대수학에서, 단위 벡터 (單位 vector, 영어: unit vector)는 길이가 '1'인 벡터를 뜻한다.
벡터 \(v\)와 방향이 같은 단위 벡터는 종종 알파벳 위에 곡절 부호 (circumflex)를 쓰고, '햇'이라고 읽는다. \({\hat {v}}\)로 표기되며, '브이 햇'(영어: v hat)으로 읽는다.
Normalization
- 벡터 크기와 정규화 (개념 이해하기) | 심화 JS: 내추럴 시뮬레이션 | Khan Academy
- 방향 벡터 - 벡터의 정규화(normalized) 유니티
- 벡터 크기의 이해와 정규화 과정
- [추천] Vector - 벡터 개념 정리
- [추천] 벡터 정규화 (정보통신기술용어해설)
- [추천] EDGERIDER : 네이버 블로그 - (게임수학)Normalize 이해하기
벡터 (Vector) 란,
- 크기와 동시에 방향을 갖는 물리량
Vector Normalization (벡터 정규화) 란,
- 벡터의 크기를 1로 만들어 Unit Vector(단위 벡터)로 만드는 것
- 정규화된 벡터는 방향은 그대로 유지되지만 단위는 1이 됨
Vector-ko.png
\(v = ||v|| * u\)
(\(||v||\)는 벡터의 길이 즉 스칼라 (Scalar)값이고, u는 v와 방향이 같은 단위 벡터)
정의에서 처럼 정규화란 벡터를 해당 벡터를 그 크기만큼 나누는 것이다.
\(u = \frac{v}{||v||}\)
자 그럼 해당 벡터의 개념을 3차원 공간으로 확장하자. 3차원 공간에서 벡터는 각 성분별로 분리 할수 있다.
\(v = au_x + bu_y + cu_z\)
(각 성분별 단위 벡터 ux, uy, uz 그리고 각성분별 길이를 a,b,c로 하자)
참고로, 이렇게 만들어진 벡터를 선형 결합 (Linear Combination)이라 한다.
이렇게 선형결합 되어진 벡터의 크기를 구하는 것은 다음과 같다.
\(||v|| = \sqrt{a^2 + b^2 + c^2}\)
이러한 벡터의 크기를 벡터의 노름(Norm)이라 한다. 이 노름은 3차원 공간상에 벡터의 길이를 정의 한다.
이 Norm을 Vector의 성분별로 나누면 3차원상의 길이가 1인 단위벡터, 즉 정규화된 벡터를 구할수 있다.
아래의 식이 Vector를 Normalize 시켜주는 공식이다.
\(u = (\frac{au_x}{||v||}, \frac{bu_y}{||v||}, \frac{cu_z}{||v||})\)
Example
예를 들어 (2,-1,3)값을 갖는 Vector를 정규화 시킨다고 가정하자. 이 벡터가 갖는 길이(Norm)는 다음과 같다.
\(||v|| = \sqrt{2^2 + (-1)^2 + 3^2} = \sqrt{4+1+9} = \sqrt{14}\)
이 벡터의 각 성분을 크기로 나누면, Normalize된 Vector를 구할수 있다.
\(u = (\frac{2}{\sqrt{14}}, \frac{-1}{\sqrt{14}}, \frac{3}{\sqrt{14}})\)
이 값이 정규화 되었는지 알고 싶다면, 나눈 값을 기준으로 다시 길이를 구하면 정확히 길이가 1인 단위 벡터를 구할 수 있다.
\(\sqrt{(\frac{2}{\sqrt{14}})^2 + (\frac{-1}{\sqrt{14}})^2 + (\frac{3}{\sqrt{14}})^2} = 1\)
SpeedCrunch code: