Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > Как сделать хорошую физику столкновений


Автор: 31416 27.9.2006, 16:10
Как сделать хорошую физику столкновений - падает допустим объект - произвольной формы - он может зацепится краем за что то - пойдет вращение - упадет тоже не сразу а отскочет и постепенно с края на край осядет т.п у кого есть какие идеи,инфа,ссылки - постите сюда.

статьи:
http://www.gamedev.ru/articles/?id=30107 

Автор: Никто 29.9.2006, 15:27
Я уже прилично долго разрабатываю физику,поэтому могу что подсказать.

Автор: 31416 1.10.2006, 22:16
У меня такой вопрос из области физики:

движение сложного тела можно рассматривать состоящим из двух движений:
1. поступательного
2. вращательного

вот представим что поступательного нету - вращательное движение может быть только вокруг своего центра масс - когда на тело не действуют другие силы? например тело парит гдето далеко в космосе - и его изредко кто то поразному толкает.

Автор: LesnoyChelovek 1.10.2006, 22:30
Возьми маленькие модели и на них экспериментируй - самый лучший способ.

Автор: 31416 1.10.2006, 23:57
И еще 2-й вопрос:
допусти у нас есть идеальный кубик по середине экрана монитора - грани паралельны коаям монитрора -т.е мы видим квадрат
на него не действуют никакие силы - теперь повернем кубик по оси перпендикулярной экрану на 30 градусов и сообщим
ему скорость вниз - а снизу идеально гладкая бесконечно массивная поверхность - что будет кубик ударется гранью о нее и подскочит на ту высоту с которой начал движение и вращение не будет - так ли это?

Автор: maxim1000 2.10.2006, 00:21
если не заморачиваться с эффектами теорий относительности (что для игры, пожалуй, лишнее), то много чего можно получить, используя второй закон Ньютона и его аналог для вращения:
1. F=ma (F - векторная сумма всех сил, a - ускорения центра масс)
2. M=Je (M - суммарный момент, J - момент инерции, e - угловое ускорение)
отсюда и следуют ответы на вопросы:

Цитата(31416 @  1.10.2006,  21:16 Найти цитируемый пост)
вот представим что поступательного нету - вращательное движение может быть только вокруг своего центра масс - когда на тело не действуют другие силы?

если никакие силы не действуют, то скорость центра масс постоянна (как вектор), а значит центр масс ни по какой окружности двигаться не может, а значит, что если и будет вращение, то только вокруг центра масс

Цитата(31416 @  1.10.2006,  22:57 Найти цитируемый пост)
теперь повернем кубик по оси перпендикулярной экрану на 30 градусов и сообщим
ему скорость вниз - а снизу идеально гладкая бесконечно массивная поверхность - что будет кубик ударется гранью о нее и подскочит на ту высоту с которой начал движение и вращение не будет - так ли это?

вращение будет, т.к. во время удара на кубик действовала сила, не проходящая через центр масс (для этого надо было бы повернуть на 45), а значит, создающая момент вращения
если других сил кроме ударной нет, то он будет продолжать вращаться и двигаться вверх с постоянными параметрами и никогда не остановится

Автор: 31416 2.10.2006, 00:25
И 3-й более общий чем 2-й вопрос:
предположим есть идеальные абсолютно твердые тела движущуюсия в вакууме и никакие силы на них не действют движутся они только поступательно - так вот могут ли в таких услових они так столкнутся чтобы у них возникло вращательное движние - или результаом столкновений будет только поступательное движение?

Добавлено @ 00:31 
угу чувствую что ответ на 3-й  вопрос заложен в ответе на 2-й.
спасибо за ответ, все очень логично )

Автор: Dubinsky 2.10.2006, 11:51
надо ещё помнить , что вращаюшееся тело , стремится сохранить свою ось вращения , эффект гироскопа ...если не сложно может кто то описал бы , как он расчитывается ?

Автор: Никто 3.10.2006, 18:33
Цитата

могут ли в таких услових они так столкнутся чтобы у них возникло вращательное движние - или результаом столкновений будет только поступательное движение?

Могут,многие забывают про инерцию.

Автор: 31416 4.10.2006, 00:06
Цитата

Могут,многие забывают про инерцию. 


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



Автор: Никто 5.10.2006, 18:36
Почему это не могут.Если они направлены на центры масс друг друга,то движение будет прямолинейным.А если немного со сдвигом,то будут вращаться.Ведь есть понятие инерции,которое стремиться оставить центр масс на своем месте.

Автор: DarlkElfTen 5.10.2006, 18:49
GL Scene - примеры есть..)

Автор: Guest 10.10.2006, 17:46
Как сделать че-нить типа цепочки  smile  smile  smile  smile (т.е. несколько соед. частей с проработанной физикой)?

Автор: Klose 10.10.2006, 18:54
Посмотри здесь http://forum.pascal.net.ru/index.php?showtopic=10197

Паскаль рулит=)

Автор: Никто 11.10.2006, 11:55
Или здесь.
http://forum.vingrad.ru/index.php?showtopic=77796

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)