Почему этот орбитальный объект не совсем повторяет свою орбиту?C#

Место общения программистов C#
Anonymous
 Почему этот орбитальный объект не совсем повторяет свою орбиту?

Сообщение Anonymous »

Клип волной орбиты

Я сделал рудиментарную (я все еще очень горжусь этим) Orbital Sim. Спутник не обходит планету на втором проходе так же, как и на первом проходе. Его периапсис постоянно движется, мало чем отличается от орбитальной прецессии. Я думаю, что это на самом деле орбитальная прецессия, но в симуляции нет других орбитальных тел. Спутник не оказывает силы на землю. Это проблема с моим кодом или это реальное явление? Приведенный ниже код являются единственными строками, которые управляют орбитальной физикой. < /P>

Код: Выделить всё

public static float Gravity(Transform m2Loc, Rigidbody m1Mass, Rigidbody m2Mass, float gravityConstant)
{

float force = (m1Mass.mass * m2Mass.mass) / MathF.Pow(m2Loc.position.magnitude, 2) * gravityConstant;

return force;
}

i.mass.AddForce(i.pos.position * -1 * Equations.Gravity(i.pos, planetMass, i.mass, gravity), ForceMode.Force);
< /code>
Розовый - это след спутника. Гравитационное уравнение используется f = (g*m1*m2)/r^2 
, за исключением g, 1. Земля имеет массу 1000, корабль с массой 10. Сила применяется к корабля Использование RIGIDBODY.ADDFORCE Каждый кадр в fixedUpdate () . Весь сценарий.

Подробнее здесь: https://stackoverflow.com/questions/794 ... -its-orbit

Вернуться в «C#»