а я б вообще перебором всех точек делала: взяла бы пару точек и диаметром=расстоянию между ними начертила окружность. потом бы взяла следующую точку, если принадлежит окружности, то готу ве некст точка, если не принадлежит, то увеличила бы окружность до этой точки. и так до тех пор, пока все точки не окажутся вовнутрях на етом круге. далее, вычислила б его диаметр.
ЗЫ: си не знаю
ЗЫЗЫ: и рисовать я не умею
[Ответ]
Terry 15:02 06.12.2005
Сообщение от :
а я б вообще перебором всех точек делала: взяла бы пару точек и диаметром=расстоянию между ними начертила окружность. потом бы взяла следующую точку, если принадлежит окружности, то готу ве некст точка, если не принадлежит, то увеличила бы окружность до этой точки. и так до тех пор, пока все точки не окажутся вовнутрях на етом круге. далее, вычислила б его диаметр.
ЗЫ: си не знаю
ЗЫЗЫ: и рисовать я не умею
окружность бы ты получила, но не с минимальным радиусом.
[Ответ]
VBA b0.3 15:15 06.12.2005
наверное стоит сделать вывод что такими геометрическими вычислениями эта задача не решается... или все таки решается ?
я сам-то её решил "перебором",т.е. сначала экспеременетально убедился что такая окружность - единственная,
а потом нахожу её способом похожим на "деление пополам".
плюс - задача решается
минус - медленно, всмысле если найти геометрическое решение её, любое, то оно будет заведомо быстрее чем моё [Ответ]
а может и нет геометрического решения, раз за нее 300 (кстати, каких "синих", "белых" кто знает?) хотят.. =)
[Ответ]
DeeP 15:37 06.12.2005
maximn, ой. набери в яндексе "алгоритм окружность минимального радиуса" и читай... читай.
[Ответ]
maximn 15:50 06.12.2005
Сообщение от DeeP: maximn, ой. набери в яндексе "алгоритм окружность минимального радиуса" и читай... читай.
оно мне надо!?
я же не просто так сижу, я на работе - ваяю (нетленку как обычно).. =)
и вообще, вы меня тут не видели если что..
[Ответ]
VBA b0.3 17:00 06.12.2005
скачаю, посмотрю, но я думаю что и там не минимальный радиус это условие наверняка заменят на чтото типа "а давай те ка найдем не минимальный радиус, а тот который быстро ищется" таких алгоритмов я кучу видел.. они не являются решением поставленой задачи
[Ответ]
Yandex 20:59 06.12.2005
А разве у Terry не ответ?
>Муж мне все решил. Мы были рядом. Завтра чертеж и решение и доказательства выложу сюда
Ну и где? Мне интересно док-во посмотреть [Ответ]
Kent 21:31 06.12.2005
Такой вариант:
Перебираем все точки, находя 2 наиболее удалённые (А и Б).
Расчитываем половину расстояния (назовём R1).
Расчитываем координаты середины отрезка.
Перебираем все точки относительно расчитанного центра отрезка, и ищем максимально удалённую (C).
Если расстояние от максимально удалённой точки равно R1, то центр отрезка является центром окружности, а R1 её радиусом,
иначе на окружности будут лежать 3 точки,и рассчитаем окружность по этим 3-м точкам (А,Б,С): {известно 2 отрезка АC и СБ. От каждого отрезка из центра проводим перпендикуляр. Пересечение перпендикуляров есть центр искомой окружности. Далее легко рассчитать её радиус.}
Здесь рисовать влом, но получаецца прально
В случае успеха не откажусь от 300 зелёных [Ответ]
Пардон. Привык читать первый и последние посты. Да к томуже очень твой пост №34 смутил.
А почемуже с решением несогласны? Разве не минимальный?
[Ответ]
VBA b0.3 11:17 07.12.2005
доказательство минимальности должно быть в решении
можно дома запрограмить этот алгоритм и сравнить его результат с правльным, но медленным алгоритмом... но этож делать надо