• Почему до сих пор нельзя использовать ctrl+C в cmd?

    @tomatho
    Хоть и не ответ, но поможет решить проблему:
    Правой кнопкой мыши на заголовке консоли -> изменить -> пометить
    Выделяете левой кнопки мыши, затем нажимаете правой кнопкой мыши.
    ?!?
    Вы скопировали!

    Вставить: на заголовке консоли -> изменить -> вставить.
  • Как сымитировать траекторию движения по эллипсу под силой тяжести?

    @tomatho
    Специально зарегался. Надеюсь не поздно.
    Лучше всего самому указывать позиции объектов.
    Про FixedUpdate и AddForce правильно всё сказали.

    Как самому делать?
    Сначала упростим. Первое равенство - показывает как получить единичный вектор того же направления.
    248aa47672ef4048a94a1b0820a87e8a.png
    Второе равенство показывает как получить вектор силы. Вторая сила - просто с отрицательным знаком вектор. Хочу подчеркнуть что вторая сила тоже важна. Если прибить один из объектов и считать только одну силу, получится не точно. Однако если применять обе силы, то оба объекта будут двигаться, и тогда хорошо бы центрировать область видимости относительно одного из них.

    Корень по скорости считается не быстрее чем возведение в дробную степень (насколько я знаю), так что проще сразу возводить квадрат расстояния в -3/2 степень. (отрицательную чтобы не делить)
    Ну а затем три варианта точности симуляции:
    1) Совсем грубо: прибавлять к положению скорость*dt, а к скорости прибавлять ускорение*dt, где dt это прошедшее время между временем отрисовки кадров.
    2) Менее грубо, (Метод Эйлера): делим delta_time между отрисовками кадров на равные промежутки dt получая n = delta_time / dt. И затем n раз пересчитываем силу и n раз делаем то, что указано в пункте (1).
    3) Достатчно точно (Метод Рунге-Кутты): делим delta_time между отрисовками кадров на dt как в (2) и применяем n шагов по методу Рунге-Кутты.

    Рекомендую посмотреть готовые примеры, например NVidia N-Body OpenCL Sample.
    Ещё можно посмотреть N-Body из Three.js примеров.

    Наконец, комментарий по поводу масштабов: чтобы использовать вместо метров километры, нужно просто все параметры с присутствием метров в размерности, перевести в километры: скорость в км/с, ускорение в км/c2, и наконец G в км32/кг.