![]() |
Реакция на столкновение
Формчане, здраст! Кто-нибудь даст ссылку на ресурс или наведет на мысль вот в каком вопросе (гуглил...но ничего ессно не нашел):
есть 2 движущихся, вращающихся прямоугольника (короче машинки с видом сверху). В определенный момент они сталкиваются, затем они должны реалистично взаимодействовать(т.е. можно скажем подрезать соперника и он закрутиться, ну и т.д.). Проблем в определении столконовения и последующем правильном расположении прямоугольников нет. А вот с реакцией беда.....я даже не знаю с чего начать. Помогите, пжалуста:o |
Надо физику читать.
http://ru.wikipedia.org/wiki/%D0%97%...BE.D0.BD.D0.B0 |
я всегда делал прямоугольники, состоящие из 4 точек, у который есть позиция и скорость по Х и У. Если это машинки - то на каждом кадре скорость " *= 0.99". Просто проверяешь столкновение всех 4 точек одной машины с другой (
if (_root["car"+i].hitTest(px[i2], py[i2], true)) { } ), и если точка в другой машине - то определяешь, в какую сторону точка должна отлететь (опять таки хит тестом, только с четырмя зонами. у каждой зоны свое направление). И самое главное - все точки каждой машины должны быть соединены пружинками, тоесть они могут отталкивать и притягивать точки (они должны влиять как на скорость, так и на позицию, чтобы избежать эффекта бесконечного дергаться). Мовие клип распологаешь потом по трем опорным точкам. И все! |
Цитата:
Я - бы делал так: 1. Создал массив из 4 - х точек для каждой машины 2. проверка в цикле пересекаются - ли прямые задающие контур машины 3. Если пересекаются, то у каждой машины есть две составляющих скорости: движения и вращения вокруг некоторой оси, для простоты можно принять, что ось проходит через центр прямоугольника. 4. Расчитываешь скорости используя законы сохранения импульса и энергии 5. Если машинок много, то делим пространство на области и для каждой машинки проверяем на столкновение только те, которые входят в область // p.s. Получается весьма реальистично т.к. аналогично тому как в природе. |
Не знаю насколько по уровню - но вот одна из многих ссылок, которые могут быть полезны.
http://lab.polygonal.de/category/physics/ |
Цитата:
ps если я правильно понял, то с вращением нужно поступить так же, как и со скоростью...то есть использовать импульс? |
Цитата:
|
Цитата:
|
Вложений: 2
вылаживаю исходник моей версии
|
какой пароль для архива?
|
| Часовой пояс GMT +4, время: 18:13. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.