ENG Новый сайт

Расширенный поиск
[ Новые сообщения · Пользователи · Правила ]
Физика космического полёта
MefistofelДата: Пятница, 17.02.2012, 11:56 | Сообщение # 121
Исследователь
Группа: Команда SE
Пират
Сообщений: 173
Награды: 0
Статус: Offline
mytho, почитай тему - многие вещи ты говоришь вполне правильные, многие не совсем. Фантастичность обсуждалась и автор непреклонен - минимум фантастических допущений, максимум физики. Единственный противовес ей - необходимость делать игру, а следовательно какие никакие фантастические требования. Пусть люди хотя бы заинтересуются, почему ученные считают правильными кораблями длинные фиговины с крыльями и щитом и почему это так не похоже на их стартрек.
Вы зря считаете что из-за отсутствия возможности делать силовые щиты и гравитационные двигатели от кораблей чтото убудет - наоборот, появится свой собственный шарм, своя эстетика.
Как смотреть планеты обязательно придумают, с автопилотом тоже разберутся.
Возможно у когото даже возникнет диссонанс - те кто думал, что истребители в других играх быстрые, поразится тому, как громадная и ажурная конструкция разгоняется на 50 g
mythoДата: Суббота, 18.02.2012, 03:15 | Сообщение # 122
Исследователь
Группа: Команда SE
Украина
Сообщений: 262
Награды: 2
Статус: Offline
Да я почитал)) Но я не в коей мере не собирался спорить с SpaceEngineerом))) Ему вообще хочется писать только хвалебные полурелигиозные гимны))) SpaceEngine - мега штука!!! Спасибо огромное!!! Вы создали Вселенную!!!!

А я довольно сумбурно написал))) просто вот уже третий день лихорадит меня SpaceEngine и это я нашел форум и давай от избытка эмоций графоманить)

В общем я для обсуждения приведу кое какие цифирии

Таблица 1. За какое время свет пройдет расстояние большой полуоси


Таблица 2. За какое время объект пройдет расстояние большой полуоси некоторых спутников Юпитера при скорости 10 000 км/сек


Т.е. смысл в чем - Даже со скоростью света до Нептуна придется лететь чуть больше 4-х часов от Солнца, ну а если путь не прямой - соответственно дольше. Но это со скоростью света. Если лететь со скоростью приблизительно 10 000 км/сек путь от солнца до Нептуна займет 139 часов. А в случае активности в пределах спутниковых систем. Ну например, нужно мне с одного спутника Юпитера на другой перелететь. У меня скорость 10000 км\сек. Соответственно получается мотнуться (только мотнуться) туда-сюда со спутника на спутник может занять около часа.
Я не в смысле нависания там или критики, я в смысле обсуждения, что бы разобраться. Ведь мы здесь говорим о гипотетической игрушки? Так ведь? Т.е. то что Создал SpaceEngineer это (блин!) самый лучшая вселенная в коробке на сегодняшний день! Елки палки, да это уникальная, единственная такая программа - ever! на все времена! Миллиарды миров, мама дорогая! Сам движок идеален! В нем есть все, вообще))) От навигации до угла обзора и экспозиции. Еще бы разных фильтров для идентификации расстояний (для другой темы).
Так вот, я сугубо в порядке обсуждения.

Если ускорение составляет 50 м\с*2, то только на то чтобы развить скорость в 10 000 км в сек потребуется 55 с половиной часов. Понятно, что так есть. Но от SE сейчас просто дух захватывает! По носиться сквозь вселенную невероятно интересно, масштабы потрясают. Но если все будет происходить очень медленно все красота будет сокрыта. Конечно игра это не песечница. В песочнице можно все. Но если здесь будет строительство, в стиле minicraft и все это дело будет онлайн - полеты не будут настолько важными. Жалко утратить масштаб. Т.е. ты можешь мотнуть в галактику Андромеда быстро, но для того что бы слетать от Марса на небольшой астероид в зависимости от времени года это может занять до семи часов.

