如何获得入轨绿色圈周围橙色和四旁绿化蓝色的?
我发现很多解决方案可以在静态点附近旋转(int这种情况下为橙色圆圈),但没有找到任何适用于静态点和移动点的良好数学公式。
angle += sunRot;
if(angle > 360.0f)
{
angle = 0.0f;
}
float radian = glm::radians(angle);
float radius = glm::distance(position, rotCenter);
float x = rotCenter.x + (radius * cosf(radian));
float z = rotCenter.z + (radius * sinf(radian));
glm::vec3 newPos = glm::vec3(x, 0, z);
setPosition(newPos);
Here is我想要实现(感谢@George Profenza分享链接)
您只需要按照正确的顺序转换每个对象。您将首先围绕橙色物体旋转绿色物体以获取其位置。然后使用绿色物体的位置并围绕它旋转蓝色物体。它们具有完美的圆形轨道,因此您可以将它们从它们绕行的物体的中心转换一段固定的距离。 –
你需要的东西[像这样(https://www.youtube.com/watch?v=QVuU2YCwHjw&feature=youtu.be&t=1m)? –
@ peter-wood,不,我只是试着模拟绕地球旋转的太阳和月球旋转的地球。 – tvoloshyn