glRotateの後に座標を決定しようとしています。openGL:glrotateの後に座標を取得
と仮定我々は最初
View.x = 0;
View.y = 0;
View.z = 10.0f;
であり、私たちはglRotateが
がどのように私は新しい更新された座標を得るのですか?
View.x = ?;
View.y = ?;
View.z = ?;
これは(私が間違って何を持っているのですか?)動作していないよう:
glRotatef(angle, x, y, z);
GLfloat theMatrix[16];
glGetFloatv(GL_MODELVIEW_MATRIX, theMatrix);
viewX = View.x * theMatrix[0] + View.y * theMatrix[4] + View.z * theMatrix[8];
viewY = View.x * theMatrix[1] + View.y * theMatrix[5] + View.z * theMatrix[9];
viewZ = View.x * theMatrix[2] + View.y * theMatrix[6] + View.z * theMatrix[10];
を変換するようないくつかのより高度なものを使用することができますが回転行列の聞いたことがありますか?ウィキペディアでそれを見て、あなたはローテーションの結果が何であるかを理解するでしょう。また、特定の軸 '[ex、ey、ez]'を使用している 'glRotate(angle、ex、ey、ez)'回転を追加してください。 – ja72