![]() |
Обработка столкновений
Вопрос по коду с http://www.emanueleferonato.com/2008...h-as3-version/
Так обрабатывается столкновение 2х шаров. Не могу понять физику процесса Код AS3:
Я так понимаю тут весь прикол в вычислении векторов движения шаров. Могли бы прокоментировать код и объяснить как это работает? |
Код AS3:
|
Окей
Цитата:
А MCBallA.x = nMidpointX - nNormalX * nRadiusA - это что за формула и как ее понимать? |
Цитата:
Цитата:
Если понятно, что такое nNormalX и nNormalY, тогда nMidpointX - nNormalX * nRadiusA должно быть понятно тем более. Добавлено через 3 минуты Хотя здесь нужно уточнить. Нормаль здесь не совсем нормаль. nNormalX и nNormalY - это единичный вектор направления от шара А к шару Б. |
Тригонометрически "нормали" - это косинусы и синусы, значение которых не более 1, а значит утверждение, что мы "позиционируем шар А и Б так, чтобы они не пересекались" не верно в общем случае. Наоборот, мы вычисляем их положение относительно друг друга в момент столкновения для последующего вычисления направления движений.
|
| Часовой пояс GMT +4, время: 08:10. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.