Re: Пересечение отрезка и прямоугольника

From
Alexander Golovlev ()
To
Alexander Checkmenev
Date
2002-09-11T14:43:29Z
Area
RU.ALGORITHMS
From: "Alexander Golovlev" <alex-gol1@mtu-net.ru>

Доброе время суток, Alexander!
Вы писали to All не далее, как Mon, 09 Sep 2002 18:00:37 +0400:

AC> Нужен сабж в двуме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.

Наверное есть короче способ, я не знаю, но вот если бы "игрок" был круглый,
то 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)