В втором frointer'е было практически все. Громадный мир, звезды, планеты, можно было приземлиться, посмотреть на мир. Все было идеально, но построено на ускорении времени - перевел бегунок и прилетел по автопилоту куда нужно. Такой принцип очень реалистичный ну не считая всяких временных искажений при перемещении на высоких скоростях и вблизи массивных тел. Но такой принцип убивает возможность адекватного мультиплеера. Я согласен, что аркадностью нужно пожертвовать, ибо мир реалистичен до))) все я начал песнь)) в общем великолепный мир))) Но может быть для гипотетического онлайнового массового (пир2пир) космического симулятора такого игрового масштаба (блин, шутка - вселенная!!!) и вовсе не обязательно спиномозговых боев. Но жалко если это превратиться в микрософт Флаин Икс Симулятор и бедные игроки будут спрашивать "а как вызвать техническую бригаду на стартовую площадку, у меня мигает лампочка не пройденного технического осмотра?". Хотелось бы больше свободы и возможности строить чего то по собственному дизайну, запускать цепочки шатлов по маршрутам, смотреть как оно там шевелиться внизу)))

Все равно сумбурно я как то пишу, ну да ладно закончу так же -

( http://ru.wikipedia.org/wiki/Сверхсветовое_движение )



AMD Phenom II X4 965, G.Skill F3-14900CL9-8GBSR (8Gb), Radeon HD 6970 (2Gb), Win7 x64.

Сообщение отредактировал mytho - Суббота, 18.02.2012, 03:17
SpaceEngineerДата: Суббота, 18.02.2012, 17:23 | Сообщение # 123
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
Quote (mytho)
Т.е. смысл в чем - Даже со скоростью света до Нептуна придется лететь чуть больше 4-х часов от Солнца

Вообще-то в игре будет сверхсветовой двигатель. В начале этой темы же механика описана! Ясное дело, что даже на Луну никто не будет летать "своим ходом" - всё на гипердвигателе.
Единтсвенные корабли без гипердвигателя - шаттлы. Приземляться на планету и взлетать с неё придётся 10-15 минут. Зато масштаб можно будет прочувствовать, и будет повод подольше задержаться на планете.


Dizel777Дата: Суббота, 18.02.2012, 18:14 | Сообщение # 124
Строитель Миров
Группа: Модераторы
Российская Федерация
Сообщений: 800
Награды: 4
Статус: Offline
SpaceEngineer, может лучше использовать перемотку времени для дальних перелетов, а то уж совсем как то не по физике эти сверхмощные гипердвигатели

Win 7 Ultimate 64-bit SP1
AMD Phenom II X4 945 Processor
4GB RAM, NVIDIA GeForce GTS 250
mythoДата: Суббота, 18.02.2012, 18:32 | Сообщение # 125
Исследователь
Группа: Команда SE
Украина
Сообщений: 262
Награды: 2
Статус: Offline
Quote (SpaceEngineer)
Прыжок это просто вырезание участка траектории, как если бы корабль пролетел его за нулевое время. Гиперперелёт это серия коротких прыжочков. Корабль всё равно движется по орбите или какую там траекторию он сделал, но с эффектом сокращения времени. Как если в орибтере ускорить время, но только для корабля, не для планет.
- увидел! Простите, не очень внимательно читал. Понял, понял!!

Добавлено (18.02.2012, 18:32)
---------------------------------------------

Quote (Dizel777)
может лучше использовать перемотку времени для дальних перелетов

это убьет мультиплеер. Время должно быть одним во всей системе.


AMD Phenom II X4 965, G.Skill F3-14900CL9-8GBSR (8Gb), Radeon HD 6970 (2Gb), Win7 x64.
SpaceEngineerДата: Воскресенье, 19.02.2012, 00:13 | Сообщение # 126
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
Quote (Dizel777)
SpaceEngineer, может лучше использовать перемотку времени для дальних перелетов, а то уж совсем как то не по физике эти сверхмощные гипердвигатели

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


GV_FiQstДата: Воскресенье, 19.02.2012, 01:24 | Сообщение # 127
Строитель Миров
Группа: Команда SE
Украина
Сообщений: 1062
Награды: 3
Статус: Offline
Quote (SpaceEngineer)
Да, это сделает невозможным мультиплеер


а почему сразу невозможым? Скорее очень сложным и ресурсозатратым, но возможым.


AMD Phenom II X2 555 3200 MHz;
RAM 4GB 1333 Hz;
ATI Radeon HD 5670 1024 Mb;
ОС Win 7 tabulorasa edition 32 bit
mythoДата: Воскресенье, 19.02.2012, 01:34 | Сообщение # 128
Исследователь
Группа: Команда SE
Украина
Сообщений: 262
Награды: 2
Статус: Offline
Quote (GV_FiQst)
Скорее очень сложным и ресурсозатратым, но возможым.
Получиться что игроки будут жить в разном времени. Я полечу куда нибудь на другое крыло вселенской бабочки, нажму ускорить время и выпаду из общей жизни на пару-тройку-двадцать-тридцать миллиардов лет, в зависимости от скорости полета. А кто то не будет летать так далеко и кнопочкой ускорения пользоваться не будет. И мы будем жить в разных временных реальностях, при чем при этом запросто сможем общаться по скайпу))). Если он предложит мне к нему слетать, я прилечу и увижу то что сервер посчитает оставить нужным после нескольких миллиардов лет моего полета. Нет уж, время должно быть общее для всех. Это вынужденное ограничение мультиплеера. Шуток со временем и так будет хватать, интернет не у всех хороший)))


