|
![](/img/bluewhite/linetop.gif)
|
![](/img/dot.gif)
Музыка: | Ты кузнец, и ты не менял привычек.. |
Прощай, Луна!
Итак, следующая важная программа игрового цикла. Всем хороша станция «Юрий Гагарин». На ней можно поругаться с документальным телережиссёром Женей, бесплатно заправить баки... но наша-то цель Земля. И вот «Лунолёт-IV» позволяет наконец-таки улететь с лунной орбиты и достигнуть следующей промежуточной остановки, внутренней точки либрации. Где нас должен встретить танкер «Лагранж»... Соответствующий н/ф рассказ Михаила Пухова читайте в журнале «Техника-Молодёжи» 1986 №1.
Увы, инженер Сергей Волков так и не успел при жизни опубликовать блок-схему этой программы, хотя её разбор и был обещан в ТМ-1986 №6. Поэтому мне пришлось по-хэкерски "поднимать" её из скупого, но красивого и широко разошедшегося кода для ПМК. Для сервиса я добавил рассчёт круговой и параболической скоростей на каждом шагу. Ведь вычислительной скорости у нас, в XXI веке, хоть отбавляй.
' Лунолёт-4
' Публикация: ТМ-1986 N1
' Версия для ПМК (c) Михаил Пухов
' Лунолёт-IV v1o
' Публикация: LJR, 6 июня 2006
' Точный перевод на QBasic (c) Илья Васильев
' Распространяется под GPL v2 или старше
' + учитывает влияние планеты на движение аппарата
' + позволяет перелёт во внешнюю или внутреннюю точку либрации
' - не приспособлена для посадки
CLS
PRINT " +++ Лунолёт-IV +++"
PRINT
' Блок ввода исходных данных
PI# = 3.1415926#
' Р0 Р1 Р2 Р3 Р4 Р5 Р6 Р7 Р8 Р9 РА РВ РС РД
' V RL T VF K M C R DM/A AL RR U F MM
' Комплект исходных данных: со станции "ЮГ" до внутренней точки либрации
M = 2200: C = 3660: R = 1738000: RR = R + 50000
F = -180 * PI# / 180: MM = 3500: U = 0
VF = 6371000# * SQR(9.81 / 384400000#) / 384400000#
K = 1.62# * R * R
RL = (K / (3 * VF * VF)) ^ (1 / 3)
V = SQR(K / RR) - VF * RR
DO
' Рычаги управления
' Расход топлива при манёвре не должен превышать 5% от полной массы корабля
' (для лунолётов класса "Кон-Тики" это составляет 100-200 кг, в зависимости
' от наличного запаса топлива).
' При дальних вылазках в космическое пространство на "Лунолёте-4"
' рекомедуется придерживаться следующих правил:
' 1. выполнять перелёт на гиперболических скоростях (параболическая скорость
' в SQR(2) больше круговой, а гиперболические соответственно ещё выше);
' 2. в свободном полёте на высотах, не превышающих диаметра луны (для нашей
' Луны около 3500 км), задавать время маневра не более 300 с, затем
' переходить на 1000-секундные интервалы, при удалении на 15 тыс. км можно
' уже задавать часовые интервалы (порядка 3000 с), а начиная с 30 тыс. км
' -- трёхчасовые (10 000 с).
VK = SQR(K / RR) - VF * RR
DO
PRINT "Высота полёта:"; RR - R; "м",
PRINT "Расстояние до центра:"; RR; "м"
PRINT "Вертикальная скорость:"; U; "м/с",
PRINT "Горизонтальная скорость:"; V; "м/с"
PRINT "Круговая скорость:"; VK; "м/с",
PRINT "Параболическая скорость:"; VK * SQR(2); "м/с"
PRINT "Запас топлива:"; MM; "кг", ,
PRINT "Реактивное ускорение:"; A; "м/с^2"
PRINT "Расстояние по вертикали до точки либрации:"; RR - RL; "м"
PRINT "Угловое расстояние до центра видимой стороны луны:"; CSNG(F * 180 / PI#)
INPUT "угол, градусы; расход топлива, кг; время, с"; AL, DM, T
AL = AL * PI# / 180
' Блок проверки: перерасход топлива
LOOP WHILE DM > MM
' Блок вычисления: реактивное ускорение
MM = MM - DM
A = DM * C / ((M + MM) * T)
' Рассчётный блок, полностью совместимый с "Лунолётом-4".
' тяга, кориолисова сила
T1 = V + (A * SIN(AL) - U * (V / RR + 2 * VF) - 3 * SIN(F) * COS(F) * RR * VF * VF) * T
F = F + (V + T1) * T / (2 * RR)
V = T1
' тяга, тяготение, центробежная сила
T1 = U - (K / (RR * RR) - A * COS(AL) - V * (V / RR + 2 * VF) - 3 * COS(F) * COS(F) * RR * VF * VF) * T
RR = RR + (U + T1) * T / 2
U = T1
LOOP 'Главный игровой цикл
|
|