SlideShare a Scribd company logo
1 of 19
쿼터니언
131043 양현찬
NHN NEXT
2차원의 회전행렬
3차원으로 확장해서 생각하면 Z축을 중심으로 회전한다
오일러 변환
사용중인 좌표축을 이용해서 회전시키는 변환
짐벌락 현상 제대로 이해하자
• 회전행렬을 적용했을 때 회전의 중심이 되는 축을 제외하고 나머
지 축들도 함께 회전한다.
• xyz순서로 회전을 한다고 가정했을 때 y축 회전에 의해 이전에 x
축으로 회전했던 축과 다음으로 회전할 축인 z축이 같아지는 현
상이 짐벌락 현상이다.
• 두번째로 회전하는 축의 각도가 90도가 되는 것을 피하면 된다.
• 짐벌락 현상을 소멸시킬 수 있는 방법은 없다. 최대한 피하는 방
법뿐이다.
• 특정 방향으로 회전을 못하는 것이 아니다. 그저 불편할 뿐이다.
짐벌락 현상을 피하기 위한 방법들
•회전의 순서를 바꾼다.
•임의의 축 회전을 이용한다.
임의의 축 회전
말 그대로 사용자가 지정한 축으로 회전하는 변환
DX에서는 D3DXMatrixRotationAxis라는 함수로 기능을 제공하고 있다
Rodrigues' rotation formula
• 임의의 축 회전 변환의 방법 중 하나이다.
• 쿼터니언을 이용한 회전변환을 찾는 과정 중, 아래 행렬의 유도
과정에서 나온 공식과 형태가 같음을 통해 회전변환임을 알게 된
다.
• 참고자료 : http://spacebug.blog.me/130187075488
쿼터니언
• 복소수의 특징을 이용해 x, y, z의 정보를 담을 수 있다.
• 효율적이기 때문에 사용한다.
• 쿼터니언을 통한 회전 변환은 임의의 축에 대한 변환이다.
행렬을 통해 정보를 담듯 사원수를 통해 정보를 담는다
허수부를 통해 x,y,z 3차원을 나타냈으니 실수부는 그냥 남는 자원이다
쿼터니언 회전변환
회전 정보를 담고 있는 쿼터니언q와 좌표 정보를 담고 있는 쿼터니언p
는 임의의 축이다. 해당하는 축의 벡터 정보를 가지면 된다.
쿼터니언q를 행렬로 변환했을 때
부록 : 쿼터니언 보간
선형보간
구형보간
출처 : http://showmiso.tistory.com/57
쿼터니언
http://navercast.naver.com/contents.nhn?
rid=22&contents_id=4132
http://navercast.naver.com/contents.nhn?
rid=22&contents_id=4788&leafId=644
http://navercast.naver.com/contents.nhn?
rid=22&contents_id=5036&leafId=644

More Related Content

What's hot

[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
NAVER D2
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템
QooJuice
 
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
MinGeun Park
 

What's hot (20)

[C++ Korea] C++ 메모리 모델과 atomic 타입 연산들
[C++ Korea] C++ 메모리 모델과 atomic 타입 연산들[C++ Korea] C++ 메모리 모델과 atomic 타입 연산들
[C++ Korea] C++ 메모리 모델과 atomic 타입 연산들
 
FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
 
[IGC 2017] 펄어비스 민경인 - Mmorpg를 위한 voxel 기반 네비게이션 라이브러리 개발기
[IGC 2017] 펄어비스 민경인 - Mmorpg를 위한 voxel 기반 네비게이션 라이브러리 개발기[IGC 2017] 펄어비스 민경인 - Mmorpg를 위한 voxel 기반 네비게이션 라이브러리 개발기
[IGC 2017] 펄어비스 민경인 - Mmorpg를 위한 voxel 기반 네비게이션 라이브러리 개발기
 
NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [ztyle] : 손그림 의류 검색 서비스
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [ztyle] : 손그림 의류 검색 서비스제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [ztyle] : 손그림 의류 검색 서비스
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [ztyle] : 손그림 의류 검색 서비스
 
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
 
Lay Picking
Lay PickingLay Picking
Lay Picking
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
 
중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직
 
네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD
 
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
 
[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?
[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?
[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?
 
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [하둡메이트 팀] : 하둡 설정 고도화 및 맵리듀스 모니터링
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [하둡메이트 팀] : 하둡 설정 고도화 및 맵리듀스 모니터링제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [하둡메이트 팀] : 하둡 설정 고도화 및 맵리듀스 모니터링
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [하둡메이트 팀] : 하둡 설정 고도화 및 맵리듀스 모니터링
 
Python 게임서버 안녕하십니까 : RPC framework 편
Python 게임서버 안녕하십니까 : RPC framework 편Python 게임서버 안녕하십니까 : RPC framework 편
Python 게임서버 안녕하십니까 : RPC framework 편
 
包括脳2016 nodd iturorial_jpn_20160123_slideshare
包括脳2016 nodd iturorial_jpn_20160123_slideshare包括脳2016 nodd iturorial_jpn_20160123_slideshare
包括脳2016 nodd iturorial_jpn_20160123_slideshare
 
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
 
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기
 
Log design
Log designLog design
Log design
 

Viewers also liked

Viewers also liked (11)

More effective c++ 2
More effective c++ 2More effective c++ 2
More effective c++ 2
 
Mesh slice 1
Mesh slice 1Mesh slice 1
Mesh slice 1
 
Effective c++ 4
Effective c++ 4Effective c++ 4
Effective c++ 4
 
Effective c++ 3
Effective c++ 3Effective c++ 3
Effective c++ 3
 
More effective c++ 1
More effective c++ 1More effective c++ 1
More effective c++ 1
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬
 
More effective c++ 3
More effective c++ 3More effective c++ 3
More effective c++ 3
 
Open gl 시작하기
Open gl 시작하기Open gl 시작하기
Open gl 시작하기
 
Effective c++ 1
Effective c++ 1Effective c++ 1
Effective c++ 1
 
Effective c++ 2
Effective c++ 2Effective c++ 2
Effective c++ 2
 
초등학생도 하는 그냥 DB설치
초등학생도 하는 그냥 DB설치초등학생도 하는 그냥 DB설치
초등학생도 하는 그냥 DB설치
 

쿼터니언