AMD Phenom II X4 965, G.Skill F3-14900CL9-8GBSR (8Gb), Radeon HD 6970 (2Gb), Win7 x64.
mindstalkerДата: Понедельник, 12.03.2012, 13:35 | Сообщение # 129
Космический пилот
Группа: Команда SE
Российская Федерация
Сообщений: 96
Награды: 0
Статус: Offline
По поводу "гиперквазиускоритель времени" smile :

Предположим, что в движке игры он работает именно как множитель перед dt.
Допустим, наш корабль находится на орбите вокруг земли.

1. В инерциальной системе координат связанной с центром Земли движение корабля описывается системой:

d rss / d t = vss
d vss / d t = -G * (ME * mss) / (rss * |rss|)


И начальными условиями rss(t=0) = rss0, vss(t=0) = vss0

Ускорение времени в k раз эквивалентно увеличению в k раз как скорости корабля, так и всех сил, действующих на корабль (в данном случае - гравитации Земли)
Таким образом, при включении ускорения времени с фактором k, получим ускоренное в k раз перемещение корабля по той-же орбите вокруг Земли, что и без сжатия времени.
Пока все в порядке...

2. А теперь рассмотрим тот-же корабль в системе координат с началом в центре солнца.

d vss / d t = -G * (ME * mss) / ((rss - rE) * |(rss - rE)|) - G * (MS * mss) / (rss * |rss|)


Начальные условия:
rss(t=0) = rss0 + rE0
vss(t=0) = vss0 + vE0
где rE0 и vE0 - координаты и скорость Земли относительно Солнца в момент времени t=0.

При включении ускорения времени с фактором k у корабля появляется дополнительная скорость относительно Земли, в k-1 раз большая чем скорость Земли относительно Солнца. Даже в k раз большей гравитации земли недостаточно для удержания корабля на околоземной орбите. Корабль будет двигаться по некой орбите вокруг солнца, определяемой положением корабля на орбите земли в момент включения ускорения времени (в грубом приближении, при больших k - по орбите Земли вокруг солнца)

Получается парадокс - поведение корабля определяется выбранной системой координат.

