|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.09.2017, 23:23 | #1 |
Новичок
Джуниор
Регистрация: 16.09.2017
Сообщений: 3
|
программа для математике
Здравствуйте! Не направите или не подскажите как реализовать идею. Задача заключается в следующем. Есть множество точек в которое необходимо вписать окружность и определить центр окружности и радиус. Через три точки однозначно можно провести окружность эт ясно, если больше то возникает неоднозначность. Я думал через уравнение окружности как то попытаться решить, но не знаю как отбирать точки и как в них вписать окружности. Помоги кто может плиз
|
17.09.2017, 00:17 | #2 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
|
17.09.2017, 00:37 | #3 |
Новичок
Джуниор
Регистрация: 16.09.2017
Сообщений: 3
|
Да это я понимаю, что это является необходимым условием.
|
17.09.2017, 07:29 | #4 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Первый шаг, очевидно, выбрать радиусы. Сначала нужно его ограничить его.
Считаем попарно расстояния м-у всеми точками. Берем минимальное и макс. расстояния. Это будут макс и мин ДИАМЕТРЫ, соотв. радиусы = половины. Далее, берем все возможные радиусы от мин до макс, с каким-то шагом точности. Далее, для каждого такого радиуса из каждой точки строим уравнение окружности c центром в этой точке. Далее ищем пересечения всех окружностей с одинаковым радиусом, и считаем, сколько окружностей пересклось в 1 точке (с какойто точностью 2). Когда пройдены все радиусы, смотрим, из всех сумм, где наибольшее число пересечений в 1 точке. Вот это грубое решение - точка центр, и радиус известен. Далее, можно внести новое ограничение на радиус, с учетом найденого, повысить точности и все повторить. ......ну вот такое на вскидку придумал ) Эт примерно так рисуется маска Батхинова из треугольников циркулем. |
17.09.2017, 09:19 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Видимо речь о минимальной описанной окружности множества точек. Для начала - интересны только граничные точки, т.е. точки принадлежащие минимальной выпуклой оболочке. Как найти их можно например здесь подсмотреть. Дальше работая только с ними и используя например этот метод находим минимальную описанную окружность. Можно и без первого шага, но тогда скорее всего общее время выполнения будет дольше
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
18.09.2017, 23:43 | #6 |
Новичок
Джуниор
Регистрация: 16.09.2017
Сообщений: 3
|
Вот имеются точки с известными координатами и необходимо математически построить окружность по ним
|
19.09.2017, 07:05 | #7 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Задача решается методом наименьших квадратов, про МНК можно прочитать в книге Каханер,_Моулер,_Наш.-Численные_методы_и_программное_обес печение-Мир(1998)
И второй способ находим центр точек как среднее геометрическое и находим радиус как среднее значение от центра до точек. Или максимальное, если все точки надо вписать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 19.09.2017 в 07:07. |
20.09.2017, 07:37 | #8 |
Регистрация: 13.09.2017
Сообщений: 4
|
попробуйте волновым методом. Есть хорошая книга Башурова, где решаются подобные задачи. Идея такая: каждая точка (красная на Вашем рисунке, с известными координатами) рассматривается как одиночный источник света. С центрами в этих точках строятся окружности. Радиус окружности растет - в пределе получаем точку (или несколько различных точек, так как задача может иметь не одно решение). Посмотрите в инете про волновой метод (метод геометрической оптики)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программа по дискретной математике на Делфи | Zaraaa | Помощь студентам | 0 | 20.10.2013 16:29 |
Программа по дискретной математике | Rozario68 | Фриланс | 1 | 14.12.2011 18:35 |
Программа по дискретной математике | Breaknoise | Общие вопросы C/C++ | 6 | 14.09.2011 22:28 |
Программа электронный учебник по математике для средних классов. Основное направление дроби (на Делфи) | Ribnika_90000 | Помощь студентам | 4 | 18.04.2011 20:51 |
Программа по вычислительной математике | TaHe4ka | C++ Builder | 2 | 08.10.2010 23:43 |