【发布时间】:2014-04-29 14:42:37
【问题描述】:
在 android 的 opengl es 2.0 中,我怎样才能让一个已经绕着自己的轴旋转的物体,绕着一个静止的物体旋转,比如行星?
【问题讨论】:
标签: android rotation opengl-es-2.0
在 android 的 opengl es 2.0 中,我怎样才能让一个已经绕着自己的轴旋转的物体,绕着一个静止的物体旋转,比如行星?
【问题讨论】:
标签: android rotation opengl-es-2.0
所以如果你想创造像太阳系这样的东西。最初考虑两个球体的原点相同。现在按半径量平移第二个球体(制作一个 taranslation 矩阵并与第二个球体的当前模型视图矩阵相乘)。再次为旋转创建一个旋转矩阵并将第一步的结果与这个相乘。将此矩阵应用于第二个球体。
【讨论】:
这是典型的父子关系。
“行星”成为父亲,“月亮”成为孩子。
使用 OpenGL Es 2.0,您肯定拥有旋转/平移和推送/弹出矩阵的功能。
话虽如此,应该是这样的(伪代码)
推送矩阵
翻译(父亲)
轮换(父亲)
推送矩阵
翻译(儿童)
旋转(儿童)
渲染(子)
流行矩阵
渲染(父)
流行矩阵
我希望这在某种程度上有所帮助。
干杯 毛里齐奥
【讨论】: