|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Alexander Golovlev 2:5020/400 11 Sep 2002 14:43:29 To : Alexander Checkmenev Subject : Re: Пересечение отрезка и прямоугольника --------------------------------------------------------------------------------
Доброе время суток, Alexander!
Вы писали to All не далее, как Mon, 09 Sep 2002 18:00:37 +0400:
AC> Hужен сабж в двумеpном пpостpанстве для пpовеpки, попала ли пуля в
AC> игpока. Известны начальные и конечные кооpдинаты пули, кооpдинаты
AC> левого-веpхнего угла игpока, его шиpина и высота. Очень желательно,
AC> чтобы найти кооpдинаты места попадания пули в игpока. Скоpость
AC> кpитична.
По углу:
Угол - геометрическая фигура состоящая из 2-х лучей исходящими из одной
точки и пространства между ними (внутр. или внешн.)
Итак, считаем величину 5 углов (по катету и гипотенузе):
1,2,3,4) между начальной координатой пули и каждой из границ объекта
(кариозного монстра) относительно горизонтали, например;
- и находим самую большую дельту между величинами углов: т.е. угловой
диапазон попадания.
5) далее считаем угол образованный горизонталью и двумя координатами пули;
- и смотрим попал ли 5-тый угол в найденный в (1-4) диапазон.
Если попал, то одним монстром стало меньше. Если нет то 1,2,3,4,5.
Hаверное есть короче способ, я не знаю, но вот если бы "игрок" был круглый,
то 1,2,3,4 превратились бы в 1,2.
СУВ
Alexander Golovlev. MailTo: alex-gol1@mtu-net.ru
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/65779eec5199.html, оценка из 5, голосов 10
|