Vector - Part2 단위벡터

2025. 1. 15. 20:30·Math & Physics/Vectors
 
3D 게임 프로그래밍 입문(DirectX 11을 이용한)
DirectX 11을 이용한『3D 게임 프로그래밍 입문』. 이 책은 DirectX 3D 11을 이용한 게임 개발에 강조를 둔, 대화식 컴퓨터 그래픽 프로그래밍의 입문서이다. 크게 세 부로 구성하여, 제1부에서는 기본적인 수학적 도구들으 설명하고 제2부는 DirectX 3D의 기본 과제들을 수행하는 법, 제3부는 여러 응용 기법과 특수 효과를 소개한다.
저자
프랭크 D 루나
출판
한빛미디어
출판일
2013.10.15

 

 

벡터 대수

저번 포스팅 에서는 벡터의 간단한 정의와 좌표계, 기본적인 연산방법에 대해서 알아봤다.


1. 길이와 단위벡터

한 벡터의 크기는 해당 지향 선분의 길이이다. 즉, 벡터를 표기하는 그래프의 길이가 길 수록 벡터의 크기도 크다고 볼 수 있다.

벡터의 크기는 이중 수직선으로 표기하며(||x||는 x의 크기이다.) 이번에도 기호를 사용해서 크기를 구해보자.
3차원 벡터의 크기는 피타고라스의 정리를 두 번 적용해서 계산할 수 있다.

3차원 좌표계와 벡터

피타고라스의 정리를 두번 적용하면 3차원 벡터의 길이를 구할 수 있다.

위 그림의 이미지에 우선 두 변이 x와 z이고 빗변이 a인 삼각형을 보자, 피타고라스의 정리에 따르면 a의 길이를 구하는 공식은 다음과 같다. $a=\sqrt{x^2+z^2} $
이제 빗변이$\|\mathbf{u}\|$인 삼각형을 보자

$$
|\mathbf{u}| =\sqrt{y^2+(\sqrt{x^2+z^2})^2} = \sqrt{x^2 + y^2 + z^2},\tag{1}
$$

벡터를 순수하게 방향을 나타내는 용도로 사용하는 경우에는 벡터의 길이가 중요하지 않을 수 있다.
그런 방향 전용 벡터에서는 벡터의 길이를 정확히 단위 길이, 즉 1로 맞추어 두는것이 편하며, 벡터의 길이를 단위 길이 즉, 1로 만들어 단위 벡터(unit vector)로 만드는 것을 가리켜 벡터의 정규화(normalization) 라고 부른다.

$$
\hat{\mathbf{u}} = \frac{\mathbf{u}}{|\mathbf{u}|} = \left( \frac{x}{|\mathbf{u}|}, \frac{y}{|\mathbf{u}|}, \frac{z}{|\mathbf{u}|} \right) \tag{2}
$$

이 공식이 맞는지를 단위벡터 $\hat{\mathbf{u}}$의 길이를 계산해서 확인해보자.

$$
|\hat{\mathbf{u}}| = \sqrt{\left(\frac{x}{|\mathbf{u}|}\right)^2 + \left(\frac{y}{|\mathbf{u}|}\right)^2 + \left(\frac{z}{|\mathbf{u}|}\right)^2}
= \sqrt{\frac{x^2 + y^2 + z^2}{|\mathbf{u}|^2}}
= \sqrt{\frac{|\mathbf{u}|^2}{|\mathbf{u}|^2}}
= 1
$$

따라서 $\hat{\mathbf{u}}$ 는 실제로 단위 벡터이다.


예 1

벡터 $v=(-1,3,4)$ 를 정규화해 보자.
$ |\mathbf{v}|=\sqrt{(-1)^2+3^2+4^2} = \sqrt{26} $ 이다. 따라서 $\hat{v} = \frac{\mathbf{v}}{|\mathbf{v}|} = (-\frac{\mathbf{1}}{\mathbf{26}}+\frac{\mathbf{9}}{\mathbf{26}}+\frac{\mathbf{16}}{\mathbf{26}})$ 이다.
$\hat{v}$ 가 실제로 단위벡터인지를 그 길이를 계산해서 확인해보면 다음과 같다,

$$
\hat{v} = \frac{\mathbf{v}}{|\mathbf{v}|} = (-\frac{\mathbf{1}}{\mathbf{26}}+\frac{\mathbf{9}}{\mathbf{26}}+\frac{\mathbf{16}}{\mathbf{26}}) = \sqrt{1}=1 \tag{3}
$$


 

'Math & Physics > Vectors' 카테고리의 다른 글

Vector - part3 내적  (0) 2025.01.15
Vector - Part1 벡터와 좌표계  (0) 2025.01.15
'Math & Physics/Vectors' 카테고리의 다른 글
  • Vector - part3 내적
  • Vector - Part1 벡터와 좌표계
Mr.Vulpes
Mr.Vulpes
여우비가 내리는 시간입니다.
  • Mr.Vulpes
    여우비 개발실
    Mr.Vulpes
  • 전체
    오늘
    어제
    • Browse All Categories (25) N
      • Unreal (9)
        • Core Concepts (6)
        • Unreal For C++ (3)
      • C++ Programming (1)
        • C Basic (1)
      • DirectX (1)
      • Math & Physics (3)
        • Vectors (3)
      • Software Engineering (11) N
        • Software Development Princi.. (7) N
        • Design Pattern (3)
  • hELLO· Designed By정상우.v4.10.3
Mr.Vulpes
Vector - Part2 단위벡터
상단으로

티스토리툴바