면책 조항 : 나는 프로 게임 프로그래머이며 며칠 동안 쿼터니언을 사용하지만 나에게 흑 마법에 가깝습니다. 나는 상대적으로 수학과 함께 집에 있지만 허수는 항상 나를 혼란스럽게합니다. 나는 쿼트를 유용한 것으로 취급하고 곱셈을 두 번 이상 뒤집는 경향이 있습니다. 나는 제한된 성공으로 행렬을 사용하는 것처럼 그들에 대해 추론하려고합니다.
아무리 해도....
나를 방해하는 것은 다음과 같습니다. 객체를 로컬 축 주위로 회전하려면 회전을 적용하려는 회전을 나타내는 쿼터니언과 곱합니다. 따라서 로컬 공간에서의 회전입니다.
이제 월드 공간에서 축을 중심으로 회전하려면 다음과 같은 추론을해야합니다. 월드 공간에서 회전을 쿼터니언으로 가져갑니다. 객체 회전의 역수에이 쿼터니언을 곱하십시오. 이것은 지역 공간에서 나의 세계 회전을 가져올 것입니다. 이 새로운 쿼터니언으로 회전을 곱하십시오. 즉 : newRot = oldRot * (역 oldRot * worldRot)
그러나 내가해야 할 일은 newRot = oldRot * (inverse oldRot * worldRot) * oldRot입니다.
왜 반전 쿼트를 곱한 후에도 적용하기 전에 내 쿼트를 곱해야합니까? 나는 완벽한 정당한 이유가 있어야한다는 것을 알고 있지만, 그 길을 벗어날 수는 없으며 나에게 좌절감을 느낍니다. 나는 다양한 자주 묻는 질문과 그 밖의 것들을 시도했지만 대부분 수학에 깊이 들어가서 명확하지 않습니다.
내가 5 살짜리처럼 나에게 이것을 설명 할 수있는 사람?
I try to reason about them like I would with matrices
-그러면 당신은 올바른 길을 가고 있습니다. 행렬을 사용하여 객체의 축과 월드의 축을 중심으로 회전하는 방법을 이해했다면 쿼터니언을 사용하여 동일한 작업을 수행 할 수 있습니다. 곱셈 순서는 행렬과 쿼터니언 모두 동일합니다.