关于OpenGL的函数glRotate(fd)

the_venus 2011-08-13 10:41:10
我发现OpenGL里面的
void glRotated(
GLdouble angle,
GLdouble x,
GLdouble y,
GLdouble z
);

void glRotatef(
GLfloat angle,
GLfloat x,
GLfloat y,
GLfloat z
);
这两个函数的旋转功能太强大了,它能够使得模型视图矩阵绕着任意的轴旋转,这里的轴不光是X轴,Y轴与Z轴,还可以是其他的轴....
我看过一下Direct3D里面有这么三个函数
D3DXMATRIX *D3DXMatrixRotationX(D3DXMATRIX *pOut,FLOAT Angle);
D3DXMATRIX *D3DXMatrixRotationY(D3DXMATRIX *pOut,FLOAT Angle);
D3DXMATRIX *D3DXMatrixRotationZ(D3DXMATRIX *pOut,FLOAT Angle);

这三个函数合起来也只能使矩阵绕X,Y,Z轴旋转呀,如果想绕其他的轴旋转的话,这三个函数就无能为力了,OpenGL太强大了,一个函数的功能要顶上三个Direct3D的函数还不止!
我想知道这两个函数产生的是什么样的矩阵,能绕任意的轴旋转。。。。有哪位高手能告诉我吗?谢谢了。。。
...全文
147 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hustlaofan 2011-08-13
  • 打赏
  • 举报
回复
实际上void glRotated(
GLdouble angle,
GLdouble x,
GLdouble y,
GLdouble z
);

glRotated(angle,0,0,1);//绕z轴逆时针转angle,angle为非负数
glRotated(angle.0,1,0);//绕y轴
glRotated(angle.1,0,0);//绕x轴

这样用的,

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