Космический бой и принцип относительности наглядно
Автор: Михаил Юрьевич СалтыковВ коде была ошибка. Исправил и пересчитал графики. Спасибо Наблюдателю за наблюдательность.
По результатам сра дискуссии в одном чате чтоб добро не пропадало.
Есть мнение что космические бои вроде такого
Невозможны. Потому что «скорости в десятки километров в секунду». И что «огромные ускорения понадобятся чтоб маневрировать». Люди, скорость всегда относительно чего-то. В данном конкретном случае — относительно убегающего корабля. И догоняющие могут выбрать себе такую скорость чтобы атаковать было удобней. Короче, написал я срипт на языке Scilab (мне в нем проще графики рисовать):
clear//очищаем память на всякий случай
V0 = [20;0]// начальная скорость синего корабля, вектор, километры в секунду
V1 = [21;0]// начальная скорость красного корабля, вектор, километры в секунду
x0 = [50;0]// начальные координаты синего корабля, километры
x1 = [0;10]// начальные координаты красного корабля
dt = 0.01// шаг симуляции
a0 = 0.005// ускорение синего, километры в секунду за секунду
a1 = 0.01// ускорение красного, километры в секунду за секунду
N = 600/dt// количество шагов симуляции
X0 = zeros(2,N)//массив координат синего
X1 = zeros(2,N)//массив координат красного
X = zeros(2,N)//массив координат красного относительно синего
R = zeros(1,N)//массив расстояний от красного до синего
V = zeros(1,N)//массив модулей скорости сближения от красного и синего
for i = 1:N //мотаем цикл
X0(:,i) = x0//записываем координаты
X1(:,i) = x1//записываем координаты
x = x1-x0
X(:,i) = x//записываем координаты
R(i) = sqrt(x(1)*x(1)+x(2)*x(2))//считаем расстояния
v = V1-V0
V(i) = sqrt(v(1)*v(1)+v(2)*v(2))//считаем скорости
x0 = x0+V0*dt//перемещаемся с текущей скоростью
x1 = x1+V1*dt//перемещаемся с текущей скоростью
V0 = V0+a0*dt*(x0-x1)/R(i)//убегаем
V1 = V1+a1*dt*(x0-x1)/R(i)//догоняем
end
figure(1)//создаем графическое окно
plot(X0(1,:),X0(2,:),'.b',X1(1,:),X1(2,:),'.r')//рисуем график
xlabel('X, km')
ylabel('Y, km')
figure(2)//создаем графическое окно
plot(0,0,'.b',X(1,:),X(2,:),'.r')//рисуем график
xlabel('X, km')
ylabel('Y, km')
figure(3)//создаем графическое окно
plot([1:N].*dt,R(:),'r')//рисуем график
xlabel('Time, s')
ylabel('R, km')
figure(4)//создаем графическое окно
plot([1:N].*dt,V(:),'r')//рисуем график
xlabel('Time, s')
ylabel('V, km/s')
скрипт моделирует два корабля имеющие начальные скорости 20 (синий) и 21 (красный) км/с относительно чего-то. Назовем это чего-то Инерциальной Системой Отсчета или просто Системой. Красный пытается догнать синий ускоряясь тупо в его сторону с ускорением 10 м/с2, синий точно так же тупо убегает ускорением 5 м/с2. По умолчанию время симуляции 600 секунд, шаг 0.01 секунды.
Скрипт выводит четыре графика:
Рис. 1. Траектории кораблей относительно Системы. Видно что красный быстро пролетает мимо синего, после чего разворачивается и цикл повторяется.
Рис. 2. Траектория красного относительно синего. Видно что преследователь будет крутиться вокруг жертвы сближаясь и отдаляясь.
Рис. 3. Расстояние от красного до синего.
Рис. 4. Модуль скорости красного относительно синего.
Как видно из графиков, корабли периодически сближаются до 10 км. При этом максимальное сближение соответствует максимальной же относительной скорости. Т.е. красный корабль будет периодически делать «вжух» возле синего на скорости 1.2 км/с. Что уже вполне «земная» скорость, хотя ближе к реактивной авиации, чем к поршневой.
Я в курсе о существовании пропорционального наведения, но тут красному надо сблизиться с синим чтобы пострелять и после улететь из зоны ответного огня, а не протаранить.
Поменяв в коде начальные координаты
x0 = [10;0]// начальные координаты синего корабля, километры
x1 = [0;10]// начальные координаты красного корабля
получим следующие графики:
Дистанция вжуха и его скорость почти не изменились. Потому что красный корабль изначально догонял синий с превышением скорости 1 км/с. Но кто ему мешает сбросить скорость? Допустим до 20.1 км/с (V1 = [20.1;0])
И теперь мы видим хоть и не ВМВ, но точно Корею или Вьетнам в космосе. Скорость при максимальном сближении 350 м/с — чуть выше звуковой, сближение до 3 километров.
Теперь допустим что синий решил не убегать в виду бесполезности этого занятия (a0 = 0):
Видим что убегать было и правда малополезным занятием ибо особой разницы по скорости и дистанции это не дало, при том что маневрирование требует тратить топливо и мешает использовать надувные ложные цели.
Вывод. Догоняющий корабль имея преимущество в ускорении может выбирать скорость и расстояние максимального сближения вплоть до буквально «как во Вторую Мировую». Зачем ему это? Например затем что раз уж он погнался за синим кораблем то наверно хочет в него пострелять, а стрелять подлетев ближе и имея больше времени на прицел удобней.
А будь это орбитальный бой на недофорсированных двигателях..........
На догонных курсах будет то же самое. И двигатели вполне могут быть современными - дельты потратили
1200 и 600 м/с6000 и 3000 м/с всего.А самонаводящиеся боеприпасы не для космоса?
ПРО и особенно РЭП с ОЭП.
а чем самонаводящийся боеприпас принципиально отличается от ещё одного "догоняющего"? В функциональном плане?
Великолепно!
Только если он обладает преимуществом в ускорении и хочет пострелять "до результата", кружить, наверное, все же не будет. Вот если его преимущество в ускорении достигается за счет слабости систем охлаждения, и стреляться на равных с целью он может только 10 секунд подряд, а потом надо брать передышку... то мы подогнали обоснуй под указанную сцену с тай-файтерами. У них, получается, пожертвовали запасами хладагента, но запилили огромные радиаторы, чтобы истребитель был оптимизирован под серию коротких перестрелок на встречных курсах. Что в принципе логично для истребителя поддержки, который должен готовить почву орудиям ИЗР. А "Сокол" покрупнее и более сбалансирован в этом плане.
С тайфайтерами в игре был следующий прикол. У бластеров батареи перезаряжаются если временно пожертвовать скоростью, либо щитами (если есть). (в сторону: как же я задолбался воевать до того как узнал что там патроны бесконечные!) Щитов у тайфайтера нет так что для подзарядки жертвуем скоростью, а это его единственная защита фактически. Т.е. адекватный пилот атакуя крупный корабль прилетит, постреляет и улетит перезаряжаться.
Как бы он вообще истребитель прикрытия, задачей которого является отстрел того, что прорвётся. То есть звено СИДок вваливает всё имеющееся во врага... и меняется с следующим. И так крутят карусель.
Более чем продуманная система, но требовательная к кадрам. И да, оно было нецензурно дёшево!
вполне логично и достоверно . Интересно .
Офигеть... Целое научное изыскание!
Снимаю шляпу.
т.е. при погоне в свободном пространстве (т.е. в идеальном случае по факту, когда отсутствуют "кочки" и "коряги" под "ногами") преимущество в общем случае имеет догоняющий, поскольку имеет возможность выбирать оптимальные для себя относительные скорости. Ну, при условии, что он в принципе способен обеспечить себе превосходство в скорости, неважно за счёт более мощных двигателей или какого-нибудь притягивающего луча. Убегающий в лучшем случае может выбрать удачный момент, сорвав оптимальное расстояние резким ускорением или торможением.
И, как понимаю, боковое маневрирование тут мало что даёт, максимум позволяет выиграть время... Напоминает морские сражения
Но это же подразумевает что есть "предельная" скорость.
Что мешает убегающему просто разгонятся на максимальной тяге двигателей ? Ну кроме проблем с тем чтобы стрелять в догоняющих? (Ну или невозможности корректно уйти на сверхсвет если скорость слишком большая)
Пользователь удалил свой комментарий.
Блин, я лох и забыл нормировать вектора на 1 когда считал ускорения. Сейчас переделаю.
Серьезный подход.
Переделал
Почитал. Улыбнулся. Напоминает рассуждения "как будет протекать поединок фрегата и галеона при возможности корректировки огня кулеврин с беспилотника на электрических батареях и с тепловизором"
Добавим артиллерийский радар )
В страшилках про пик нефти так и будет.
пааадла
корпускулярные щиты куда дели?
Почему дежурные звенья не на патрулировании?
Хотя после разрезки лезвиями вопросов нет. Хорошо, что даже не собирался смотреть...
Микимаус масдай.
Отлично. Ещё бы график скоростей красного и синего, а лучше еще и векторов скоростей по Х и по У.)
Скоростей относительно чего? Суть именно в том что скорость относительно какой-то левой ИСО смысла не имеет, а красный может выбрать какую захочет раз уж догнал.
Я понял, в чем ошибка. Мы упорно считаем систему координат "корабль-корабль" единственной. И в случае самолетов это так - у них система координат привязана к земле. А в случае звездолетов - нет.
Представим, что Хан Соло решил играть по-крупному и вместо аккуратных маневров запустил на "всю мощь" главные двигатели и притормозил с 10 до 5 км/с, да еще и изменил траекторию так, что она теперь направлена не на Альфу Центавра, а, скажем, на звезду Барнарда. Тай-файтеры тут же окажутся черт знает где. Им придется вновь рассчитывать траекторию и уравнивать скорости. А за это время Хан Соло уже свалит в гиперпространство или куда там еще.
Кто "мы" и сколько вас? Пост именно про то что скорость относительно левой ИСО значения не имеет.
А теперь то же самое в программе. Там это в принципе можно сделать немного поменяв цифры.
Так, а навскидку, в ЛЛ на каких скоростях сие происходит?
Не обязательно.
Вот у нас три скорости:
V1 - скорость движения первого корабля
V2 - скорость движения второго корабля
Vb - скорость полёта снаряда (трением в безвоздушном пространстве можно пренебречь, поэтому будем считать ее как константу независимо от расстояния)
V1 = 21
V2 = 20
Vb = пусть будет 1422 м/с, эмпирики потом поправят
Итого V1 < V2 + Vb
Как только скорость полёта заряда перекрывает разность скоростей полета кораблей - подлетать ближе становится необязательно. Просто бортовому компьютеру надо будет посчитать поправки на вектор движения цели.
У снаряда есть еще угловое рассеяние, а цель может попробовать не убегать, а уклоняться в сторону. Так что чем ближе тем надежней.
Скорее неэффективны, а не невозможны. Чтобы космоистребителю попадать туда куда нужно, необходимо наводиться всем корпусом в точку встречи снаряда с целью. Либо, если космос у нас не подводная среда, нужно будет доворачивать весь корпус КА с основными двигателями и тем самым терять в маневре. Траектория получается более предсказуемой, а значит нападающий будет находится в заведомо уязвимом положении перед противником неограниченном в выборе направления ускорения и стрельбы из оружия. Что мешало поставить турели вместо приваренных к корпусу пушек?
А маневрировать защищающемуся всё равно придется, ну если он не хочет попасть под ливень неуправляемых снарядов.
Космоистребителю ни чего не мешает быть башенным.
Выбор между не маневрировать и наспамить вокруг гандонами и маневрировать и думать что делать с управляемыми снарядами, против которых маневры бесполезны.