1
我正在調試OpenGL中的矩陣乘法,並且在得到的矩陣中得到一個執行位置向量。我在OpenGL中的矩陣乘法不像預期的那樣
這裏是我的代碼:
{
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glRotatef(45,0.0f,1.0f,0.0f);
glGetFloatv(GL_MODELVIEW_MATRIX, (GLfloat *)&rot);
glLoadIdentity();
glTranslatef(2.0f,2.0f,2.0f);
glGetFloatv(GL_MODELVIEW_MATRIX, (GLfloat *)&trs);
glLoadIdentity();
glLoadMatrixf(rot);
glMultMatrixf(trs);
glGetFloatv(GL_MODELVIEW_MATRIX, (GLfloat *)&rottrs);
glPopMatrix();
}
從純粹數學的角度來看,我應該得到的rottrs 2xcos(45)-2xsin(45)[12]和2xcos(45)+ 2xsin(45) rottrs [14] 因爲rot [0] = cos(45)和rot [2] = - sin(45)
但是我倒過來了。調試器顯示:
rottrs [12] = 2.8284271
rottrs [13] = 2.0000000
rottrs [14] = 0.00000000
rottrs [15] = 1.0000000
莫非你告訴我我要去哪裏?
我知道它是列爲主。但我的問題是關於第3和第(使用您的指數)元素的值。例如,第3位應該是0; 2xcos(45)-2xsin(45)的結果。謝謝。 – user1877329