【发布时间】:2013-11-28 22:45:39
【问题描述】:
我正在尝试编写 Opengl glRotatef(angle,x,y,z) 函数的自定义实现。 我写了旋转矩阵,但是当我尝试使用它时,效果和原来的函数不一样。这是我的代码;
void mglRotate(float angle, float x, float y, float z)
{
float angle_rad = angle * (PI/180.0f);
float c = cos(angle_rad);
float s = sin(angle_rad);
float t = 1 - c;
float m[16] = {
c+x*x*t,y*x*t+z*s,z*x*t-y*s,0,
x*y*t-z*s,c+y*y*t,z*y*t+x*s,0,
x*z*t+y*s,y*z*t-x*s,z*z*t+c,0,
0,0,0,1
};
glMultMatrixf(m);
}
我的错误在哪里?
【问题讨论】:
-
这个问题似乎是题外话,因为它是关于线性代数的。