three.js의 좌표 공간을 이해하려고하는데 object.matrix와 object.matrixWorld가 있음을 이해합니다.THREE.JS의 Matrix4에 수동으로 회전 및 변환 적용
이 블로그 게시물 Matrix Basics. How to step away from storing an orientation as ’3 angles’에 걸려 넘어지면서 Matrix4의 속성을 수동으로 조작하여 오일러 회전을 피하는 방법을 배우기로 결정했습니다.
내가하려는 것은 원점 0,0,0에서 제 큐브를 멀리 옮긴 다음 세계 공간에서 회전시키는 것입니다. 결과는 제 큐브가 먼저 y 축으로 변환 된 다음 회전이 큰 원호를 비행기로 가져 오는 것이지만 실제로 일어나는 일은 번역을 무시하고 원점으로 되돌아가는 것입니다.
나는 벡터와 행렬에 대해 많은 책을 읽었으며 나는 그 이론을 충분히 이해하고 있다고 확신한다. 내가 실제로 얻지 못하는 것은 three.js가 matrixWorld와 행렬을 어떻게 처리하는지에 있습니다. 나는 둘 다 시도했다! http://jsfiddle.net/SCXNQ/151/
그냥 내가 할 노력하고있어 확인하기 위해 렌더링() 함수를 보면 : 여기
을 입증하는 바이올린입니다!편집 - [해결] 업데이트] JS 뿐인 작업 VERSION 아래의 답변의 도움으로
14/09/12, 나는 내 업데이트 바이올린 내가 달성하기 위해 원하는 것을 보여주는 게시 할 것이라고 생각 - http://jsfiddle.net/SCXNQ/363/
단지 제쳐두고, Three.js를 간략히 살펴 보았으므로 여기서는별로 도움이되지 않을 것입니다.하지만 3D 회전을보고 있다면 벡터뿐만 아니라 Quaternions에 대해서도 이해해야합니다. 및 행렬. – phenomnomnominal
@phenomnomnominal - 예, three.js가 Quats를 구현하므로 목록에 있습니다. 내가 실행하기 전에 걷는 법을 배울 것입니다 :) – Neil