相关疑难解决方法(0)

在3D中查找X,Y和Z轴的角度 - OpenGL/C++

我目前正在尝试使用OpenGL(使用SDL)将立方体绘制到我在屏幕上单击的位置,然后让它指向我右键单击屏幕中的位置.

我可以使用gluUnproject在我想要的位置成功绘制一个立方体 - 意思是我已经知道我的立方体所在的坐标.

但是我不知道如何计算使我的立方体点在新位置所需的所有角度.

当然我仍然使用gluUnproject来找到我的右键单击的坐标,但我只知道如何使用2D图形围绕Z轴旋转.

例如之前,如果我想围绕Z轴旋转一个四边形(当然,这将是一个自上而下的视图,其中Z轴仍在"穿过"屏幕)在2D中,我会做类似的事情:

angle = atan2(mouseCoordsY - quadPosY, mouseCoordsX - quadPosX);
glRotatef(angle*180/PI, 0, 0, 1);
Run Code Online (Sandbox Code Playgroud)

我的问题是,我将如何在3D中进行此操作?

  • 我是否需要像上面那样计算每个轴的角度?
  • 如果是这样,我如何计算绕X轴和Y轴旋转的角度?
  • 如果没有,我应该用什么方法来达到我想要的效果?

任何帮助是极大的赞赏.

c++ opengl 3d angle rotation

6
推荐指数
1
解决办法
3863
查看次数

标签 统计

3d ×1

angle ×1

c++ ×1

opengl ×1

rotation ×1