turningdist

Вычислите превращение расстояния между объектами polyshape

Синтаксис

td = turningdist(poly1,poly2)
td = turningdist(polyvec)

Описание

td = turningdist(poly1,poly2) возвращает массив превращения расстояний между соответствующими парами элемента двух массивов polyshape с совместимыми размерами. Поворачивающееся расстояние между двумя объектами polyshape является мерой как тесно их соответствие форм, независимо от вращения или масштабирования. Поворачивающееся расстояние близко к 0 указывает на близкое соответствие. Чем больше значение, тем больше две формы отличаются.

TD (i, j) является поворачивающимся расстоянием между ith polyshape в poly1 и jth polyshape в poly2.

пример

td = turningdist(polyvec) возвращает матрицу превращения расстояний между парами элемента вектора объектов polyshape.

Примеры

свернуть все

Создайте и постройте график двух квадратов различных размеров и местоположений, представленных, когда polyshape возражает poly1 и poly2.

poly1 = nsidedpoly(4,'SideLength',1);
poly2 = nsidedpoly(4,'SideLength',3,'Center',[3 3]);
plot(poly1)
hold on 
plot(poly2)
axis equal
hold off

Поскольку эти два квадрата имеют ту же форму несмотря на свое масштабирование, их превращение расстояния 0.

td = turningdist(poly1,poly2)
td = 0

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

poly3 = nsidedpoly(20,'Center',[3 3]);
plot(poly1)
hold on
plot(poly3)
axis equal
hold off

td = turningdist(poly1,poly3)
td = 0.4443

Входные параметры

свернуть все

Сначала введите polyshape, заданный как скаляр, вектор, матрица или многомерный массив.

Второй входной параметр polyshape, заданный как скаляр, вектор, матрица или многомерный массив.

Вектор polyshape.

Выходные аргументы

свернуть все

Превращение расстояния, возвращенного как скаляр, вектор, матрица или многомерный массив, элементы которого больше, чем или равны 0.

  • Если вы вводите два аргумента polyshape, то у них должны быть совместимые размеры. Например, если два входных параметра, векторы polyshape имеют различные длины M и N, то у них должны быть различные ориентации (нужно быть вектором - строкой и нужно быть вектором - столбцом). td является затем M на n или N-by-M в зависимости от ориентации каждого входного вектора. Для получения дополнительной информации о совместимых размерах массивов смотрите Совместимые Размеры Массивов для Основных Операций.

  • Если вы вводите единственный вектор polyshape с длиной N, то td N на n.

Типы данных: double

Ссылки

[1] Arkin, E.M., Жуют, L.P., Huttenlocher, D.P., Kedem, K. и Митчелл, J.S.B. "Эффективно вычислимая метрика для сравнения многоугольных форм". Транзакции IEEE согласно Анализу Шаблона и Искусственному интеллекту. Издание 13, Номер 3, 1991, стр 209-16. doi:10.1109/34.75509.

Смотрите также

Представленный в R2018a

Была ли эта тема полезной?