Физика автомобиля для игр.
Автор: Marco Monster
Введение
Эта статья рассказывает о поведении автомобилей в играх, а именно о физике автомобиля.
Одним из ключевых пунктов в упрощении физики транспортного средства является раздельная обработка продольной и боковой силы. Продольная сила работает в направлении корпуса автомобиля (или же в противоположном направлении). Это сила тяги, тормозящая сила, сила трения и сила сопротивления перемещению (= сопротивление воздуха). Вместе эти силы управляют ускорением или замедлением автомобиля, следовательно, и скоростью автомобиля. Боковые силы позволяют автомобилю поворачиваться. Эти силы вызваны поперечным трением на колесах. Мы также рассмотрим угловой момент скорости автомобиля и момент вращения, вызванные боковыми силами.
Примечание и соглашения
Векторы выделены полужирным текстом, мы будем использовать 2d векторы. Так что примечание a = —b означало бы следующее:
На протяжении все этой статьи я буду предполагать, что задние колеса являются ведущими (для четырех ведущих колес нужно применять необходимую адаптацию)
Все физические величины я буду измерять в единицах СИ (метры, килограммы, Ньютоны и т.д.).
Физика движения по прямой
Сначала рассмотрим автомобиль, двигающийся по прямой линии. Какие силы задействованы здесь? Прежде всего, это сила тяги, то есть сила, которая передается двигателем через задние колеса. Двигатель вращает колеса вперед (на самом деле он передает момент вращения на колеса), колеса «толкают назад» поверхность дороги, в результате поверхность дороги выталкивает колеса в противоположном направлении, то есть вперед. Сейчас мы просто положим, что сила тяги эквивалентна по величине переменной Engineforce, которая управляется непосредственно пользователем.
Ftraction = u * Engineforce,
где u — единичный вектор в направлении движения автомобиля.
Если бы это была единственная сила, то автомобиль просто бы ускорился до бесконечной скорости. Ясно, что в реальной жизни дело обстоит совсем не так. Введем силы сопротивления. Первая и обычно наиболее важная — сила воздушного сопротивления, другими словами аэродинамическое сопротивление. Эта сила важна, поскольку она пропорциональна квадрату скорости. Когда мы двигаемся быстро (а какая игра не вовлекает в высокие скорости?) эта сила становится наиболее важной силой сопротивления.
Fdrag = — Cdrag * v * |v|
где Cdrag константа, v — вектор скорости и |v| — модуль вектора v, являющийся длиной вектора v.
Длина вектора скорости обычно известна как скорость. Обратите внимание на различие типа данных: скорость — скаляр, скорость — вектор. Используйте приблизительно следующий код:
Так же, еще есть сопротивление вращения. Это вызвано трением между резиной и дорожной поверхностью, так как колеса прокручиваются, трением на осях и т.д. Мы обозначим это силой, которая пропорциональна скорости, с использованием другой константы.
При низких скоростях трение (Frr) является основной силой сопротивления, при высоких скоростях Fdrag превышает по значению Frr. Приблизительно при 100 км/час (60 миль в час, 30 м/с) они равны ([Zuvich]). Это означает, что Crr должен быть равен приблизительно 30-ти Cdrag.
Общая продольная сила — это векторная сумма этих трех сил.
Обратите внимание, что если вы двигаетесь по прямой линии, то силы аэродинамического сопротивления и трения будут направлены противоположно силе тяги (Ftraction). То есть вы вычитаете силу аэродинамического сопротивления из силы сцепления. И когда автомобиль движется с постоянной скоростью, то силы находятся в равновесии, и Flong равен нулю.
Ускорение (a) автомобиля (в м/с 2 ) определено равнодействующей силой автомобиля (в Ньютонах) и массой автомобиля М (в килограммах) по второму закону Ньютона:
Скорость автомобиля (в метрах в секунду) определяется, как интеграл ускорения через какое-то время (dt). Это звучит слишком сложным, но следующее уравнение поможет нам. Воспользуемся методом Эйлера для численного интегрирования.
v = v + dt * a,
где dt — промежуток времени между предыдущим и текущим вызовами просчета физики.
Позиция автомобиля свою очередь определяется, как интеграл скорости по dt.
Используя эти три силы, мы уже довольно точно можем моделировать ускорение автомобиля. Вместе они также определяют максимальную скорость автомобиля для данной мощности двигателя. То есть, нет необходимости устанавливать максимальную скорость где-нибудь в коде, она автоматически вычисляется из уравнений. Дело в том, что уравнения формируют своего рода цикл отрицательной обратной связи. Если сила тяги (Ftraction) превышает все другие силы, то автомобиль ускоряется. Увеличивающаяся скорость, также заставляет увеличиваться силы сопротивления. Равнодействующая сила уменьшается, а следовательно уменьшается и ускорение. В некоторой точке силы сопротивления и сила тяги компенсируют друг друга, и автомобиль достигает своей максимальной скорости для данной мощности двигателя.
На этом графике Ось X обозначает скорость автомобиля в метрах в секунду и значения силы, которая отмечена по Оси Y. Значение силы тяги (темно синий) установлено произвольно, оно не зависит от скорости автомобиля. Трение (пурпурная линия) — линейная функция скорости, и сопротивление (желтая кривая) — квадратичная функция скорости. При низких скоростях трение превышает аэродинамическое сопротивление. При 30 м/с эти две функции пересекаются. При более высоких скоростях аэродинамическое сопротивление является наибольшей силой сопротивления. Сумма из двух сил сопротивления показана светло-синей кривой. При 37 м/с эта кривая пересекает горизонтальную линию силы тяги. Это — максимальная скорость для данной мощности автомобиля (37 м/с = 133 км/час = 83 мили в час).
Источник статьи: http://www.gamedev.ru/articles/?id=70108
Формулы равномерного и равноускоренного движения
Равномерное движение
Формула скорости движения при равномерном движении:
v=const
a=0
v — скорость, м/с
s — перемещение, м
t — время, с
Формула перемещения при равномерном движении:
Координата вычисляются через кинематическое уравнение равномерного прямолинейного движения по формуле:
График — Равномерного прямолинейного движения
Равноускоренное движение
Формула скорости при равноускоренном движении:
a=const
v0 — начальная скорость, м/с
a — ускорение, м/с 2
Формула для нахождения перемещения при равноускоренном движении:
или
Уравнение равноускоренного движения в проекции на оси координат:
Формула для определения ускорения при равноускоренном прямолинейном движении:
v0 — начальная скорость, м/с
v — мгновенная скорость, м/с
Формула для определения средней скорости движения:
График — Равноускоренное движение при a>0
Равнозамедленное движение
Формула скорости при равнозамедленном движении:
Формула перемещения при равнозамедленном движении:
График — Равнозамедленное движение при a 2
Формула для вычисления скорости при свободном падении тела:
Формула для вычисления перемещения при свободном падении тела:
Формула координаты при свободном падении тела:
Формула высоты с которой тело свободно падает:
Формула для определения скорости тела в конце свободного падения:
Время свободного падения тела равно:
Источник статьи: http://www.matematicus.ru/fizika/mehanika/formuly-ravnomernogo-i-ravnouskorennogo-dvizheniya
Скорость. Ускорение. Равноускоренное прямолинейное движение
1. Реальное механическое движение — это движение с изменяющейся скоростью. Движение, скорость которого стечением времени изменяется, называют неравномерным движением.
При неравномерном движении координату тола уже нельзя определить но формуле \( x=x_0+v_xt \) , так как значение скорости движения не является постоянным. Поэтому для характеристики быстроты изменения положения тела с течением времени при неравномерном движении вводят величину, называемую средней скоростью.
Средней скоростью \( \vec\) тела ко времени \( t \) , за которое оно произошло: \( \vec
Записанная формула определяет среднюю скорость как векторную величину. В практических целях этой формулой можно воспользоваться для определения модуля средней скорости лишь в том случае, когда тело движется вдоль прямой в одну сторону. Если же нужно определить среднюю скорость движения автомобиля от Москвы до Санкт-Петербурга и обратно, чтобы рассчитать расход бензина, то эту формулу применить нельзя, поскольку перемещение в этом случае равно нулю и средняя скорость тоже равна нулю. Поэтому на практике при определении средней скорости пользуются величиной, равной отношению пути \( l \) ко времени \( t \) , за которое этот путь пройден: \( v_<ср>=\frac
2. Важно, что, зная среднюю скорость неравномерного движения на каком-либо участке траектории, нельзя определить положение тела на этой траектории в любой момент времени. Например, если средняя скорость движения автомобиля за 2 часа 50 км/ч, то мы не можем сказать, где он находился через 0,5 часа от начала движения, через 1 час, 1,5 часа и т.п., поскольку он мог первые полчаса двигаться со скоростью 80 км/ч, затем какое-то время стоять, а какое-то время ехать в пробке со скоростью 20 км/ч.
3. Двигаясь по траектории, тело проходит последовательно все её точки. В каждой точке траектории оно находится в определённые моменты времени и имеет какую-то скорость.
Мгновенной скоростью называют скорость тела в данный момент времени в данной точке траектории.
Предположим, некоторое тело совершает неравномерное прямолинейное движение (рис. 17), его скорость в точке О можно определить следующим образом: выделим на траектории участок AB, внутри которого находится точка О. Перемещение тела на этом участке — \( \vec_1 \) совершено за время \( t_1 \) . Средняя скорость движения на этом участке – \( \vec_2 \) , а время движения — \( t_2 \) . Тогда средняя скорость за это время: \( \vec
При дальнейшем уменьшении перемещения и соответственно времени движения тела они станут такими маленькими, что прибор, например спидометр, перестанет фиксировать изменение скорости, и движение за этот малый промежуток времени можно считать равномерным. Средняя скорость на этом участке и есть мгновенная скорость тела в т.О.
Таким образом, мгновенной скоростью называют векторную физическую величину, равную отношению малого перемещения ( \( \Delta<\vec> \) ) к малому промежутку времени \( \Delta ><\Delta
4. Одним из видов неравномерного движения является равноускоренное движение. Равноускоренным движением называют движение, при котором скорость тела за любые равные промежутки времени изменяется на одно и то же значение.
Слова «любые равные промежутки времени» означают, что какие бы равные промежутки времени (2 с, 1 с, доли секунды и т.п.) мы ни взяли, скорость всегда будет изменяться одинаково. При этом её модуль может как увеличиваться, так и уменьшаться.
5. Характеристикой равноускоренного движения, помимо скорости и перемещения, является ускорение.
Пусть в начальный момент времени \( t_0=0 \) скорость тела равна \( \vec
Ускорение тела при равноускоренном движении — векторная физическая величина, равная отношению изменения скорости тела к промежутку времени, за который это изменение произошло.
Единица ускорения \( [a]=[v]/[t] \) ; \( [a] \) = 1 м/с/1 с = 1 м/с 2 . 1 м/с 2 — это такое ускорение, при котором скорость тела изменяется за 1 с на 1 м/с.
Направление ускорения совпадает с направлением скорости движения, если модуль скорости увеличивается, ускорение направлено противоположно скорости движения, если модуль скорости уменьшается.
6. Преобразовав формулу ускорения, можно получить выражение для скорости тела при равноускоренном движении: \( \vec
Чтобы определить значение скорости равноускоренного движения в любой момент времени, следует записать уравнение для проекции скорости на ось ОХ. Оно имеет вид: \( v_x = v_ <0x>+ a_xt \) ; если \( v_<0x>=0 \) , то \( v_x = a_xt \) .
7. Как видно из формулы скорости равноускоренного движения, она линейно зависит от времени. Графиком зависимости модуля скорости от времени является прямая, составляющая некоторый угол с осью абсцисс (осью времени). На рисунке 19 приведены графики зависимости модуля скорости от времени.
График 1 соответствует движению без начальной скорости с ускорением, направленным так же, как и скорость; график 2 — движению с начальной скоростью \( v_ <02>\) и с ускорением, направленным так же, как и скорость; график 3 — движению с начальной скоростью \( v_ <03>\) и с ускорением, направленным в сторону, противоположную направлению скорости.
8. На рисунке приведены графики зависимости проекции скорости равноускоренного движения от времени (рис. 20).
График 1 соответствует движению без начальной скорости с ускорением, направленным вдоль положительного направления оси X; график 2 — движению с начальной скоростью \( v_ <02>\) , с ускорением и скоростью, направленными вдоль положительного направления оси X; график 3 — движению с начальной скоростью \( v_ <03>\) : до момента времени \( t_0 \) направление скорости совпадает с положительным направлением оси X, ускорение направлено в противоположную сторону. В момент времени \( t_0 \) скорость равна нулю, а затем и скорость, и ускорение направлены в сторону, противоположную положительному направлению оси X.
9. На рисунке 21 приведены графики зависимости проекции ускорения равноускоренного движения от времени.
График 1 соответствует движению, проекция ускорения которого положительна, график 2 — движению, проекция ускорения которого отрицательна.
10. Формулу перемещения тела при равноускоренном движении можно получить, используя график зависимости проекции скорости этого движения от времени (рис. 22).
Выделим на графике малый участок \( ab \) и опустим перпендикуляры из точек \( a \) и \( b \) на ось абсцисс. Если промежуток времени \( \Delta
На такие полоски можно разбить всю фигуру ОАВС, и её площадь равна сумме площадей всех полосок. Следовательно, проекция перемещения тела за время \( t \) численно равна площади трапеции ОАВС. Площадь трапеции равна произведению полусуммы её оснований на высоту: \( S_x= \frac<1><2>(OA+BC)OC \) .
Как видно из рисунка, \( OA=v_<0x>,BC=v_x,OC=t \) . Отсюда следует, что проекция перемещения выражается формулой \( S_x= \frac<1><2>(v_<0x>+v_x)t \) . Так как \( v_x = v_ <0x>+ a_
Полученная формула позволяет определить положение (координату) тела в любой момент времени, если известны начальная скорость, начальная координата и ускорение.
11. На практике часто используют формулу или \( v^2_x-v^2_<0x>=2a_xs_x \) , или \( v^2-v^2_<0>=2as \) .
Если начальная скорость тела равна нулю, то: \( v^2_x=2a_xs_x \) .
Полученная формула позволяет рассчитать тормозной путь транспортных средств, т.е. путь, который проезжает, например, автомобиль до полной остановки. При некотором ускорении движения, которое зависит от массы автомобиля и силы тяги двигателя, тормозной путь тем больше, чем больше начальная скорость автомобиля.
ПРИМЕРЫ ЗАДАНИЙ
Часть 1
1. Hа рисунке приведены графики зависимости пути и скорости тела от времени. Какой график соответствует равноускоренному движению?
2. Автомобиль, начав двигаться из состояния покоя но прямолинейной дороге, за 10 с приобрел скорость 20 м/с. Чему равно ускорение автомобиля?
1) 200 м/с 2
2) 20 м/с 2
3) 2 м/с 2
4) 0,5 м/с 2
3. На рисунках представлены графики зависимости координаты от времени для четырёх тел, движущихся вдоль оси \( Оx \) . У какого из тел в момент времени \( t_1 \) скорость движения равна нулю?
4. На рисунке представлен график зависимости проекции ускорения от времени для тела, движущегося прямолинейно вдоль оси \( Оx \) .
Равноускоренному движению соответствует участок
1) только ОА
2) только АВ
3) только ОА и ВС
4) только CD
5. При изучении равноускоренного движения измеряли путь, пройденный телом из состояния покоя за последовательные равные промежутки времени (за первую секунду, за вторую секунду и т.д.). Полученные данные приведены в таблице.
Чему равен путь, пройденный телом за третью секунду?
1) 4 м
2) 4,5 м
3) 5 м
4) 9 м
6. На рисунке представлены графики зависимости скорости движения от времени для четырёх тел. Тела движутся по прямой.
Для какого(-их) из тел — 1, 2, 3 или 4 — вектор ускорения направлен противоположно вектору скорости?
1) только 1
2) только 2
3) только 4
4) 3 и 4
7. Используя график зависимости скорости движения тела от времени, определите его ускорение.
1) 1 м/с 2
2) -1 м/с 2
3) 2 м/с 2
4) -2 м/с 2
8. При изучении равноускоренного движения измеряли скорость тела в определённые моменты времени. Полученные данные, приведены в таблице. Чему равна скорость тела в момент времени 3 с?
1) 0 м/с
2) 2 м/с
3) 4 м/с
4) 14 м/с
9. На рисунке приведены графики зависимости скорости движения четырёх тел от времени. Ускорение какого из тел равно -1,5 м/с?
10. Используя график зависимости скорости движения тела от времени, определите скорость тела в конце 30-й секунды. Считать, что характер движения тела не изменился.
1) 14 м/с
2) 20 м/с
3) 62 м/с
4) 69,5 м/с
11. Два тела движутся по оси \( Оx \) . На рисунке представлены графики зависимости проекции скорости движения тел 1 и 2 от времени.
Используя данные графика, выберите из предложенного перечня два верных утверждения. Укажите их номера.
1) В промежутке времени \( t_3-t_5 \) тело 2 движется равноускоренно.
2) К моменту времени \( t_2 \) от начала движения тела прошли одинаковые пути.
3) В промежутке времени \( 0-t_3 \) тело 2 находится в покое.
4) В момент времени \( t_5 \) тело 1 останавливается.
5) В промежутке времени \( t_3-t_4 \) ускорение \( a_x \) тела 1 отрицательно.
12. На рисунке представлен график зависимости проекции скорости от времени для тела, движущегося вдоль оси Ох.
Используя данные графика, выберите из предложенного перечня два верных утверждения. Укажите их номера.
1) Участок ОА соответствует ускоренному движению тела.
2) Участок АВ соответствует состоянию покоя тела.
3) В момент времени \( t_1 \) тело имело максимальное по модулю ускорение.
4) Момент времени \( t_3 \) соответствует остановке тела.
5) В момент времени \( t_2 \) тело имело максимальное по модулю ускорение.
Часть 2
13. Зависимость координаты от времени для некоторого тела описывается уравнением \( x=12t-t^2 \) . В какой момент времени скорость движения равна нулю?
Источник статьи: http://fizi4ka.ru/ogje-2018-po-fizike/skorost-uskorenie-ravnouskorennoe-prjamolinejnoe-dvizhenie.html