Если корабль двигается в некой системе координат (СК), то при ускорении времени только для него, его скорость в этой СК увеличится, а скорости остальных объектов - нет. Таким образом, корабль получит дополнительную скорость относительно других объектов зависящую от скорости корабля относительно выбранной СК и от степени ускорения времени.
Траектория корабля с ускорением времени будет такой-же, как и без ускорения времени только если все объекты, взаимодействующие с кораблем (влияющие на его движение) неподвижны в выбранной системе координат.

В общем, система заманчивая, но забагованная.

По поводу альтернатив - с любыми телепортационными двигателями вообще мрак в плане сохранения скоростей и энергий.
Хотя, ИМХО, должны выполняться следующие постулаты:

1. Скорость корабля в точке выхода равна нулю относительно инерциальной системы отсчета, связанной с кораблем в момент прыжка (в точке входа).
Если это нарушается, то возникают сложности с определением направления скорости. Также нарушение постулата позволяет использовать гиперпрыжок для изменения скорости корабля (и, в принципе, отказаться от реактивных двигателей (: )

2. Направление прыжка не зависит от скорости.
С этим, вроде, все понятно: скорость-то относительна (:


Windows 7 x64; Core i5-2500K (3.3 Ghz); 8Gb RAM; Radeon HD 6950 2Gb
SpaceEngineerДата: Понедельник, 12.03.2012, 15:43 | Сообщение # 130
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
mindstalker, да, есть такая проблема, я уже с ней столкнулся, когда реализовал физику полёта. Это можно объяснить нагляднее - при включении ускорения времени все планеты замирают, но корабль уже не сможет вращаться по орбите вокруг Земли - его будет сильнее притягивать Солнце, чем неподвижная Земля. Кода Земля сама двигалась по орбите, центробежная сила копмпенсировала притяжение Солнца, а когда замерла на месте - центробежная сила пропала.

Думаю обойти эту проблему так. Перед прыжком расчитываем обычную ньютоновскую траекторию (1-10 тыс. точек) - как если бы корабль летел по инерции в обычном пространстве. Затем строим по ним сплайн, и теперь корабль можно двигать по этому сплайну, причём с любой скоростью. Например если фактор сжатия времени 1000, корабль пролетает эту траекторию в 1000 раз быстрее, чем при обычном полёте.

Проблема только в том, что планеты движутся - например при расчёте гомановской орбиты от Земли к Марсу точка встречи корабля и Марса находится там, где Марс будет через 7 месяцев, а при 1000-кратном ускорении времени Марс пройдёт в 1000 раз меньше (5 часов). Значит точку встречи надо брать с учётом планируемого фактора ускорения времени. Но если этот фактор будет зависеть от локальных гравитационных полей, расчёт траектории получится очень сложным - лучше пока делать фактор свойством только гипердвигателя.

Предрасчёт траектории всё равно будет - иначе межпланетные и межзвёздные полёты невозможны. Это всё равно что попасть из ружья в муху с расстояния в километр. Ручное управление в полёте только собьёт точно расчитанный курс, а значит не нужно. Поэтому движение по сплайну вполне подходящее решение. Сплайн же можно использовать и при обычных полётах, по орбите например - это спасёт физику от скачков при лагах. К тому же, этот сплайн можно будет рендерить в режиме карты - так пилот будет видеть свою расчётную траекторию, и сможет менять её, работая двигателями наугад ("ручной режим"), или редактируя сплайн мышкой ("режим расчёта").


MibusДата: Понедельник, 12.03.2012, 16:49 | Сообщение # 131
Первооткрыватель
Группа: Команда SE
Украина
Сообщений: 301
Награды: 0
Статус: Offline
Вот пришло в голову еще одно псевдонаучное обоснование для ускорителя.
Допустим, что наше трехмерное пространство есть тонкая пленка (с толщиной планковского размера) в четырехразмерном гиперпространстве. При повороте вокруг гипероси, лежащей в плоскости нашего пространства, в нашем пространстве от материи остается ее проекция, пропорциональная косинусу угла поворота, соответственно уменьшается степень взаимодействия материи с нашим миром (меняются гравитационная, электрическая, магнитная и др. постоянные).
Соответственно для этой проекции растет скорость света. Для выполнения закона сохранения энергии в нашем пространстве растет собственная скорость корабля. Соответственно уменьшается спроецированная на наше пространство масса корабля и степень его взаимодействия с окружающей средой (в том числе с космической радиацией).
При повороте на 90 градусов корабль полностью выпадает из нашего пространства, проекция его скорости становится бесконечной - получается гиперпрыжок. Как поведут себя законы механики в такой модели - прямо так не скажу, надо все считать и перепроверять.
Но зато появляется, хоть какое, то обоснование для такой модели ускорителя.


Win7 64 prof, Athlon II x2 256 3.3Mhz, RAM 4GB, GeForce GTS 250 512MB
MaximmmДата: Понедельник, 12.03.2012, 17:08 | Сообщение # 132
Космический пилот
Группа: Пользователи
Латвия
Сообщений: 120
Награды: 0
Статус: Offline
Quote
Да, это сделает невозможным мультиплеер

Пускай будет и синглплеер. smile
SpaceEngineerДата: Понедельник, 12.03.2012, 19:20 | Сообщение # 133
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
Quote (Mibus)
Вот пришло в голову еще одно псевдонаучное обоснование для ускорителя.

Интересно, можно проработать его. Главное чтобы сохранялась энергия (кинетическая + потенциальная) и импульс. Обычно в физ. явлениях импульс сохраняется точно, но энергии есть некоторый избыток, и она выделяется в виде тепла (пример - упругое столкновение). Т.е. например для совершения прыжки или входа в режим ускорения надо приложить немалую энергию, а при выходе она выделяется - как? Нагревает весь корабль, или только ускоритель? Тепло надо сбросить, для этого применяются радиаторы или расходный хладогент (его можно считать "топливом" для гипердвигателя).

Quote (Maximmm)
Пускай будет и синглплеер.

Будет, но зачем делать физику в сингле отличной от мультиплеера? Будет ведь ещё оффлайн режим мультиплеера.


MibusДата: Понедельник, 12.03.2012, 20:01 | Сообщение # 134
Первооткрыватель
Группа: Команда SE
Украина
Сообщений: 301
Награды: 0
Статус: Offline
Quote (SpaceEngineer)
Т.е. например для совершения прыжки или входа в режим ускорения надо приложить немалую энергию, а при выходе она выделяется - как?


Аккомулируется гиперполем? Перед переходом поле накачивается до величины необходимой для перехода, в момент перехода поле выталкивает корабль в гиперпространство. При возврате энергия опять переходит в гиперполе. Если надо прыгать еще раз - полю компенсируется потеря (КПД естественно ниже 100%) и опять происходит прыжок. Если повторный прыжок не нужен - генератор гиперполя включается на реверс и энергия перекачивается в накопитель. Потери энергии греют генератор и накопитель.
Кроме того, при прыжке гиперполе компенсирует разность гравитационных потенциалов в точках старта и назначения.
Если ее нехватает - прыжок не состоится. Т.е. для перехода необходимо накопить в поле: энергию перехода в гипер + энергию компенсации разности гравитационных потенциалов + потери на переход в гипер, и не забывать - эти энергии могут иметь и отрицательное значение.


Win7 64 prof, Athlon II x2 256 3.3Mhz, RAM 4GB, GeForce GTS 250 512MB

Сообщение отредактировал Mibus - Понедельник, 12.03.2012, 20:02
SpaceEngineerДата: Вторник, 13.03.2012, 00:17 | Сообщение # 135
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
mindstalker, кстати насчёт формул - можно просто сохранять gif и вставлять на форум.

Поиск:

>