Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости? / 25 сообщений из 30, страница 1 из 2
11.06.2016, 21:25
    #39254802
прямые
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
Есть массив точек (x,y) на плоскости описывающих некую кривую.
Какой простейший алгоритм разложения кривой на заданное количество прямых?
Чтобы среднее квадратичное отклонение всех точек кривой от прямых было минимальным.
...
Рейтинг: 0 / 0
12.06.2016, 17:05
    #39255000
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
Как мне кажется, вы не найдете точное решение данной задачи, скорее всего вам необходимо свести её к какой-либо из задач оптимизации и воспользоваться стандартными приближенными алгоритмами решениями такого рода задач
...
Рейтинг: 0 / 0
12.06.2016, 17:12
    #39255001
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
прямыеЧтобы среднее квадратичное отклонение всех точек кривой от прямых было минимальным
беда - мы не знаем всех точек кривой - только "массив описывающих"

а как описывающих?
...
Рейтинг: 0 / 0
12.06.2016, 18:36
    #39255015
прямые
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
ИзопропилпрямыеЧтобы среднее квадратичное отклонение всех точек кривой от прямых было минимальным
беда - мы не знаем всех точек кривой - только "массив описывающих"

а как описывающих?
Кривая линейно интерполируется между двумя соседними точками.
...
Рейтинг: 0 / 0
12.06.2016, 18:40
    #39255016
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
прямыеКривая линейно интерполируется между двумя соседними точками.
те - просто ломаная?
...
Рейтинг: 0 / 0
12.06.2016, 19:16
    #39255023
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
ИзопропилпрямыеКривая линейно интерполируется между двумя соседними точками.
те - просто ломаная?

ломанная в любом случае, здесь имел смысл вопрос о том, что понимается под соседними точками. Но в любом случае мы приходим к задачам оптимизации
...
Рейтинг: 0 / 0
12.06.2016, 20:03
    #39255033
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
прямые,
посмотрите метод наименьших квадратов, линейную регрессию и кусочную линейную регрессию (piecewise linear regression)
(чем больше линий - тем точнее аппроксимация)
...
Рейтинг: 0 / 0
12.06.2016, 20:17
    #39255035
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
mini.weblab(чем больше линий - тем точнее аппроксимация)
у топикстартера - задано фиксированное количество точек. "больше линий"- ну никак не получится
...
Рейтинг: 0 / 0
12.06.2016, 21:54
    #39255064
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
Изопропил,

вообще-то это я так, для справки сказала.
но вам я даже больше скажу: если проводить линии через заданные точки (кривой), то среднеквадратическое отклонение между точками и линиями будет равно 0
:)
...
Рейтинг: 0 / 0
12.06.2016, 22:15
    #39255074
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
я как-то привык ломаную от кривой отличать.
...
Рейтинг: 0 / 0
12.06.2016, 22:26
    #39255080
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
Изопропил,
очень хорошо, а теперь нужно просто сесть на велосипед и кривую аппроксимировать ломанной
:)
...
Рейтинг: 0 / 0
12.06.2016, 22:30
    #39255081
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
mini.weblab,

кривой то нету - см что там топикстартер понаписал.


прямыеКривая линейно интерполируется между двумя соседними точками.
на сплайн не похоже.
...
Рейтинг: 0 / 0
13.06.2016, 00:53
    #39255120
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
прямыеЧтобы среднее квадратичное отклонение всех точек кривой от прямых было минимальным.
Этот пункт надо детализировать. Потому как не понятно как прикладывать измерительный инструмент.
Для случая наименьших квадратов - всё просто т.к. берем разность (y-yi) но в нашем варианте
кривая - произвольна и может закручиваться в спираль (почему нет?) и нам придется искать
обоснование почему оценка отклонений взята именно по оси Y а не по X. Или нужно
действительно строить сплайн и искать перпендикуляр и считать более "гладко"
с точки зрения математики. А если сплайн - то какой? Их наверное тоже много.
...
Рейтинг: 0 / 0
13.06.2016, 06:08
    #39255137
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
mini.weblabИзопропил,

вообще-то это я так, для справки сказала.
но вам я даже больше скажу: если проводить линии через заданные точки (кривой), то среднеквадратическое отклонение между точками и линиями будет равно 0
:)

При чём тут вообще линии? Речь идёт о прямых.

