0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 11
|
|
1 | |
Есть множество точек в которое необходимо вписать окружность и определить центр окружности и радиус.16.09.2017, 23:13. Показов 3581. Ответов 17
Метки нет (Все метки)
Здравствуйте! Не направите или не подскажите как реализовать идею. Задача заключается в следующем. Есть множество точек в которое необходимо вписать окружность и определить центр окружности и радиус. Через три точки однозначно можно провести окружность эт ясно, если больше то возникает неоднозначность. Я думал через уравнение окружности как то попытаться решить, но не знаю как отбирать точки и как в них вписать окружности. Помоги кто может плиз
0
|
16.09.2017, 23:13 | |
Ответы с готовыми решениями:
17
В множество точек вписать окружность и определить центр окружности и радиус Задать массив точек, и определить радиус и центр окружности, на которой лежит наибольшее число точек Определить радиус и центр окружности, на которой лежит наибольшее число точек заданного массива точек Определить радиус и центр наибольшей окружности в области заданных точек, внутри которой нет точек |
141 / 119 / 29
Регистрация: 12.02.2017
Сообщений: 308
|
|
17.09.2017, 02:20 | 2 |
Направить или подсказать как реализовать идею?
Одна из идей (возможно есть и получше), если исходные данные это рисунок с точками, то 1. Написать программу анализирующую рисунок и выявляющую все точки, изображенные на нем (и местоположение каждой из них). Возможные проблемы: выявление самой точки, что это? - пиксель другого цвета или группа пикселей?, если группа - то каков ее размер?, например, прямоугольник 5 на 5 мм это точка или нет? И т.д. 2. Написать модуль, который будет проводить статистическую обработку координат точек и, в зависимости от исходных требований, выполнять математический анализ полученных данных с целью определения начальных условий для рисования окружности: координаты ее центра, радиус. 3. И самое простое, - нарисовать окружность. Но если вы, цитата: "...не знаю как отбирать точки и как в них вписать...", то наверное не следует этим заниматься и проще обратиться к фрилансерам, т.к. готовую программу по вашему заказу, наверное, здесь никто выкладывать не будет. Не по теме: Это форум, а не стол заказов.
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
18.09.2017, 18:24 | 3 |
Сообщение было отмечено gogo199 как решение
Решение
gogo199, думаю, что алгоритм должен быть такой: находите минимальные и максимальные X и У
Центр окружности (X-a)2 + (Y-b)2 = R2 определить так a=Xmin + (Xmax - Xmin)/2, аналогично для b через Y, как бы строите прямоугольник, включающий ваши точки - центр прямоугольника = центр окружности. Теперь радиус определить просто, это максимальное расстояние от центра до точек R2=max{(X-a)2 +(Y-b)2} Добавлено через 41 минуту gogo199, невнимательно прочитал постановку задачи, тот алгоритм, который я предложил, для окружности, которая включает в себя все ваши точки. Тут мне надо срочно бежать по делам, освобожусь, подумаю и пришлю новое сообщение, но принцип останется таким же. Добавлено через 4 часа 8 минут gogo199, вписать окружность во множество точек - такого понятия нет. Можно вписать в фигуру, образованную точками (и то не всегда, представьте себе множество виде гантели - и куда же вписывать?). Возможны варианты: 1 - вы путаете понятия вписанная и описанная окружность, для описанной я дал алгоритм. 2 - вы неверно сформулировали задачу, если вам ее дали как задание по программированию, поэтому требуются уточнения. Если вписать в тот прямоугольник, о котором я писал, по меньшему размеру - это можно.
0
|
1389 / 530 / 67
Регистрация: 10.04.2009
Сообщений: 8,715
|
|
18.09.2017, 20:00 | 4 |
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
18.09.2017, 20:24 | 5 |
Ципихович Эндрю, сейчас это (через три точки окружность, если точки не лежат на одной прямой), наверно, знают уже в 10 классе, а если вы учились в вузе, то должно быть в курсе аналитической геометрии. Так что ваша неуверенность правила не отменит.
0
|
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 11
|
|
18.09.2017, 23:40 [ТС] | 6 |
Даны точки имеющие координаты и необходимо используя математические методы построить по этим данным окружность
0
|
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 11
|
|
18.09.2017, 23:41 [ТС] | 7 |
Спасибо за идею
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
19.09.2017, 05:36 | 8 |
gogo199, ну это совсем другое дело,надо было сразу прислать снимок. Всё, что я написал раньше забываем. Вам необходимо минимизировать функционал F=Сумма(Y-Yt)2=min. Приравняв частные производные от суммы по параметрам a, b, R нулю получим три уравнения для их определения. Это идея методики. Я беру тайм-аут для уточнения методики, может быть для удобства маленько изменю вид функционала и пришлю Word-документ с методикой. Там формулы писать удобнее. Если вы можете прислать координаты точек, то тоже бы неплохо.
Добавлено через 9 минут gogo199, индекс t относится к вашим точкам
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
19.09.2017, 09:04 | 9 |
gogo199, посылаю файл с методикой определения параметров окружности. Если что, пишите
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
19.09.2017, 09:40 | 10 |
gogo199, из-за сокращений в формулах совсем вылетело из головы, что в fi тоже присутствуют эти же параметры окружности, доработаю, но если не получится получить значения в параметров в явном виде, то придется решать систему нелинейных уравнений. Позже пришлю решение
0
|
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 11
|
|
19.09.2017, 10:44 [ТС] | 11 |
Спасибо огромное!! сейчас посмотрю. Да координаты сегодня возьму и отправлю
0
|
185 / 183 / 31
Регистрация: 11.10.2016
Сообщений: 599
|
|
19.09.2017, 11:20 | 12 |
Burk, судя по фразе
и присланной картинке, где точки как раз и образуют окружность, ТС подойдет ваш первый алгоритм. Где точки сначала вписываются в прямоугольник, образованный наиболее удаленными друг от друга точками; определяется центр этого прямоугольника, как центр окружности; и вычисляется радиус, как
То есть делаем два цикла, в первом находим максимальные и минимальные значения X и Y, что и будет являться углами прямоугольника, во втором проверяем квадраты расстояний до центра, на случай если какая-либо из точек будет близка к углу прямоугольника и вычисляем наибольшее значение, которое и будет являться радиусом
0
|
58 / 57 / 13
Регистрация: 10.09.2009
Сообщений: 255
|
|
19.09.2017, 12:37 | 13 |
Если это статистическая обработка, то при использовании "метода прямоугольника" может привести к неточному определению радиуса и центра окружности.
По идее может надо обработать все токи и при наибольшем количестве совпадений окружности с точками выбрать за базовую эту окружность и она точно будет отличатся от той которая построена по прямоугольнику Добавлено через 1 минуту а остальные точки сместить по одной из координат или по радиусу.
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
19.09.2017, 15:39 | 14 |
_shark, Владимир_Сар, я все это знаю, но такие задачи так не делаются. Приду домой, нарисую правильную методику автору через стандартное отклонение, предыдущая не проходит, а так хотелось обойтись без коней
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
19.09.2017, 17:49 | 15 |
gogo199, Оставляем функционал каким был без корней, только малость подправил и даже всё упростилось
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
20.09.2017, 18:38 | 16 |
_shark, я тоже сначала попался на описанная окружность, т. е окружность включающая в себя все точки. Тогда, конечно, первый вариант. Но там ВПИСАННАЯ, вернее АППРОКСИМАЦИЯ экспериментальных точек окружностью. Тогда вариант 2.
gogo199, будут проблемы, обращайтесь Добавлено через 15 секунд _shark, я тоже сначала попался на описанная окружность, т. е окружность включающая в себя все точки. Тогда, конечно, первый вариант. Но там ВПИСАННАЯ, вернее АППРОКСИМАЦИЯ экспериментальных точек окружностью. Тогда вариант 2. gogo199, будут проблемы, обращайтесь, можно по мэйлу
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
||||||
22.09.2017, 00:22 | 17 | |||||
gogo199, тут выдалось время и я нарисовал программу по приведённой методике. Если вы что-то делали, можете сравнить
0
|
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,102
|
|
25.09.2017, 14:01 | 18 |
gogo199, а вы получили мой ответ на ваше последнее личное сообщение для меня?
0
|
25.09.2017, 14:01 | |
25.09.2017, 14:01 | |
Помогаю со студенческими работами здесь
18
Определить радиус и центр такой окружности, проходящей хотя бы через три точки множества точек, что минимальна разность по модулю количества точек, ле Определить радиус и центр окружности, на котором лежит наибольшее число точек заданных на плоскости Определить радиус и центр такой окружности, проходящей хотя бы через три разные точки множества точек Класс "Окружность" с данными центр и радиус окружности. Вычислить длину и площадь окружности. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |