用OpenGL旋转圆柱体多少?

用OpenGL旋转圆柱体多少?,opengl,rotation,autorotate,Opengl,Rotation,Autorotate,我对OpenGL有问题。以下是一些有用的数据: 蓝色的点是圆柱体,它正朝向上的绿色参考点 屏幕 绿点是第一个参考点 红点是第二位 参考点 我将使用键盘键h、j、k和l来更改参考点—vim也使用这些键来导航 其他有用信息: 首先,我通过更改gluLookAt的centerx、centery、centerz,将参考点从绿色更改为红色。 第二,我想旋转圆柱体,这样它就会看到新的参考点 我应该旋转多少以便圆柱体仍能看到参考点 如果我没弄错你的问题 让旧参考点和眼睛之间的向量为V1 让新参考点和眼睛之

我对OpenGL有问题。以下是一些有用的数据:

  • 蓝色的点是圆柱体,它正朝向上的绿色参考点 屏幕
  • 绿点是第一个参考点
  • 红点是第二位 参考点
我将使用键盘键h、j、k和l来更改参考点—vim也使用这些键来导航

其他有用信息: 首先,我通过更改gluLookAt的
centerx
centery
centerz
,将参考点从绿色更改为红色。 第二,我想旋转圆柱体,这样它就会看到新的参考点

我应该旋转多少以便圆柱体仍能看到参考点


如果我没弄错你的问题

让旧参考点和眼睛之间的向量为V1

让新参考点和眼睛之间的向量为V2

可以通过以下方法找到这些向量之间的角度,也就是要旋转的角度:

θ = arccos( (V1 dot V2) / |V1||V2| )

如果我没弄错你的问题

让旧参考点和眼睛之间的向量为V1

让新参考点和眼睛之间的向量为V2

可以通过以下方法找到这些向量之间的角度,也就是要旋转的角度:

θ = arccos( (V1 dot V2) / |V1||V2| )

如果您对表单或使用Stackoverflow的方式有任何问题,请阅读“圆柱体如何看待点?”@Max cylinder的顶部朝向参考点。而且,摄像机的位置是固定的。@Max我能解释清楚吗?如果您对表单或使用Stackoverflow的方式有任何问题,请阅读“圆柱体如何看一个点?”@Max圆柱体的顶部是看参考点的。而且,摄像机的位置是固定的。@Max,我能解释清楚吗?