Я пытаюсь запрограммировать проблему двух тел в SDL 1.2
Таким образом, в этой программе у меня будет два тела правильно, мой вопрос в том, какие данные мне понадобятся для каждого органа?
Программа — это просто два тела, вращающиеся вокруг определенной орбиты.
Я хотел бы создать класс для каждого тела и хранить данные там.
Я считаю, что мне понадобятся следующие данные
масса1, масса2 (масса для каждого тела)
speed1, speed2 (начальная скорость для каждого объекта)
угол1, угол2 (угол, в котором направление будет двигаться объект в начале моделирования)
расстояние (расстояние объектов друг от друга)
Я не уверен, прав я или нет, понадобятся ли мне какие-либо другие данные для объектов, или некоторые из дат, которые я сказал, немного не соответствуют?
Поскольку ваша задача в трехмерном пространстве, вам потребуется 6 позиционных параметров для каждого тела и масса. Как именно вы кодируете эти параметры, зависит от вас. Если вы хотите дать координаты в декартовых координатах, сохраните x
, y
а также z
компоненты позиции и x
, y
а также z
составляющие скорости. Если вы хотите использовать полярные координаты, вам понадобится величина, угол азимута и угол места. Конфигурация, о которой вы упоминали, имеет массу, скорость, азимут скорости и превышение скорости. Вам также необходимо включить начальные позиции. Я бы рекомендовал переключаться на декартовы координаты, поскольку интеграция будет выглядеть более равномерно в разных направлениях.
Других решений пока нет …