![]() |
Сместить мяч при отскоке от стены , чтобы убрать погрешность
Здравствуйте, появилась проблема, мяч летит в стену под углом,
при ударении в стену, он немного "входит" в нее(получается 2 точки пересечения со стеной), нужно СМЕСТИТЬ его обратно (по направлению противоположному вектору движения) на такое расстояние чтобы была одна точка соприкосновения со стеной, и уже потом менять вектор движения как угол падения = углу отражения. Так вот каким образом найти это СМЕЩЕНИЕ, чтобы не накапливалась ошибка. |
Найти точку пересечения отрезка стены с отрезком перемещения мяча.
http://stackoverflow.com/questions/5...ents-intersect |
Вложений: 1
Вот нарисовал рисунокВложение 31764
О2 - точка где сейчас мяч, должен он в итоге оказаться в О1, чтобы его можно было из этой точки отразить. O2A - дистанция между центром мяча и стеной, O2B - радиус мяча, A - точка идеального касания мяча и стены(когда мяч не вошел в стену и центр его в О1) V - вектор скорости мяча, нужно найти вектор O2 - O1, Он равен DB. Цитата:
|
В общем случае задачу решает ТРО(Теорема о разделяющих осях)Она дает вектор наикротчайшего выхода одного тела из другого.В инете был супер годный мануал по ней на примере игры N но похоже его выпилили.Очень жаль.Может у кого-нибудь бэкап сохранился? Такие статьи нельзя терять
|
Может эта статья вам поможет http://www.flasher.ru/forum/blog.php?b=182
|
Цитата:
http://www.dyn4j.org/2010/01/sat/ тро не делает того, что нужно тсу. |
Цитата:
|
Цитата:
Цитата:
Цитата:
Или не устраивает,что вектор наикротчайшего выхода(ВНВ) не всегда будет колинеарен направлению движения?Тогда можно считать проекцию ВНВ на скорость и двигать шар на полученный результат.Хотя если шар не слишком быстро носится ВНВ будет почти параллелен скорости. |
Цитата:
Цитата:
|
Цитата:
|
| Часовой пояс GMT +4, время: 02:45. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.