Форум программистов, компьютерный форум, киберфорум
Наши страницы
Алгоритмы
Войти
Регистрация
Восстановить пароль
 
imerlin
4 / 4 / 0
Регистрация: 02.06.2014
Сообщений: 19
1

Определение пар точек в двух контурах

09.10.2019, 15:16. Просмотров 126. Ответов 3
Метки нет (Все метки)

Здравствуйте!
Не знаю как правильно называется моя задача и не смог сформулировать ее для поиска в гугле, поэтому прошу помощи здесь. Если данный вопрос был разобран (здесь или на других ресурсах) прошу ткнуть носом.
Задача: даны два контура в разных системах координат. Преобразования СК афинные, то есть это комбинация масштабирования, сдвига и поворота, но при этом на любом этапе преобразования возможно внесение некоторых ошибок (машинное округление, неверный ввод данных, ошибки при пересчете и т.д.).
Контуры заданы последовательностью точек. Начальная точка и направление обхода в общем случае могут не совпадать.
Как найти пары соответствующих точек в разных контурах?
Пока предполагаю как то определить нулевую точку, после чего найти углы векторов от начала координат до точек, отсортировать их и таким путем получить массива попарно совпадающих точек. Может кто подсказать правильное решение этой задачи?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2019, 15:16
Ответы с готовыми решениями:

Нахождение ближайших пар точек
Есть два списка точек. Каждая точка характеризуется широтой и долготой (для простоты можно взять x...

Определение координат точек
даже не знаю куда писать... такой тематики тут нету... ситуация... я рисую 3D-круговую...

Определение наименьшей суммы двух пар чисел
Помогите с программой. Программа должна испоьзовать процедуру которая получает через заголовок 4...

Ложное определение пересечения двух точек функцией root
у меня есть функция o(x) и функция y(x)=linterp(k,Ah,x) пересечение точек ,если поставить маркер...

Даны координаты N точек на плоскости. найти номера всех пар точек расстояние между которыми наибольшее
Даны координаты N точек на плоскости. найти номера всех пар точек расстояние между которыми...

3
woldemas
527 / 353 / 186
Регистрация: 06.09.2013
Сообщений: 1,052
Завершенные тесты: 1
09.10.2019, 18:16 2
Цитата Сообщение от imerlin Посмотреть сообщение
Как найти пары соответствующих точек в разных контурах?
Итеративная минимизация функции расстояния по параметрам трансформации.
ICP - iterative closest point.
0
Fulcrum_013
1878 / 1324 / 146
Регистрация: 14.12.2014
Сообщений: 11,474
Завершенные тесты: 3
09.10.2019, 18:27 3
imerlin, Контура выпуклые? Если невыпуклые строим выпуклые оболочки. Дальше действуем по теореме о минимальном охватывающем прямоугольнике. Для выпуклого контура он всегда лежит на самой длинной стороне. Соответственно выбираем за начальную точку одну из точек этой стороны. Какую именно - ну к примеру определять на основании угла/отношения длины с примыкающей стороной.
Единственное что стоит как то озаботится различением сторон с одинаковой длиной. Для правильного многоугольника к примеру работать вообще не будет. Так же как и для к примеру для параллелограмма всегда будет два равноценных варианта, какие критерии не выбери. Но для таких случаев как бы вообще ничего кроме предварительной нумерации точек не сработает.
0
Excalibur921
860 / 541 / 92
Регистрация: 12.10.2013
Сообщений: 3,712
10.10.2019, 18:50 4
Для каждого контура.
Центр масс точек контура даст центр.
Найти всем углы между отрезками
A(Центр масс) N(точка контура) и
A(Центр масс) B(Центр масс X+ 1).
Отсортировать по возрастанию угла.
Получим две ломанные, 2 массива углов.

Минимум одной неизвестной.
Найти такой угол сдвига угла одного массива чтобы сумма разностей между массивами была минимальна.
Локализация корня, перебор угла сдвига с шагом N радиан от 0 до 2 пи.
Уточнение корня например дихотомией.
0
10.10.2019, 18:50
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2019, 18:50

Не могу правильно переопределить операции инкремента и задать определение дистанции для двух точек в пространстве
Не могу понять почему после сложения sum = р1+р4, р1=р4. Есть вариант, что это происходит из-за...

На плоскости заданы своими координатами п точек. Составить программу, определяющую, между какими из пар точек самое большое расстояние
Помогите пожалуйста На плоскости заданы своими координатами п точек. Составить программу,...

Определение пар
Определить все пары номеров поставщиков, причём такие, что оба эти поставщика поставляют в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.