SpaceEngineer, спасибо за совет по поводу формул. Для себя решил, что небольшие формулы и на BB кодах неплохо смотрятся .
Еще немного позанудствую по поводу фундаментальных проблем локального ускорения времени.
По сути, проблема одна - неравноправие систем отсчета
Рассмотрим простейшую ситуацию: Два корабля двигаются со скоростями v1 и v2 относительно Наблюдателя в свободном пространстве. В некоторый момент корабль №2 ускоряется во времени в k раз.
До ускорения: 1. В СО Наблюдателя:
скорость первого: v1_1 = v1
скорость второго: v2_1 = v2
скорость второго относительно первого: vотн_1 = v2_1 - v1_1 = v2 - v1
2. В СО первого корабля:
скорость первого: v1_2 = 0
скорость второго: v2_2 = v2 - v1
скорость второго относительно первого: vотн_1 = v2_2 - v1_2 = v2 - v1
После ускорения: 1. В СО Наблюдателя:
скорость первого: v1_1' = v1
скорость второго: v2_1' = k * v2_1 = k * v2
скорость второго относительно первого: vотн_1' = v2_1' - v1_1' = k * v2 - v1
2. В СО первого корабля:
скорость первого: v1_2' = 0
скорость второго: v2_2' = k * v2_2 = k * (v2 - v1)
скорость второго относительно первого: vотн_1' = v2_2' - v1_2' = k * (v2 - v1)
И решение тоже, по сути, одно - запостулировать, как следует выбирать "правильную" систему отсчета.
Пример 1: Единая система отсчета, неподвижная относительно реликтового излучения. Корабль будет либо обгонять галактику в ее движении относительно реликтового излучения (при k>1) либо отставать от нее (при k<1).
Пример 2: Поскольку звезды в движке неподвижны, то можно брать СО, неподвижную относительно звезд. Корабль будет двигаться по вполне адекватным орбитам вокруг звезд (если, конечно, не заденет зоны влияния какой-нибудь планеты), но ни о каком ускоренном движении по орбите вокруг планеты не может быть и речи.
Пример 3: Берется система отсчета, связанная с телом, орбита вокруг которого должна сохраняться при включении ускорения. Вблизи звезды - звезда, вблизи планеты - эта планета, вблизи спутника - этот спутник... Основные проблемы - переход между системами отсчета, связанными с различными телами, задание "зон влияния" и поведение в граничных зонах.
to Mibus, действительно, "ускорение" времени можно объяснить движением в "гиперпространстве" с топологией, некоторым образом связанной с топологией обычного пространства. И все непонятки можно объяснять особенностями этой топологии (например, в примере №3 под спойлером, топология пространства явно содержит разрывы в областях между "зонами влияния")
ИМХО, телепортация смотрится гораздо менее противоречивой (при соблюдении некоторых условий).
Телепортация - мгновенное перемещение тела из одной точки пространства в другую.
Направление телепортации.
Поскольку все системы отсчета равноправны, направление телепортации не может зависеть от скорости. Логично предположить, что:
точка выхода (направление и дальность телепортации) может быть задана произвольно (с учетом пределов точности и при условии достаточности энергии)
оринетация корабля до и после телепортации совпадает
В случае недостатка энергии поведение может различаться, в зависимости от устройства телепортатора, от невозможности совершить телепортацию (с возвратом или рассеиванием неиспользованной энергии) до телепортации в ближайшую к целевой доступную по энергии точку.
Энергетика процесса:
При перемещении обязан выполняться закон сохранения энергии. Следовательно, энергия, затрачиваемая на телепортацию, должна компенсировать разницу полной энергии корабля до и после прыжка. В состав полной энергии корабля входят гравитационный потенциал и кинетическая энергия. Кинетическая энергия - это ни что иное, как энергия, необходимая, чтобы скорость тела относительно выбраннойй системы отсчета стала равна нулю. Поскольку все системы отсчета равноправны, для упрощения рассчетов следует выбрать СО, в которой корабль неподвижен. В этой СО кинетическая энергия корабля равна нулю.
Может, ли измениться кинетическая энергия корабля после телепортации?
а) Может. В этом случае, появляется добавочная скорость корабля после телепортации. Логично допустить, что направлением этой добавочной скорости можно управлять. В итоге, получаем, что телепортатор это еще и безинерциальный двигатель.
б) Не может. В этом случае, для выхода на орбиту или посадки на какое либо тело необходимо скомпенсировать разницу скоростей (неважно, до или после телепортации) Тем не менее, разница скоростей может быть скомпенсирована с помощью гравитационно-телепортационных маневров.
Затраты энергии на телепортацию определяются разницей энергий корабля до и после телепортации. Также, затраты могут зависеть от дальности телепортационного "прыжка".
В любом случае, довольно эффективным способом перемещения является серия "микропрыжков". Основное преимущество - нет необходимости в огромных накопителях энергии, способных запасать и мгновенно отдавать гигаватты энергии для дальнего "прыжка". Хотя, в некоторых ситуациях, телепортация на дальние расстояния может быть предпочтительной. например:
прыжок между гравитационными колодцами не слишком далеких объектов - не нужно забираться на "горку" - эдакий туннельный эффект
получение тактического преимущества, эффект внезапности
экономия времени (весьма сомнительно)
Windows 7 x64; Core i5-2500K (3.3 Ghz); 8Gb RAM; Radeon HD 6950 2Gb
Сообщение отредактировал mindstalker - Вторник, 13.03.2012, 10:44
По сути, проблема одна - неравноправие систем отсчета И решение тоже, по сути, одно - запостулировать, как следует выбирать "правильную" систему отсчета.
Есть ещё одно решение - вывести уравнения, аналогичные преобразованиям Лоренца, которые устранят расхождения. А вдруг получится?
Quote (mindstalker)
Телепортация - мгновенное перемещение тела из одной точки пространства в другую.
Механика должна не сильно отличаться от ускорения времени. Уже из энрегетических соображений ясно, что корабль на орбите Земли не может телепортироваться на орбиту Марса - инече его механическая энрегия стала бы отрицатеьной (я где-то уже проводил расчёт). А вот на орбиту Юпитера сможет - благодаря глубине потенциальной ямы Юпитера, которая оказывется глубже земной и солнечной на орбите Земли вместе взятых. Но это если возможен "туннельный эффект".
А он и так возможен, я когда то ради интереса посчитал вероятность туннельного перехода человека на солнце. Точно не помню, но что то типа 10 в степени минус три тыщщи с лишним Win7 64 prof, Athlon II x2 256 3.3Mhz, RAM 4GB, GeForce GTS 250 512MB
Прочитал я тут произведение Глена Кука "Рейд" и обмозговал тамошнюю концепцию гиперпространства.
В общем, описание там было довольно расплывчатым, получается, что если Вселенная замкнута в четырехмерном пространству, то пространство должно иметь определенный радиус кривизны. Найдя способ перемещаться в четырехмерном гиперпространстве, "перпендикулярно" обычному пространству, можно оказаться в гиперпространстве, где физические законы начинают отличаться от обычных. Гравитационные и базовые характеристики становятся более мощными, сокращая расстояния в миллионы раз, а электромагнитные - напротив, ослабевают, так что можно пролететь небольшую планету сквозь и не заметить этого. Для внешнего наблюдателя такой корабль будет выглядеть как маленькая сингулярность, которую очень трудно заметить.
В произведении описывалось так же пространство вблизи центра этой самой кривизны, которое было еще более странным чем гиперпространство, но это был, похоже, сюжетный ход. Вообще, концепция сильно напоминает культовый немецкий фильм "Das Boot", т.е. написанный под впечатлением рассказов подводников Второй Мировой. Win7 Intel Core i5-2310 2.9 Ghz 4 Gb DIMM DDR3 Asus GeForce GTX760, 2 Gb GDDR-5
Сообщение отредактировал Aerospacefag - Вторник, 13.03.2012, 18:09
корабль на орбите Земли не может телепортироваться на орбиту Марса - инече его механическая энрегия стала бы отрицатеьной
Что-то мне не очень понятно. А почему бы нет? Что мешает полной механической энергии быть отрицательной? Я понимаю, что кинетическая энергия всегда положительна. Но ведь потенциальная энергия гравитационного взаимодействия всегда отрицательна.
ИМХО, достаточно, чтобы разница механических энергий до и после телепортации была скомпенсирована. Если разница отрицательна, то она добавится к стоимости перемещения. Если положительна - выделится после прибытия, например, в виде тепла.
Так что прыжок на Марс вполне возможен, но потребует прорву энергии (что-то около 300 МДж за кг только для компенсации разницы потенциальной энергии) Windows 7 x64; Core i5-2500K (3.3 Ghz); 8Gb RAM; Radeon HD 6950 2Gb
Сообщение отредактировал mindstalker - Вторник, 13.03.2012, 19:47
А он и так возможен, я когда то ради интереса посчитал вероятность туннельного перехода человека на солнце. Точно не помню, но что то типа 10 в степени минус три тыщщи с лишним
Так вот что такое Бермудский треугольник - там вероятность просто выше
Quote (mindstalker)
Что-то мне не очень понятно. А почему бы нет? Что мешает полной механической энергии быть отрицательной? Я понимаю, что кинетическая энергия всегда положительна. Но ведь потенциальная энергия гравитационного взаимодействия всегда отрицательна. ИМХО, достаточно, чтобы разница механических энергий до и после телепортации была скомпенсирована. Если разница отрицательна, то она добавится к стоимости перемещения. Если положительна - выделится после прибытия, например, в виде тепла. Так что прыжок на Марс вполне возможен, но потребует прорву энергии (что-то около 300 МДж за кг только для компенсации разницы потенциальной энергии)
Правильно, и эта дополнительная энергия должна накапливаться в виде кинетической энрегии - корабль для прыжка к Марсу должен набрать скольк-то там дополнительных км/с, так что его скорость будет порядка второй космической.
Вот "туннельный прыжок" к Венере возможен сразу с поверхности Земли, при этом у корабля появится избыточная скорость, котрую придётся погасить, чтобы остаться на орбите Венеры.
ЗЫ: надо бы нарисовать свою версию этой картинки, более точную и с учётом кинетической энергии.
На мой взгляд, некорректно компенсировать изменение потенциальной энергии изменением кинетической. Иначе получается, что в момент прыжка корабль получает бесконечный импульс для мгновенного изменения скорости. Да еще и возникает вопрос, куда он должен быть направлен. А если импульс сохранять, то изменение потенциальной энергии можно компенсировать энергией, накапливающейся в гипер-приводе. Но такой вариант совсем не похож на простое ускорение времени. Win7 Pro x64 Intel Core2Quad 2.5GHz 4GiB RAM NVidia GForce 9800 1 GiB
Сообщение отредактировал SHW - Среда, 14.03.2012, 11:19
некорректно компенсировать изменение потенциальной энергии изменением кинетической
Вот! Именно! И я тоже так считаю.
Для прыжка "вверх" (в менее гравитационно "глубокую" точку) нужно накопить энергию в приводе, при прыжке "вниз" энергия наоборот должна выделяться - по моему вполне логично. И законы сохранения, на первый взгляд, выполняются.
И импульс при прыжке (как и кинетическая энергия) либо не должен меняться вовсе - а значит, разницу скоростей придется компенсировать обычными двигателями (хотя есть и альтернатива - сначала прыгнуть так, чтобы набрать нужную скорость под действием гравитации, а потом уже отправиться к точке назначения. Именно это я и называл чуть выше "телепортационно - гравитационными маневрами") либо
Quote (SHW)
возникает вопрос, куда он должен быть направлен
Причем вместо одного длинного прыжка можно (и, скорее всего, наиболее выгодно) делать серию частых коротких - так, как SpaceEngineer предлагал в ранних обсуждениях способов сверхсветового перемещения. Собственно, в этой-же теме, в первом посте:
Quote (SpaceEngineer)
2) Сверхсветовой двигатель
Сверхсветовой двигатель - "прыжковый". Но корабль не может прыгать сразу на световой год, а может осуществлять частую серию которких прыжочков на миллионы-миллиарды км. Между прыжками проходит 1 миллисекунда, в это время заряжаются конденсаторы прыжкового двигателя. Для пилота это быдет выглядеть, как непрерывное (потому что 1000 прыжков в секунду) сверхсветовое движение без релятивистских искажений
Может, мы просто говорим о разных вещах. И вкладываем разный смысл в одни и те-же термины? Все вышесказанное относится именно к "волшебному" мгновенному перемещению в пространстве (телепортация, гиперпрыжок).
Когда же речь идет о "движении с локальным ускорением времени" то я согласен, что происходит обмен кинетической и потенциальной энергий - так же, как и при обычном космическом полете. Windows 7 x64; Core i5-2500K (3.3 Ghz); 8Gb RAM; Radeon HD 6950 2Gb
Сообщение отредактировал mindstalker - Среда, 14.03.2012, 19:42
Есть ещё одно решение - вывести уравнения, аналогичные преобразованиям Лоренца, которые устранят расхождения. А вдруг получится?
Не совсем аналог преобразований Лоренца, но устранить расхождения поможет.
Движение корабля можно описывать следующими уравнениями: где
k - коэффициент сжатия времени kw i - коэффициент влияния i - го массивного объекта vi - скорость массивного объекта в текущей системе координат
Определяющие здесь - функции зависимости коэффициентов влияния от координат. Сумма коэффициентов влияния всех объектов в любой точке пространства должна быть равна единице. Пример такого набора функций: "kw i равен 1 для тела, ускорение свободного падения которого в данной точке максимально, и равен 0 для всех остальных тел".
При отсутствии ускорения времени (k = 1) корабль ведет себя как обычно.
Если ускорение времени включено, то в области, в которой коэффициент влияния некоего тела равен единице, корабль ведет себя так, как будто его движение описывается относительно ИСО этого тела. Тоесть, именно в ИСО данного тела движение корабля будет выглядеть ускоренным во времени.
По сути, это интерполяция движений корабля относительно всех ИСО массивных объектов (kw i играет роль коэффициента интерполяции)
Пример такого набора функций: "kw i равен 1 для тела, ускорение свободного падения которого в данной точке максимально, и равен 0 для всех остальных тел".
Это просто переключение ИСО корабля, резкое. Не годится - например корабль не сможет выйти на орбиту Луны (в треугольную точку Лагранжа например), т.к. Солнце притягивает её сильнее, чем Земля. Но вообще идея может сработать, попробую - сообщу о результатах.
Да, к сожалению. Это просто пример - первое, что пришло в голову. Для реального использования нужна гладкая функция без разрывов.
Масштаб, естественно, не соблюден белый - Галактика красный - Солнце зеленый - Земля синий - Луна
Коэффициенты влияния можно получить из любой функции расстояния до массивного объекта: Но в таком случае не будет области, где один из коэффициентов влияния равен единице.
Quote (SpaceEngineer)
корабль не сможет выйти на орбиту Луны (в треугольную точку Лагранжа например)
Чтобы можно было выйти на орбиту Луны вокруг земли придется подшаманить с критерием выбора ИСО корабля.
А вот что касается точки Лагранжа - я что-то слабо себе представляю, как корабль может находиться в точке Лагранжа и, одновременно, двигаться в ускоренном темпе вокруг Земли. Он либо летает синхронно с Луной в точке Лагранжа (эффект от ускорения - нулевой), либо летает по орбите вокруг Земли, обгоняя Луну (и никаких точек Лагранжа).
А вот что касается точки Лагранжа - я что-то слабо себе представляю, как корабль может находиться в точке Лагранжа и, одновременно, двигаться в ускоренном темпе вокруг Земли.
Корабль, находящийся в точке Лагранжа, разворачивается в направлении пересечения с орбитой Марса и включает маршевый двигатель... Win7 64 prof, Athlon II x2 256 3.3Mhz, RAM 4GB, GeForce GTS 250 512MB
А вот что касается точки Лагранжа - я что-то слабо себе представляю, как корабль может находиться в точке Лагранжа и, одновременно, двигаться в ускоренном темпе вокруг Земли. Он либо летает синхронно с Луной в точке Лагранжа (эффект от ускорения - нулевой), либо летает по орбите вокруг Земли, обгоняя Луну (и никаких точек Лагранжа).
Вообще да, вы правы.
Quote (mindstalker)
Зона влияния Земли заканчивается чуть дальше орбиты луны, границы довольно пологие (ширина границ чуть меньше радиуса зоны влияния)
Функцию можно подобрать, но не хотелось бы такой костыль использовать... Попробую так и со сплайнами, не прокатит - буду придумывать другую идею. Кстати всем любителям гиперпространства или гиперпрыжков не помешало бы задуматься над элементарной физикой вроде законов сохранения - из нашего обсуждения видно, что вылазит много проблем
Quote (Gta_San)
SpaceEngineer, Извините, может быть не в тему. Хотел поинтересоваться как обстоят дела с физикой полетов у вас ? Много написали ?
Смотря что считать многим. Написал интегрирование движения (вроде бы независит от fps), гравитацию от тел системы, столкновение с планетами, управление с клавиатуры, отображение будущего участка траектории корабля. Но есть глюки - планеты подёргиваются относительно корабля, гиперускорение работает неправильно, и вообще без предварительного расчёта орбиты летать нереально (в "ручном режиме"), а пересчёт отображаемого участка траектории в реальном времени очень тормозит.