IrrlichtСтатьи

физика2 -- Связи (Newton)

Автор:

Доброго времени суток.

Вот очередной пример, который посвящен связям.
screenshot0 | физика2 -- Связи (Newton)
В его работе используются прилагаемые к NewtonSDK файлы, позволяющие создавать всевозможные виды связей. Для упрощения я скопировал используемые файлы непосредственно в пример (папка customJoints).


Вот собственно пример:
http://www.classx.ru/Physic/Ex02_Machine.zip
http://www.gamedev.ru/download/?id=5926

То же самое + ".exe":
http://www.gamedev.ru/download/?id=5927

Позже накропал небольшой аддон к примеру:
http://www.gamedev.ru/download/?id=5938

Под связью будем подразумевать:

Некоторые законы, ограничивающие и определяющие движение объектов.

Под не строгим понятием физического тела:

1) Имеет размеры (куб, шар, цилиндр, сложная форма)
2) Имеет массу (легкий / тяжелый) и центр масс (чем ниже расположен центр масс -- тем устойчивей тело)
3) Инерционно. (чтобы заставить вращаться / остановить вращение нужно приложить силу)

*) Сила трения
Что же касается наклонных плоскостей, то тут ситуация такая:

Если поверхности идеально гладкие (отсутствует сила трения), то тело под действием силы тяжести будет скатываться с малейшим образом наклоненной поверхности. В реальности же мы имеем такую картину сил

F(тр) -- сила трения
F(тяж) -- сила тяжести
N -- сила реакции опоры

force | физика2 -- Связи (Newton)

Возникает сила трения:
F(тр) < k*N

k -- коэффициент трения, обычно находящийся в пределе между 0 и 1. Однако, при наличии липких поверхностей (шины формулы-1) может быть и больше 1. Которая действует в точке касания, вдоль поверхности, направлена так, чтобы уравновесить действия других сил (сопротивление поверхности к перемещению тела). Однако при возрастании до величины k*N и выше, т.к. сила трения не может расти больше этой величины, то тело начинает движение.


*)ВРАЩЕНИЕ ТЕЛ
Все тела имеют определенные размеры, посему свести всю физику только к перемещению тел под действием сил не удастся. Вводим понятие вращения тел, а точнее ориентацию в пространстве.

Для однозначного задания положения (не координат, а положения в смысле верха, низа) тела (относительно выбранной системы отсчета)в пространстве достаточно задать один вектор -- вектор, на который нужно повернуть тело, из начального положения
rotate | физика2 -- Связи (Newton)

Введем еще один вектор "угловой скорости" -- изменения нашего вектора положения, и, аналогично вектор "углового ускорения" -- Момент. Так же как линейное ускорение тела связано с массой, силой, координатами тела, аналогично связаны и новые "угловые" понятия, с той лишь разницей, что вместо массы используется определенная, зависимая от массы и формы тела величина.

Т.о. мы прикладываем к телу т.н. Крутящий Момент, который увеличивает угловую скорость, которая заставляет тело вращаться.

Между Крутящим Моментом и Силой есть прямая связь например:

Крутящий Момент Колеса может "создавать" Силу на поверхночти колеса и наоборот, Сила, касательно приложенная к поверхности колеса, заставляет закрепленное на оси тело вращаться.

Например карусель -- человек придает карусели вращение, прикладывая к ней Силу (по касательной).
Ведущее колесо машины крутит двигатель, в точке соприкосновения с дорогой возникает Сила, созданная крутящим моментом, пока эту Силу уравновешивает сила трения, автомобиль может разгоняться/тормозить. Как известно, если колеса сорвались в юз (силы трения не хватает, для уравновешивания), то сцепление колес с дорогой много хуже, и начинают действовать другие законы. Поэтому же у автомобилей, особенно у гоночных стараются максимально повысить вышеуказанный коэф. трения, так как чем он выше, тем выше предел силы трения, тем выше макс. Сила, которую можно приложить к колесам автомобиля, тем быстрее авто может разгоняться.

Продолжение следует...

@ Пример построен с использованием некоторого материала из стандартных примеров, также используются некоторые файлы от NewtonSDK, и я ни в коем случае не претендую на их права.
@ Так же может использоваться некоторый материал из стандартных примеров от IrrlichtSDK, на их права я так же не претендую.

23 августа 2007 (Обновление: 15 янв 2008)

Комментарии [14]