Не важно каким способом будет происходить приближение, важно что в любом случае без полного перебора не обойтись, для точного решения
...
Рейтинг: 0 / 0
13.06.2016, 09:42
    #39255168
S.G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
прямыеЕсть массив точек (x,y) на плоскости описывающих некую кривую.
Какой простейший алгоритм разложения кривой на заданное количество прямых?
Чтобы среднее квадратичное отклонение всех точек кривой от прямых было минимальным.Выделенное сломало мне мозг.

Есть список точек, известен их порядок (какая после какой). Тогда, существует только один способ связать их отрезками. В чем же задача?
...
Рейтинг: 0 / 0
13.06.2016, 13:34
    #39255213
прямые
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
S.G.прямыеЕсть массив точек (x,y) на плоскости описывающих некую кривую.
Какой простейший алгоритм разложения кривой на заданное количество прямых?
Чтобы среднее квадратичное отклонение всех точек кривой от прямых было минимальным.Выделенное сломало мне мозг.

Есть список точек, известен их порядок (какая после какой). Тогда, существует только один способ связать их отрезками. В чем же задача?
" на заданное количество прямых "
Конкретнее: есть 1000 последовательных точек на плоскости составляющих ломаную, надо разложить на 10 прямых.
...
Рейтинг: 0 / 0
13.06.2016, 13:51
    #39255217
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
1. Из набора отрезков найти смежную пару с наибольшим углом между ними.
2. Заменить эти два отрезка одним.
3. Повторять пока не останется заданное число отрезков.
...
Рейтинг: 0 / 0
13.06.2016, 14:13
    #39255223
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
Dimitry Sibiryakov,

а кто сказал что вершины новой ломаной должны быть подмножеством исходной или лежать на старой?
...
Рейтинг: 0 / 0
13.06.2016, 22:03
    #39255350
Карина67890
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
всем спасибо за ответы
...
Рейтинг: 0 / 0
13.06.2016, 22:22
    #39255355
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
Карина67890всем спасибо за ответы
чё за выхухоль?
...
Рейтинг: 0 / 0
14.06.2016, 00:53
    #39255392
прямые
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
Dimitry Sibiryakov1. Из набора отрезков найти смежную пару с наибольшим углом между ними.
2. Заменить эти два отрезка одним.
3. Повторять пока не останется заданное число отрезков.
Да, спасибо, хотя как правильно сказали и не обязательно новая ломаная должна иметь те же вершины, но как наиболее простой вариант пойдет.

Ещё есть такой же простой алгоритм, который изначально написан под заданное максимальное отклонение, но можно и изменить, чтобы
1. выбирал самый длинный перпендикуляр к каждой полученной прямой
2. разбивал этот отрезок на 2 прямые, проводя через самую дальнюю точку от этого перпендикуляра
3. повторял пока не останется заданное число отрезков.
Ramer–Douglas–Peucker algorithm

Так же нашел ещё эти 2 варианта:
1. Optimum polygonal approximation of digitized curves
2. Polygonal approximation of closed contours
...
Рейтинг: 0 / 0
14.06.2016, 11:19
    #39255537
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
Dimitry Sibiryakov1. Из набора отрезков найти смежную пару с наибольшим углом между ними.
2. Заменить эти два отрезка одним.
3. Повторять пока не останется заданное число отрезков.

И мы получим точное решение?
...
Рейтинг: 0 / 0
14.06.2016, 14:35
    #39255745
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
SashaMercuryИ мы получим точное решение?
Мы получим какое-то решение, удовлетворяющее условиям задачи. Будет ли оно оптимальным - мне неизвестно, тут математик нужен.
...
Рейтинг: 0 / 0
14.06.2016, 15:02
    #39255777
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
Dimitry SibiryakovSashaMercuryИ мы получим точное решение?
Мы получим какое-то решение, удовлетворяющее условиям задачи. Будет ли оно оптимальным - мне неизвестно, тут математик нужен.

По условию задачи решение должно быть оптимальным
...
Рейтинг: 0 / 0
14.06.2016, 16:08
    #39255843
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости?
Обычно когда форум не понимает задачу - я делаю рисунок или эскиз.

Но афтору(афторше) - лениво и поэтому - лениво и нам всем и мы ведем затяжную
философскую беседу на тему того как вообще можно мерять "среднее квадратичное
отклонение всех точек кривой от прямых"
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Какой простейший алгоритм разложения кривой на заданное количество прямых на плоскости? / 25 сообщений из 30, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]