마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

opengl es 짐벌락을 해결하는데 질문있습니다

0 추천

 

현재 해결하려는 문제가 뭐냐면 

버튼으로 도형의 rotation을 조작할때 x축으로 90도 회전을 한 상태에서 다른 버튼을 눌러서 z축으로 90도 회전을 하면 이미 x축으로 90도 회전이 된 상태에서 z축 회전을 하여 회전축이 변경된 상태에서 회전을 하는걸 막으려고 합니다.

교수님이 짐벌락 현상이라고 말씀해주시면서 해결방법으로 매번 그릴때마다 (버튼터치할때마다) 회전하는 각을 전부 더해서 회전시키라고 하셨습니다.

 

그래서 제가 생각한 바로는 0) 버튼을 클릭하면 버튼에 따라서 rotXAxis, rotZAxis가 계속 더해짐 (무한대로)

1) 버튼을 클릭하면 x축이든, z축이든 회전행렬을 곱하여 도형을 회전시킴

2) 도형을 그리고나서 회전만큼 역변환하여 modelMatrix에 회전하기 이전으로 되돌려 놓음

3) 다시 버튼을 클릭하면 누적하여 더해진 rotXAxis,rotZAxis를 이용해 회전시킴

이거인데 제대로 작동을 안하고 그냥 엉망으로 회전합니다..ㅠㅠ 어떻게 해야할까요...

collduty (140 포인트) 님이 2023년 6월 2일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...