Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.02.2010, 14:22
Zorro_13 вне форума Посмотреть профиль Отправить личное сообщение для Zorro_13 Найти все сообщения от Zorro_13
  № 1  
Ответить с цитированием
Zorro_13
 
Аватар для Zorro_13

Регистрация: Dec 2006
Сообщений: 140
Attention Столкновение летающих квадратов

Задача: Создать поле с летающими квадратами, которые сталкиваются и отлетают друг от друга.
Подскажите пожалуйста - алгоритм для подсчета угла отскока и новой скорости для обоих квадратов. То есть интересует, как после определения столкновения разбросать квадраты.

Заранее спасибо.

Старый 24.02.2010, 14:46
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 2  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
ххех... ну с шарами как-то просто - абсолютно упругое нецентральное столкновение двух движущихся объектов... а квадраты... (чешет репу)
__________________
Поймай яблоко 2!

Старый 24.02.2010, 14:50
Zorro_13 вне форума Посмотреть профиль Отправить личное сообщение для Zorro_13 Найти все сообщения от Zorro_13
  № 3  
Ответить с цитированием
Zorro_13
 
Аватар для Zorro_13

Регистрация: Dec 2006
Сообщений: 140
Zebestov
Вот именно что для кругов куча примеров и прочего, а вот для квадратов...

Добавлено: Проблема решена. Спасибо.


Последний раз редактировалось Zorro_13; 24.02.2010 в 16:36.
Старый 24.02.2010, 23:00
chabapok вне форума Посмотреть профиль Отправить личное сообщение для chabapok Найти все сообщения от chabapok
  № 4  
Ответить с цитированием
chabapok

Регистрация: Jul 2009
Сообщений: 240
Записей в блоге: 1
Имхо, тема не относится к as и к флеш вообще. В данном случае флеш - это всего-лишь реализация.

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

Когда сталкиваются 2 квадрата, то мы имеем (исключая редкий случай столкновения плоскими сторонами) столкновение точки с линией. Результрующиее направление вращения зависит от угла между гранью и вектором между точкой и центром масс квадрата, который врезается точкой: если этот угол =90 градусов, то вращение остается таким же в ту же сторону. при отклонении в + скорость вращения увеличивается, при отклонении в минус - происходит отражение, а результирующая дельта силы считается (ИМХО) как момент инэрции помноженый на косинус, или как-то так. Но, если вращается тяжелый квадрат, и сталкивается с маленьким то отражения может не произойти, а просто замедление вращения.
Плюс импульс считается, и он воздействует на центр массы квадрата.

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

Старый 25.02.2010, 00:24
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 5  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
так... много воды, но суть выловлена точно — я этого не сделал утром.
итак примерный алгоритм:

1. определяем какими гранями столкнутся квадраты — горизонтальными или вертикальными.

/*
далее, для примера, считаем что квадраты соприкоснутся вертикальными гранями и соотв. отскок будет по оси Х
*/

2. считаем, что трение между квадратами отсутствует, значит Y-составляющая вектора скорости каждого квадрата не изменится. фиксируем ее для каждого.

3. все вычисления производим над X-составляющими вектора по формулам абсолютно упругого центрального столкновения

4. новые составляющие X и старые Y складываем в новый вектор скорости для каждого квадратика.

Фсьо вроде.

В случае соприкосновения горизонтальными гранями проделываем то же, только оси меняются.
__________________
Поймай яблоко 2!

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:38.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:38.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.