2012-06-25 5 views
1

이것은 매우 기본적인 문제이지만 어디서나 완전한 대답을 찾을 수 없습니다.주어진 속도로 opengl 안드로이드 이동

개체가 주어진 속도로 z 축을 따라 움직이는 것을 고려하십시오. (예 : -0.2 OpenGL 단위) 이제 회전 X, Y 및 Z 각도로 로컬 축을 중심으로 개체를 회전합니다.

질문 : 내 개체의 다음 위치는 무엇입니까?

나는 다음과 같은 방정식을 사용하고 (내가 아는 잘못,하지만 난 그냥 그들에게 바로 할 수 없습니다)

positionX += -SPEED * Math.sin(rotationY * Utils.DEG)* Math.cos(rotationX * Utils.DEG); 
    positionY += SPEED * Math.sin(rotationX * Utils.DEG);  
    positionZ += -SPEED * Math.cos(rotationX * Utils.DEG)* Math.cos(rotationY * Utils.DEG); 

이 어디 내 실수인가?

답변

0

개체의 방향을 나타내는 벡터를 저장합니다.

회전 중에 방향 벡터를 회전합니다. 나는 또한 벡터와 시도,하지만 같은 상황에서 오전

positionX += SPEED * orientation.X 
positionY += SPEED * orientation.Y 
etc. 
+0

이동

. 회전 행렬에 곱할 때 문제가 있습니다. 그래서 당신이 더 자세하게 설명 할 수있는 한 어느 솔루션이라도 괜찮을 것 같습니다. –

+0

@Mihaisiatat - 벡터 회전에 대한 코드를 게시하고 문제가 무엇인지 설명하십시오. – mbeckish

관련 문제