Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Попадание одного объекта в другой 
V
    Опции темы
Pawl
Дата 4.9.2013, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: нет
Всего: 28



Уважаемые форумчане, встретился с задачкой: по полю летает кружок, отскакивая от стенок. На поле есть "черная дыра", диаметром больше или равном диаметру кружка. Если мячик в дыру полностью попадает, он исчезает. Не могу сообразить как определить, влетел ли кружок в дыру полностью. Буду благодарен, если подскажете алготитм проверки. Спасибо!


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
Lipetsk
  Дата 4.9.2013, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в форме ;)
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 28.1.2009
Где: Липецк

Репутация: 2
Всего: 5



по расстоянию между центрами
PM   Вверх
_Y_
Дата 4.9.2013, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Если дырка круглая, то ответ Lipetsk решает задачу. Если нет, то сложнее но уже, кажется, здес' обсуждалос'.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Pawl
Дата 4.9.2013, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: нет
Всего: 28



Цитата(_Y_ @  4.9.2013,  13:23 Найти цитируемый пост)
Если дырка круглая, то ответ Lipetsk решает задачу.

Дырка круглая. Я так понял, что расстояние между центрами должно быть меньше или равно R1 - R2, где R1 радиус дырки, а R2 - круга?


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
_Y_
Дата 4.9.2013, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Pawl, именно так.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Pawl
Дата 5.9.2013, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: нет
Всего: 28



Lipetsk, _Y_, спасибо. 
_Y_, нельзя ли 
Цитата(_Y_ @  4.9.2013,  13:23 Найти цитируемый пост)
здес' обсуждалос'
 оформить ввиде ссылки? Хочу посмотреть, как можно решить вариант, к примеру, с прямоугольником.



--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
Pavia
Дата 5.9.2013, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



Любую плоскую фигуру можно представить полигоном. Достаточно проверить пересечения отрезков. Если пересечения нет, то либо одна фигура лежи целиком внутри либо целиком во вне. Достаточно добавить второе условие проверить любую точку из второй фигуры не лежит ли она в первой. 
Алгоритм попадания точки в полигон хорошо известен. Пускаем луч в сторону к примеру в право и сичтаем число пересечений с полигоном. Считаем число отрезков лежащих правее и так чтобы один н конец был выше другой ниже. Если число пересечений нечётное то точка лежит внутри. 
Алгоритм пересечения отрезков тоже известен.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0468 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.