![]() |
|
|
![]()
|
|
| Pawl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: нет Всего: 28 |
Уважаемые форумчане, встретился с задачкой: по полю летает кружок, отскакивая от стенок. На поле есть "черная дыра", диаметром больше или равном диаметру кружка. Если мячик в дыру полностью попадает, он исчезает. Не могу сообразить как определить, влетел ли кружок в дыру полностью. Буду благодарен, если подскажете алготитм проверки. Спасибо!
-------------------- В действительности всё совсем не так, как на самом деле |
|||
|
||||
| Lipetsk |
|
|||
![]() в форме ;) ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 28.1.2009 Где: Липецк Репутация: 2 Всего: 5 |
по расстоянию между центрами
|
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Если дырка круглая, то ответ Lipetsk решает задачу. Если нет, то сложнее но уже, кажется, здес' обсуждалос'.
-------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| Pawl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: нет Всего: 28 |
Дырка круглая. Я так понял, что расстояние между центрами должно быть меньше или равно R1 - R2, где R1 радиус дырки, а R2 - круга? -------------------- В действительности всё совсем не так, как на самом деле |
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Pawl, именно так.
-------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| Pawl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: нет Всего: 28 |
Lipetsk, _Y_, спасибо.
_Y_, нельзя ли оформить ввиде ссылки? Хочу посмотреть, как можно решить вариант, к примеру, с прямоугольником. -------------------- В действительности всё совсем не так, как на самом деле |
|||
|
||||
| Pavia |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: 11 Всего: 12 |
Любую плоскую фигуру можно представить полигоном. Достаточно проверить пересечения отрезков. Если пересечения нет, то либо одна фигура лежи целиком внутри либо целиком во вне. Достаточно добавить второе условие проверить любую точку из второй фигуры не лежит ли она в первой.
Алгоритм попадания точки в полигон хорошо известен. Пускаем луч в сторону к примеру в право и сичтаем число пересечений с полигоном. Считаем число отрезков лежащих правее и так чтобы один н конец был выше другой ниже. Если число пересечений нечётное то точка лежит внутри. Алгоритм пересечения отрезков тоже известен. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |