一个球体随时间以给定距离围绕一点运行的DirectX

一个球体随时间以给定距离围绕一点运行的DirectX,directx,Directx,我正试图在Direct X中建立一个太阳系的基本模型。我想让行星围绕太阳运行,让月球围绕行星运行。所以我有行星/恒星/月亮,它的指针指向它的父位置向量。从那以后,我怎样才能使物体以设定的速度运行呢 例如,月球会有一个指向地球位置向量的指针和一个与地球保持的距离。我需要月球绕地球运行24小时以上(或者任何时间段,我相信我自己都能调整)。类似地,地球将有一个指向太阳位置的指针,并将围绕太阳旋转365天 我只是不知道如何计算轨道位置。试试这个思路: 旁白:请注意,图形硬件使用单精度浮点。根据所涉及的

我正试图在Direct X中建立一个太阳系的基本模型。我想让行星围绕太阳运行,让月球围绕行星运行。所以我有行星/恒星/月亮,它的指针指向它的父位置向量。从那以后,我怎样才能使物体以设定的速度运行呢

例如,月球会有一个指向地球位置向量的指针和一个与地球保持的距离。我需要月球绕地球运行24小时以上(或者任何时间段,我相信我自己都能调整)。类似地,地球将有一个指向太阳位置的指针,并将围绕太阳旋转365天


我只是不知道如何计算轨道位置。

试试这个思路:


旁白:请注意,图形硬件使用单精度浮点。根据所涉及的尺度,你可能会发现你在太阳系的尺度上很快就失去了精度。如果发生这种情况,请不要忘记,您可以按z对对象组进行排序,然后以完全、局部、z缓冲区精度远距离渲染它们。然后,您需要清除缓冲区并向前绘制下一个本地组。

谢谢。我注意到了这个主题,但我不知道如何修改它,使其成为一个不是0,0,0的位置。我无法在代码中计算出位置在哪里,但我相信我会找到它,我会在这里发布我最终得出的结果。我的示例的要点是,对象不在原点。顺便说一句,它移动到远离中心的距离,然后围绕中心旋转。