Найти в Дзене
11 подписчиков

#ErSketchNote #RaceDay


Мощность двигателя нелинейно зависит от оборотов.

При переключении передачи вверх обороты двигателя падают, потому что шестерёнка колес становится меньше, и для той же скорости нужно меньше оборотов. На графике мощности (BHP - мощность, RPM – обороты) верхняя точка дуги – место, где разгон самый быстрый. Если в этот момент переключать передачу – получится быстрее разогнаться. На поиске этого момента и будет построена игра.

Осталось придумать, как задать эту нелинейную зависимость изменения оборотов от времени. Я подумал про параболу, гиперболу и даже модуль арктангенса. Но это всё негибко, на самом деле мне нужны были Кривые Безье.

Их придумал Пьер Безье, чтобы делать плавные изгибы кузовов Peugeot.

Нам понадобится кубическая версия кривой. Она задаётся четырьмя числами. Первое – начальное значение, четвёртое – конечное значение, второе и третье – параметры траектории движения между начальным и конечным значениями.

Представьте отрезок, по которому с постоянной скоростью двигается точка. В 0% времени она в начале отрезка, в 100% – в конце. За 1% времени она пройдёт 1% длины отрезка.

Соединим такими отрезками точки: первую со второй, вторую с третьей, третью с четвёртой.

Теперь у нас есть три отрезка, по которым ездят точки на 1% длины за 1% времени. Соединим отрезками эти три точки. Получится ещё два отрезка. Остаётся соединить их точки последним отрезком. Точка на нём будет двигаться по плавной кривой, которая нам нужна.

Нужно подобрать четыре числа так, чтобы итоговая кривая была похожа на график мощности нужной машины, подставить в формулу, и можно будет вычислить значение текущей мощности в зависимости от оборотов.
#ErSketchNote #RaceDay  Мощность двигателя нелинейно зависит от оборотов.
1 минута