|
Вопрос # 3 307/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Я тут столкнулся с одной задачей(точнее мне ее задали как д.з), я вроде программированием 2 года занимаюсь а решить немогу, помогите плз.
Приложение: Переключить в обычный режим-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- e.in e.out
- 0 0 1000
- 0 0 500
- 0 0 500
-
- possible
- -468.09507906626652000000 -883.67810709213904000000
- -531.24014997680422000000 847.22128340394170000000
- 999.33522904307131000000 36.45682368819722500000
-
-
-
 |
Вопрос задал: Черняев Саша (статус: Посетитель)
Вопрос отправлен: 20 октября 2009, 22:51
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Егор
Здравствуйте, Черняев Саша!
идея есть, как решить. реализацию оставляю автору вопроса, ибо, как правильно заметил min@y™: "а какого...?"
вычислять касательную двух кругов можно, но это долго.
можно пойти другим путём :)
в целом, идея такая:
1) по центрам окружностей деревьев проводим прямую
2) находим точки пересечения этой прямой и окружности клумбы (пусть будут точки 1 и 2)
3) вычисляем точки пересечения прямой с окружностями каждого из деревьев (пусть будут А, В, С и D)
4) пусть текущей будет точка А
5) проводим в текущей точке перпендикуляр к прямой
6) находим пересечение этого перпендикуляра с внешней окружностью (клумбой) - пусть будут точки E и F
7) по точкам E, F и 1 строим треугольник, проверяем, входят ли в него оба дерева - входят - танцуем
8) если не входят, то строим треугольник по точками E, F и 2, проверяем, входят ли деревья в этот треугольник
9) если деревья не входят ни туда, ни сюда, то не расстраиваемся - делаем текущей следующую точку (В, С, D) и возвращаемся к шагу 5
10) а вот тут расстраиваемся, что треугольник не получился...
з.ы. можно, конечно, ещё подоптимизировать алгоритм, например, не проверять точки В и С, треугольник строить только по точке 1 или 2 (по которой имеет смысл) и т.д.
правда, я гений?
:))))))))
 |
Ответ отправил: Егор (статус: 10-ый класс)
Время отправки: 21 октября 2009, 19:59
Оценка за ответ: 5
Комментарий к оценке: Спасибо огромное!!!
|
Мини-форум вопроса
Всего сообщений: 21; последнее сообщение — 9 ноября 2009, 19:23; участников в обсуждении: 6.
Страницы: [« Предыдущая] [1] [2]
|
prog-mer (статус: Посетитель), 9 ноября 2009, 19:23 [#21]:
Но так до конца и не решили!
|
Страницы: [« Предыдущая] [1] [2]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|