如何獲得入軌綠色圈周圍橙色和四旁綠化藍色的?
我發現很多解決方案可以在靜態點附近旋轉(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