turningdist

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

Синтаксис

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

Описание

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

TD(i,j) является поворачивающимся расстоянием между i th polyshape в poly1 и j th 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-by-N или N-by-M в зависимости от ориентации каждого входного вектора. Для получения дополнительной информации о совместимых размерах массивов смотрите Совместимые Размеры Массивов для Основных Операций.

  • Если вы вводите один вектор polyshape с длиной N, то td является N-by-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