exponenta event banner

turningdist

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

Описание

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

TD (i, j) - расстояние поворота между i-мpolyshape в poly1 и j-й 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

Figure contains an axes. The axes contains 2 objects of type polygon.

Поскольку два квадрата имеют одинаковую форму, несмотря на их масштабирование, их расстояние поворота равно 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

Figure contains an axes. The axes contains 2 objects of type polygon.

td = turningdist(poly1,poly3)
td = 0.4443

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

свернуть все

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

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

polyshape вектор.

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

свернуть все

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

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

  • При вводе одного polyshape вектор длиной N, затем td N-by-N.

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

Ссылки

[1] Аркин, Э.М., Чью, Л.П., Хаттенлохер, Д.П., Кедем, К. и Митчелл, J.S.B. «Эффективно вычисляемая метрика для сравнения многоугольных фигур». Транзакции IEEE по анализу шаблонов и машинному интеллекту. Том 13, номер 3, 1991, стр. 209-16. дои: 10.1109/34.75509.

См. также

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