|
|
|||||
Отталкивание от окружности
Вобщем вот вопрос:
Есть мув h, его окружает окружность(мув) его имя s, как при набегании мува h на мув s отталкивать его?(чтобы мув h не выбежал за пределы шарика. Может кажется что все просто но ето не так. Я пытался длеать зависимость от угла поворота, тоесть если повернут вверх идет вниз, но нечего хорошего из етого не вышло! ВОбщем надеюсь на вашу помощь. |
|
|||||
Banned
[+5 08.09.07]
[+4 17.01.08] Регистрация: Dec 2005
Сообщений: 556
|
попробуйте так:
1 нормаль к окружности (нх, ну) = (х/радиус, у/радиус) 2 касательная - нормаль под 90° - (-ну, нх) 3 проэкция скорости на касательную - (скорость скалярно на касательную) * (-ну, нх) 4 новая скорость = старая скорость - 2 * (старая скорость - проекция из 3) |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Считайте расстояние от мувика до центра окружности, если оно больше радиуса, то -- стоп, если меньше, то перемещаем в следующую позицию. Как отталкивать сами додумайте =)
|
|
|||||
Banned
[+5 08.09.07]
[+4 17.01.08] Регистрация: Dec 2005
Сообщений: 556
|
дословно по моему посту выше:
|
|
|||||
Фух спасибо но суть вопроса была не в этом, я к примеру привел окр.! мне нужно найти столкновения с неправильной формой(я забыл это написать в вопросе)
Теперь приведу более подробный пример. Допустим есть опять круг, его окружает скала(понятно что неправильной формы) как найти столкновения между ними?(допустим можно воспользоваться hitTest) ну допустим я нашел точку пересечения. Как мне теперь сделать отталкивание круга от нее.Как узнать сверху или снизу мув соединился и тд. Но всеравно спасибо приму к сведению может когда понадобится соединить с окр. |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
|
|
|||||
Регистрация: Mar 2007
Сообщений: 207
|
есть несложный код столкновения со сложной поверхностью, который редко используют по чему-то(и, вообще, в нете гораздо больше дурацких примеров столкновения, которые только с толку сбивают).
там, правда нужно посидеть и понять суть, чтоб подстроить под ситуацию,но это мелочи. Скажите куда кинуть исходник и, вообще, куда здесь кидать файл, если кто-то попросил или я хочу показать его другим? |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Жмите на кнопку "Расширенный режим".
|
|
|||||
Регистрация: Nov 2005
Сообщений: 1,058
|
Цитата:
|
|
|||||
Регистрация: Mar 2007
Сообщений: 207
|
ок. позже скину исходник,
но могу сказать, что столкновение там построено на следующем.может это то, что надо. if (стена.hitTest(герой._x, герой._y, true)){движение героя меняется на противоположное} странно, что многие этим не пользуются. к стати. пета4ок, каким образом происходит перемещение круга-героя(клавиши, мышь)? |
Часовой пояс GMT +4, время: 08:04. |
|
« Предыдущая тема | Следующая тема » |
|
|