?

Log in

No account? Create an account
Трудности моделирования - Sitting on the top of the mushroom.
August 17th, 2016
05:04 pm
[User Picture]

[Link]

Previous Entry Share Next Entry
Трудности моделирования
Этот неловкий момент, когда производная ~ 10^-8, а шаг ~ 10^-6 и их произведение улетает в машинное эпсилон.
Понимаю проблемы Kerbal Space и целочисленную модель Space Engine, да.
Пока не знаю, как лучше выкрутиться. То ли Кэхэна с Рунге-Куттом-Фельбергом объединить, то ли интерполяцию изобретать.

Да, тот факт, что все это придумывается исключительно для игры, все еще поднимает мне настроение.
Хотя безумный инвестор, готовый дать под эту курсовую денег, порадовал бы меня тоже.

Орбиты внутренних и внешних планет в соответствии с законами Кеплера.
Меркурий, Венера, Земля, Марс
Kepler_inner
Юпитер, Сатурн, Уран, Нептун, Плутон
Kepler_outer
Моделирование движения планет методами Рунге-Кутта-Фельберга и Рунге-Кутта 4 порядка.
Меркурий, Венера, Земля, Марс
RKF_inner
Юпитер, Сатурн, Уран, Нептун, Плутон
RKF_outer

Tags: ,

(34 comments | Leave a comment)

Comments
 
[User Picture]
From:bernh
Date:August 17th, 2016 02:19 pm (UTC)
(Link)
А тебе точно для игры нужно моделирование орбит планет?
[User Picture]
From:randir_spb
Date:August 17th, 2016 02:32 pm (UTC)
(Link)
Ну, мне хочется, чтобы планеты двигались. И все еще хочется, чтобы они двигались правдоподобно.
[User Picture]
From:leotsarev
Date:August 17th, 2016 02:21 pm (UTC)
(Link)
Еще глянь может сюда
https://github.com/lanit-summer/orbit
Это студпроект у нас на работе.
[User Picture]
From:randir_spb
Date:August 17th, 2016 02:34 pm (UTC)
(Link)
Это околоземные орбиты, с влиянием атмосферы. Тоже занятно, но у меня немного иная проблема.
[User Picture]
From:grachonok
Date:August 17th, 2016 02:30 pm (UTC)
(Link)
У меня в таких ситуациях первая мысль - а не поменять ли нам обезразмерку:). Иногда даже помогает:).
[User Picture]
From:randir_spb
Date:August 17th, 2016 02:37 pm (UTC)
(Link)
Тут как получается, RKF рекомендует шаг от дня до четырех. А для полета в реальном времени надо все-таки хотя бы пять кадров в секунду показывать.
Так что интерполяция, наверное, поможет.
[User Picture]
From:olgoihorhoi
Date:August 17th, 2016 02:47 pm (UTC)
(Link)
Ты упоролся. Ты крутой!
[User Picture]
From:randir_spb
Date:August 17th, 2016 03:26 pm (UTC)
(Link)
Просто в моем мире нет футбола и дизайна вконтакта.
[User Picture]
From:larzul
Date:August 17th, 2016 02:47 pm (UTC)
(Link)
Увеличить точность возможности нет?
[User Picture]
From:randir_spb
Date:August 17th, 2016 03:51 pm (UTC)
(Link)
Теоретически можно прикрутить quadruple или везде реализовать double-double арифметику, но не вижу в этом особого смысла. Получится, что большую часть сил разработчика и вычислительного времени потратим на лишнюю точность.
Фокус в том, что при неаккуратном обращении ошибки накапливаются, и вот этого и надо избежать.
From:(Anonymous)
Date:August 17th, 2016 03:34 pm (UTC)
(Link)
А какой язык используется?
Если скорость работы не очень важна, то, наверняка, можно найти или, на крайний случай, самому реализовать контейнер под числа с плавающей запятой нужного размера
[User Picture]
From:randir_spb
Date:August 17th, 2016 03:54 pm (UTC)
(Link)
Предположительно C#. Картинки наверху - прототип модели на Python.
Про повышение точности уже ответил, не хочется тратиться на высокую точность там, где она реально не нужна.
[User Picture]
From:evil_falco
Date:August 17th, 2016 08:52 pm (UTC)
(Link)
Если у тебя гравитация планет не оказывает _значительного_ влияния на геймплей — выкидывай её нахер.
[User Picture]
From:randir_spb
Date:August 18th, 2016 01:29 pm (UTC)
(Link)
Тоже вариант, да.
[User Picture]
From:subbotenok
Date:August 18th, 2016 11:42 am (UTC)
(Link)
Прибить орбиты гвоздями? В смысле задай таблицу поправок.
[User Picture]
From:randir_spb
Date:August 18th, 2016 01:29 pm (UTC)
(Link)
Орбиты и так прибитые будут, вопрос про влияние на корабль в системе.
Powered by LiveJournal.com