Presentation is loading. Please wait.

Presentation is loading. Please wait.

이창희(cagetu79@gmail.com) 사원수 (Quaternion) 이창희(cagetu79@gmail.com)

Similar presentations


Presentation on theme: "이창희(cagetu79@gmail.com) 사원수 (Quaternion) 이창희(cagetu79@gmail.com)"— Presentation transcript:

1 이창희(cagetu79@gmail.com)
사원수 (Quaternion)

2 사원수 회전을 사용할 때 행렬 대신 사용하곤 하는 수학적 개념 행렬에 비해 저장 공간이 적다
회전들의 결합에 필요한 연산이 적다 보간을 할 때 좀 더 매끄러운 애니메이션이 가능

3 사원수의 성질 q = w+xi+yj+zk = s + v
i2=j2=k2=-1, ii=jj=kk=-1 ij=-ji=k, jk=-kj=i, ki=-ik=j q1+q2 = (s1+s2) + (v1+v2) q1q2 = s1s2 – v1•v2+s1v2+s2v1+v1*v2 q*~q = ~q*q = q•q = |q|2 = q2 norm(q) = q*~q q-1 = ~q/norm(q) = ~q/q2 q*q-1 = 1

4 사원수 성질 (q1*q2)*q3 = q1*(q2*q3) q1*q2 != q2*q1 ~(~q) = q

5 회전 P’= qPq-1 준동형(homomorphism)사상
Φ는 길이,각도,축이 모두 보존된다. Φ(P1)Φ(P2)=Φ(P1P2) Φq(P) = qPq-1 Φq(P1)Φq(P2)=qP1q-1 qP2q-1=qP1qP2q-1=Φq(P1P2) qPq-1 =(s+v)P(s-v)=(s2-t2)P+2stA*P+2t2(A•P)A P’=cosθP+(A*P)sinθ+(A•P)A(1-cosθ) (임의의 축에 대한 회전 공식) 과 비교 s2-t2=cosθ,2st=sinθ,2t2=1-cosθ 축 u(단위벡터)을 중심으로 회전 q = cos(θ/2) + sin(θ/2)u

6 회전 사원수 q에 임의의 scalar를 곱한 것 역시 q와 동일한 회전 qPq-1을 3x3행렬로 변환

7 Euler 오일러각을 이용하여 사원수 만들기 사원수를 이용하여 오일러각 알아내기
오일러각은 x축,y축,z축을 중심으로 회전을 정의 qroll =cos(θr/2)+sin(θr/2)i+0j+0k qpitch =cos(θp/2)+0i+sin(θp/2)j+0k qyaw =cos(θy/2)+0i+0j+sin(θy/2)k Q = qrollqpitchqyaw 사원수를 이용하여 오일러각 알아내기 사원수를 회전 행렬로 변환 sinθr=-r31 tanθp=r31/r33 tanθy=r21/r11

8 보간 선형보간 q(t) = (1-t)q1 + tq2 사원수 공간은 구면공간의 성격을 띄는데 선형보간을 하게되면 오차가 생긴다
정규화를 통해 보정가능

9 보간 일반적으로 선형보간으로 오차가 그리 크다고 보지 않기에 애니메이션을 구현할 때같은 경우 선형보간을 주로 이용
구면 선형 보간 일반적으로 선형보간으로 오차가 그리 크다고 보지 않기에 애니메이션을 구현할 때같은 경우 선형보간을 주로 이용

10 Gimbal Lock yaw(y축 회전각)을 90로 고정시키고 pitch(x축), roll(z축) 회전을 실시했을 경우 pitch 와 roll 회전이 같은 방향으로 회전하게 됨(이것이 gimbal lock) 오일러 각으로 회전을 표현할경우 전체 회전행렬 = z축 회전행렬 * y축 회전행렬 * x축 회전행렬 과 비슷한 순서의 회전행렬(회전행렬의 순서는 사용자 임의로 바꿀수 있으며 이때 gimbal lock 되는 축도 그에 따라 바뀜)을 사용하게 되는데 이때 yaw각을 90도로 회전시켰을 경우(회전행렬의 순서상) x축이 -z축이 되어 x축회전을 하나마 나한 상태가 됨 사원수의 회전을 이용하여 문제를 해결

11 참고 http://www.gpgstudy.com/gpgiki/MathTemplate
Eric Lengyel, Mathematics fo 3d game programming & computer graphics, charles river media, chapter 3 Physics for Game Developers(사원수연산)


Download ppt "이창희(cagetu79@gmail.com) 사원수 (Quaternion) 이창희(cagetu79@gmail.com)"

Similar presentations


Ads by Google