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)