Физика движения глайдера
Ранее я предлагал дать каждому глайдеру характеристику «обтекаемость», зависящую от формы корпуса, а не «от балды», как это было ранее, когда она определялась типом глайдера (скоростной/не скоростной). Игра не имеет права содержать в описании такую характеристику, как «симулятор», если в ней всё так нереалистично. Потому прошу пересмотреть физику глайдеров.
Итак, предложу способ для определения этой характеристики. Сопротивление воздуха летящему предмету рассчитывается по формуле:
Fсопр. = 0,5 * p * Cx * S * (v^2)
«р» - это плотность воздуха. На Земле она равна 1,2 кг/м^3, и если посчитать, что на Полигоне она такая же, формулу можно слегка упростить:
Fсопр. = (0,6 * Cx * S) * (v^2)
Здесь «S» - это «лобовая» площать глайдера. Рассчитать её для трёхмерной модели глайдера просто – поставить за моделью белый экран, развернуть носом к наблюдателю и врубить ортогональную проекцию. Требуемая площадь будет равна количеству небелых пикселей.
Далее. В формуле присутствует также некий абстрактный коэффициент «Cx». Он зависит уже от конкретной формы корпуса (обычно лежит в пределах от 0,045 для капли и до 1,4 для обратной полусферы). Он определяется экспериментально (к примеру, для отечественной «копейки» он в районе 0,4, а для современных японских «лепёшек» 0,2; у самолётов – в районе 0,1). Но в принципе, рассчитать эту характеристику навскидку можно по внешнему виду модели глайдера, основываясь на схожести этой формы с такими базовыми модельками, как:
Для примера рассмотрю несколько глайдеров.
Самый яркий пример –
Молния. Имеет форму обратной капли (последняя в таблице). Так что Сх Молнии – 0,10. Хотя, я бы дал где-то
0,12…
Идеальную форму имеет
Разрушитель – широкий спереди корпус равномерно сужается к концу, напоминая каплю (предпоследняя в таблице). Правда, эта капля не идеальна, так что мой вердикт:
0,06.
Очень похож на него
Торнадо, хотя у него больше угловатых элементов, и сужение корпуса к концу не так остро. Так что
0,09.
Почти идеальную форму имеет
Меч судьбы – корпус очень близок к форме капли, но слегка стремится к шару, совсем чуть-чуть, поэтому Сх =
0,08.
Ну а самая ущербная форма кузова, на мой взгляд, у
Пираньи – имеющей почти плоский лоб. Но я бы дал ему Сх средний между диском и полусферой, т.е.
0,80.
Чуть лучше у
Минотавра – он близок к полусфере – Сх =
0,40.
Угловатости отечественной «копейки» проглядываются в глайдере
Тягач, так что его Сх пусть будет
0,40.
Форму же легкового японского автомобиля сильно напоминает
Жало, за что ему и соответствующий Сх -
0,25.
Мастодонт по внешнему виду схож с Формулой-1, Сх которой около
1,00 (как ни парадоксально).
Что-то среднее между колбасой и фюзеляжем самолёта напоминает
Большегруз. В принципе, неплохая форма для грузового глайдера: Сх =
0,3
Неплохая форма также у грузовичка
Скарабея – середнячок между шаром и обратной каплей, т.е.
0,25.
Наверное, самым скоростным окажется в итоге
Феникс (Сх =
0,11), по большей части благодаря двум движкам и малой площади лобовой проекции.
Немного уступают ему
Крылья дьявола, имеющие похожий корпус, но большее число непотребных тормозящих отростков, так что его Сх =
0,13.
Насчёт птичек, сказал бы так:
Ястреб -
0,18,
Коршун -
0,22,
Грифон -
0,20
Намтару, имеющему обратно-каплевидный корпус и плоские торцы каких-то набалдашников по бокам, я бы дал Сх =
0,35.
Форма
Рассекателя близка к неполной шарообразной. Я бы оценил Сх как
0,38.
Похожая ситуация с
Крабом, но он более обтекаем, ИМХО, так что
0,30.
Корпус
Смерча можно попробовать рассмотреть как совокупность каплевидных частей. Довольно обтекаем, Сх =
0,11.
Более обтекаем
Дракон – Сх =
0,09
Чёт я увлёкся…
У разработчиков самих глазомер не хуже, наверное…
Итак, как же выражать обтекаемость глайдера? Предлагаю выводить эту характеристику таким образом:
посчитать для каждого глайдера его коэффициент лобового сопротивления
k = 0,6 * Cx * S
и вывести игроку некую абстрактную величину «потеря скорости», равную k / N, где N – число устанавливаемых в глайдер двигателей. Таким образом, чем больше эта величина, тем медлительнее глайдер. Игроку таким образом будет легко сравнивать скорости глайдеров разных типов (если это надуманное деление всё же останется) с разным количеством двигателей.
---
Насчёт конкретно физики и расчёта скорости глайдеров. Коэффициент лобового сопротивления «k» рассчитан и находится в базе данных. Суммарная сила тяги равна тяге двигателей плюс проекция силы тяжести на направление движения глайдера (про это нельзя забывать!). Масса глайдера известна («m»). Тогда по второму закону Ньютона ускорение глайдера:
a = Fрезульт. / m
Чтобы найти «Fрезульт.», нужно просто сложить силу тяги с силой лобового сопротивления, равной, как писалось выше:
Fл.сопр. = k*v*v
Итого, получим, что ускорение глайдера в данный момент времени, когда скорость глайдера равна v, будет равно:
a = Fрезульт. / m = (Fт.сумм. – k * v*v) / m
[Если компьютер обновляет текущее значение скорости «Vщас» с периодичностью, допустим, 100 раз в секунду, то
Vщас = Vo + (Fтяги сумм. – k * Vo*Vo) / m / 100;
Vo = Vщас;]
Только вот нереалистично быструю потерю скорости при отключении движков оставить нужно, списав её на системы стабилизации.
Таким образом, глайдер начнёт подчиняться законам физики, что успокоит возмущённых фанатов, и даст игре право называться «симулятором».