【问题标题】:How to convert "world coordinates to object coordinates" in OpenGL ES for android?如何在 OpenGL ES for android 中将“世界坐标转换为对象坐标”?
【发布时间】:2012-07-10 21:34:08
【问题描述】:

在 OpenGL ES 1 中,我有一个由 27 个较小的立方体组成的 Rubic 立方体。我想要一个旋转,它会导致一个特定的小立方体正好在视点前面。所以我需要两个向量。一个是从对象的原点到那个特定立方体的向量。另一个是从原点到视点的向量。然后它们的叉积给我旋转轴,点积给我角度。

但我无法将 (0,0,1)(从原点到世界坐标中的视点的向量)转换为对象坐标。

我该怎么做?如何将“世界坐标转换为对象坐标”?

【问题讨论】:

  • 这是 ES 1.x 还是 2.0?答案最终将取决于您如何指定转换为 OpenGL,并且您将使用完全不同的路由,具体取决于 API。

标签: android opengl-es


【解决方案1】:

旋转相机比旋转静止相机前的物体更容易。 您可以按照您的要求将相机放置在魔方的原点(中心),使其与小魔方的方向相反,然后将 z 向后平移。

我知道它没有回答标题中的问题,但我认为这是一个更简单的解决方案。 (至于你的问题,我保持世界和对象坐标不变,并在渲染时根据需要设置对象比例)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    • 1970-01-01
    相关资源
    最近更新 更多