Contenido principal

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

dist

Calcular la distancia entre transformaciones.

Desde R2022b

    Descripción

    distance = dist(transformation1,transformation2) devuelve la distancia distance entre las poses representadas por la transformación transformation1 y la transformación transformation2.

    Para los objetos de transformación homogéneos se2 y se3, la función dist calcula la distancia traslacional y rotacional de forma independiente y las combina en una suma ponderada. La distancia traslacional es la distancia euclidiana y la distancia rotacional es la diferencia angular entre los cuaterniones de rotación de transformation1 y transformation2.

    distance = dist(transformation1,transformation2,weights) especifica los pesos weights para las distancias traslacionales y rotacionales para calcular la suma ponderada de dos transformaciones homogéneas.

    distance = dist(rotation1,rotation2) devuelve la distancia distance entre las poses representadas por la transformación rotation1 y la transformación rotation2.

    Para los objetos de transformación homogéneos se2 y se3, la función dist calcula la distancia traslacional y rotacional de forma independiente y las combina en una suma ponderada. La distancia traslacional es la distancia euclidiana y la distancia rotacional es la diferencia angular entre los cuaterniones de rotación de rotation1 y rotation2.

    Para los objetos de rotación so2 y so3, la función dist calcula la distancia de rotación como la diferencia angular entre los cuaterniones de rotación de rotation1 y rotation2.

    Argumentos de entrada

    contraer todo

    Primera transformación, especificada como un objeto escalar se2, un objeto escalar se3 o como un arreglo de objetos de transformación de N elementos, donde N es el número total de transformaciones. Si especifica transformation1 como un arreglo, cada elemento debe ser del mismo tipo.

    transformation1 o transformation2 deben ser un objeto de transformación escalar del mismo tipo. Por ejemplo, si transformation1 es una matriz de objetos se2, transformation2 debe ser un objeto escalar se2.

    Última transformación, especificada como un objeto escalar se2, un objeto escalar se3 o como una matriz de objetos de transformación de elementos N, donde N es el número total de transformaciones. Si especifica transformation2 como un arreglo, cada elemento debe ser del mismo tipo.

    transformation1 o transformation2 deben ser un objeto de transformación escalar del mismo tipo. Por ejemplo, si transformation1 es una matriz de objetos se2, transformation2 debe ser un objeto escalar se2.

    Primera rotación, especificada como un objeto escalar so2, un objeto escalar so3 o como un arreglo de objetos de rotación de N elementos, donde N es el número total de rotaciones. Si especifica rotation1 como un arreglo, cada elemento debe ser del mismo tipo.

    rotation1 o rotation2 deben ser un objeto de rotación escalar del mismo tipo. Por ejemplo, si rotation1 es una matriz de objetos so2, rotation2 debe ser un objeto escalar so2.

    Última rotación, especificada como un objeto escalar so2, un objeto escalar so3 o como un arreglo de objetos de rotación de N elementos, donde N es el número total de rotaciones. Si especifica rotation2 como un arreglo, cada elemento debe ser del mismo tipo.

    rotation1 o rotation2 deben ser un objeto de rotación escalar del mismo tipo. Por ejemplo, si rotation1 es una matriz de objetos se2, rotation2 debe ser un objeto escalar se2.

    Pesos de la traslación y la rotación en la suma de distancias, especificados como un vector fila de dos elementos en la forma [WeightXYZ WeightQ]. WeightXYZ es el peso de la traslación y WeightQ es el peso de la rotación. Ambos pesos deben ser valores numéricos no negativos.

    Tipos de datos: single | double

    Argumentos de salida

    contraer todo

    Distancia entre transformaciones, devuelta como un escalar numérico no negativo. El cálculo de la distancia cambia según el tipo de objeto de transformación de transformation1 y transformation2 o rotation1 y rotation2:

    • se2 y se3 — La función dist calcula la distancia traslacional y rotacional de forma independiente y las combina en una suma ponderada especificada por el argumento weights. La distancia de traslación es la distancia euclidiana entre transformation1 y transformation2. La distancia de rotación es la diferencia angular entre las rotaciones de transformation1 y transformation2.

    • so2 y so3 — La función dist calcula la distancia de rotación como la diferencia angular entre las rotaciones de rotation1 y rotation2.

    Para calcular la distancia de rotación, la función dist convierte la matriz de rotación de transformation1 y transformation2 o rotation1 y rotation2 en objetos quaternion y utiliza la función quaternion dist para calcular la distancia angular.

    Historial de versiones

    Introducido en R2022b

    Consulte también

    Funciones

    Objetos