Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/50: Рейтинг темы: голосов - 50, средняя оценка - 4.60
21 / 21 / 3
Регистрация: 11.07.2010
Сообщений: 63

Матрица расстояний -> координаты на плоскости

12.02.2011, 18:53. Показов 11210. Ответов 43
Метки нет (Все метки)

Здравствуйте.

Имея координаты на плоскости мы с легкостью можем построить матрицу расстояний между всеми координатами.

Но как сделать обратное(с матрицы расстояний получить координаты на плоскости)? Что-то ничего в голову не приходит.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2011, 18:53
Ответы с готовыми решениями:

Даны координаты трёх точек на плоскости, найти сумму расстояний между этими точками с помощью процедуры
Даны координаты трёх точек на плоскости, найти сумму расстояний между этими точками с помощью процедуры.

Вести Координаты двух точек на плоскости и определить координаты середины отрывка соединяющих их
Пожалуйста помогите написать программу , ;)

Блок -схема. Определить сумму расстояний от точек до плоскости
Определить сумму расстояний от точек М(х1,у1,z1) и И=(х2,у2,z2) до плоскости Ax+By+Cz+D=0, i=1,2

43
35 / 35 / 4
Регистрация: 28.11.2012
Сообщений: 164
09.04.2014, 18:37
Я полагаю что вы уже посмотрели в вики что такое многомерное шкалирование.
Итак имеем несколько точек допустим 5 в 6-мерном пространстве(n-мерного пространства).
Между каждыми парами точек можно найти расстояние. Находим расстояние и записываем в матрицу расстояний.
Далее создадим случайно 5 точек в двумерном пространстве(каждая из этих точек будет представлять те точки из 6-мерного пространства). Находи для них матрицу расстояний.

Итак имеем две матрицы. Одна показывающая реальное положение вещей, а другая случайная.
Наша цель добиться того чтобы расстояния между точками во второй матрице были такие же или приблизительно такие же как в первой. Если мы этого добьемся и нанесем точки из второй матрицы на плоскость то увидим отношение расстояний между точками 6-мерного пространства.

Теперь нужно найти способ найти то насколько вторая матрицы отличается от первой(размер ошибки).
В самом простом случае можно взять разность соответствующих ячеек(расстояний) возвести в квадрат, тоже самое сделать с остальными ячейками и затем сложить(первая формула так называемая абсолютная ошибка). Чем меньше это число тем меньше разница.

Первая формула так называемая абсолютная ошибка
Вторая относительная ошибка
Третья что то среднее между абсолютной и относительной (формула Сэммона)

Итак теперь нужно минимизировать эту ошибку, для этого используется метод градиентного спуска.
Проблема только в том что он не гарантирует лучшее решение так как может застрять в локальном минимуме.


В Вашем случае первой матрицей будет Ваша матрица расстояний, а дальше как описано.
Миниатюры
Матрица расстояний -> координаты на плоскости  
1
35 / 35 / 4
Регистрация: 28.11.2012
Сообщений: 164
09.04.2014, 18:38
Можно поинтересоватся для каких целий нужно было решать эту задачу?
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
09.04.2014, 18:47
boberjajtsegolo, спасибо за описание. Этот метод, как я понял, является приближённым. Моя склонность всегда была к точным методам, мой метод как раз таки является аналитическим.
Цитата Сообщение от boberjajtsegolo Посмотреть сообщение
Проблема только в том что он не гарантирует лучшее решение так как может застрять в локальном минимуме
Плавали, знаем))
Цитата Сообщение от boberjajtsegolo Посмотреть сообщение
Можно поинтересоватся для каких целий нужно было решать эту задачу?
Я решал чисто из спортивного интереса. А вот для чего это нужно было ТС, мы, скорее всего, никогда не узнаем:
nicolaus2
.....
Дополнительная информация
Последняя активность: 21.03.2013 17:28
0
0 / 0 / 0
Регистрация: 03.07.2012
Сообщений: 32
10.06.2015, 09:53
Скорее всего это для решения задачи коммивояжера.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.06.2015, 09:53

В файле записано количество точек на плоскости и их координаты.Поместить эти координаты в двумерный динамический массив
В файле записано количество точек на плоскости и их координаты. Поместить эти координаты в двумерный динамический массив. Найти две точки,...

Заданно N точек на плоскости. Построить матрицу расстояний между всеми точками
На плоскости заданы n точек своими координатами. Построить матрицу расстояний между всеми точками. Найти равноудаленные точки, если такие...

Построить матрицу расстояний по матрице смежности графа
Доброго времени суток! Помогите пожалуйста! Пытаюсь написать программу, которая находила бы матрицу расстояний по матрице смежности....

Найти точку на плоскости, сумма расстояний от которой до остальных точек множества максимальна
Друзья, мне вновь необходима любая ваша помощь по теме) Задача такова: решить задачу, с помощью структуру для хранения координат точки,...

Заданы координаты трех точек. Подсчитать сумму их расстояний до начала координат
заданы координаты трех точек. Подсчитать сумму их расстояний до начала координат. Использовать подпрограмму функции.


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

Или воспользуйтесь поиском по форуму:
44
Ответ Создать тему
Новые блоги и статьи
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool Worker Pool — паттерн конкурентной обработки задач в Go. Суть: фиксированное количество горутин-воркеров читают задачи из общего канала и пишут результаты в общий канал результатов. . . .
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru