|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Теория - Задача про два круга |
|
Теория - Задача про два круга
|
Старожил Сообщения: 222 |
Профиль | Отправить PM | Цитировать Как развязять даную задачю:
Условие. Определить, сколько точек пересечения у двух окружностей. Технические условия. Входные данные: 6 чисел x1, y1, r1, x2, y2, r2, где x1, y1, x2, y2, - координаты центров окружностей, r1, r2 – их радиусы. Выходные данные: единственное число, показывающее количество точек пересечения. 0, 1, 2 – соответствующее количество точек пересечения. -1 – бесконечное количество точек пересечения. |
|
Отправлено: 17:24, 21-02-2008 |
Вредитель Сообщения: 460
|
Профиль | Отправить PM | Цитировать Начнем с простого. Если x1=x2, y1=y2 и r1=r2, значит бесконечное. Дальше можно по теореме Пифагора.
1) Проверяем не находится ли центр одной окружности внутри другой. Для этого сравниваем радиус большей окружности с расстоянием между центрами. Находится - шаг 2, нет - шаг 3. 2) Если разница между большим и меньшим радиусом меньше расстояния между центрами значит 2 точки, если ранвна - 1 точка, больше - 0 точек. 3) Если r1+r2 меньше расстояния между центрами, значит 0 точек, если равно - 1, если больше - 2. |
------- Отправлено: 17:49, 21-02-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать пункты 1 и 2 не обязательно. По теореме треугольника: сумма длин 2х сторон меньше или равна длине третьей. Равна - прямая, меньше - треугольник, больше - не пересекаются.
|
Отправлено: 21:47, 21-02-2008 | #3 |
Ветеран Сообщения: 1404
|
Профиль | Отправить PM | Цитировать Цитата:
Если больше, то 0 Если меньше, то 2 точки |
|
------- Отправлено: 11:29, 28-02-2008 | #4 |
Старожил Сообщения: 369
|
Профиль | Отправить PM | Цитировать Если придать этой задаче скажем, более конкретный вид - а именно:
x1y1 - координаты первой вышки сотовой связи r1 -удаление от неё до звонящего телефона, x2y2 - координаты второй вышки сотовой связи и r2 - удаление от неё до звонящего телефона. Так же, зная расстояние между вышками, - В РЕЗУЛЬТАТЕ можно вычислить направление от любой из этих вышек до звонящего по телефону Так задачка гораздо интереснее |
|
Отправлено: 01:16, 29-02-2008 | #5 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Здравствуйте.
Для решения задачи введите функцию R = (x2-x1)^2+(y2-y1)^2-(r1+r2)^2 Если x1=x2, y1= y2, r1=r2 ответ = -1. Если R > 0 ответ = 0. Если R = 0 ответ = 1. Если R < 0 ответ = 2. Удачи. |
Отправлено: 13:14, 02-03-2008 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Задача про путь и скорость по физике | Student00 | Хочу все знать | 4 | 21-09-2009 16:12 | |
задача С++ про массивы | lrad | Программирование и базы данных | 3 | 24-01-2007 23:35 | |
еще раз про два монитора | hellrised | Хочу все знать | 5 | 08-12-2006 11:09 | |
Два пути ввода пользователей в домен, два разных результата | xstranger | Microsoft Windows NT/2000/2003 | 14 | 31-05-2006 18:30 |
|