OpenGL在自己的轴上旋转三维立方体
OpenGL rotate 3D Cube on own Axis
我有一个三维立方体,我想旋转它,但不使用X、Y、Z轴。
我想在立方体自己的轴上旋转它。
例如:我将立方体从右向左移动:立方体应该在顶点的左下轴上旋转大约90度,而不是在Z轴上旋转90度。
我试过这个:
//prespektive...
gluPerspective(45,1.0,2.0,30.0);
//look at...
gluLookAt(0.0,2.0, -4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0);
//try to rotate cube on bottom-right-axis
glTranslatef(-(-0.7), 0.40, -(-0.25));
glRotatef(90, 1,0,0);
glRotatef(90, 0,1,0);
glRotatef(90, 0,0,1);
glTranslatef(-0.7, 0.40, -0.25);
但它不起作用。知道吗?
为什么破坏投影矩阵。在旋转立方体之前,转到MODELVIEW
矩阵模式
// Setup the projection
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45,1.0,1.0,30.0); // front clip plane to 1.0
// Now go to modelview
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
//look at...
gluLookAt(0.0,2.0, -4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0);
//try to rotate cube on bottom-right-axis
glTranslatef(-(-0.7), 0.40, -(-0.25));
glRotatef(90, 1,0,0);
glRotatef(90, 0,1,0);
glRotatef(90, 0,0,1);
glTranslatef(-0.7, 0.40, -0.25);
相关文章:
- 如何将三维尺寸不固定的三维阵列展平为一维阵列
- 如何使用qt缩放三维网格
- 三维数组中的C/C++DWORD到BYTE和BYTE到DWORD的转换
- 使用vtkImageReslice重新切片三维原始图像
- 特征:创建一个具有函数的三维阵列
- 扩充矩阵的行缩减-三维样条曲线计算
- 使用pcl transformcloud将三维点平移并旋转到原点
- 用C++从三维矢量中删除元素
- 如何访问CGAL三维三角测量中的面
- 如何在Openscenegraph中从二维鼠标点击的屏幕坐标点计算三维点(世界坐标)
- std::将三维数组复制到三维向量中
- 显示结构的三维数组
- 如何将X 2维数组连接到一个三维阵列中
- 使用unique_ptr来管理三维数组
- 如何访问三维矩阵元素
- Qt OpengL-旋转三维固定场景
- CGAL在三维中按x轴旋转
- 现代C++:简单的三维旋转(运行unix)
- 如果我知道三维中的齐次变换矩阵,如何使用opencv找到旋转和平移的角度
- OpenGL在自己的轴上旋转三维立方体