학습 페이지
www.inflearn.com
오늘은 그래픽에서 많이 나오는 내용 중인 하나인 Quaternion에 대해 알아보자.
우선 복소수에 대해 알아야하는데 복소수는 제곱했을 때 -1이 나오는 수이다.
위의 그림에서 i가 허수부를 나타내는 수로 복소수이다. z에 작대기를 봍인것은 켤복소수로 허수부를 반대편 부호로 나타내는 것이다.
이 복소수는 극좌표에서 사용되곤한다. 곱해줬을 때 회전이 일어난다. 이 회전이 2D에서는 적용이 되었는데 3D에서는
적용되지 않았지만 4원소 사용하는 방법을 발견했고 이런 방법을 사용하는 것이 Quaternion이다.
Quaternion을 이해 해보자
처음에 저런 식이 나온다. 저 식은 나눗셈이 아니라 a에서 b까지 변화하는 것이다. 이때 회전뿐만 아니라 크기도 변하고
있다.
3D에서 Quaternion을 사용하는 이유는 짐벌락 현상때문이다. x y z 축으로 한번씩 회전에서 모든 회전 값을 얻을 수 있을 줄 알았지만 축이 겹치면서 한축이 사라지면서 먹통이 되는 현상이 발생하는 것을 방지하기 위해서이다.
Quaternion는 SRT에서 SR이 동시에 들어가 있는 것으로 생각하면 된다.
'게임공부 > Directx11' 카테고리의 다른 글
[Directx11][C++][3D]23. TextureBuffer (3) | 2024.10.02 |
---|---|
[Directx11][C++][3D]22. RawBuffer (1) | 2024.09.30 |
[Directx11][C++][3D]20. 통합 & 정리 (1) | 2024.09.28 |
[Directx11][C++][3D]19. 인스턴싱(ModelAnimator) (0) | 2024.09.26 |
[Directx11][C++][3D]18. 인스턴싱(MeshRenderer,ModelRenderer) (0) | 2024.09.24 |