Contenido principal

rigidtform2d

Transformación geométrica rígida 2D

Desde R2022b. Recomendado en lugar de rigid2d.

    Descripción

    Un objeto rigidtform2d almacena información sobre una transformación rígida 2D y permite las transformaciones directas e inversas.

    Creación

    Descripción

    tform = rigidtform2d crea un objeto rigidtform2d que realiza una transformación identidad.

    tform = rigidtform2d(t) crea un objeto rigidtform2d que realiza una transformación rígida que consiste únicamente en traslación en la cantidad especificada t.

    Si desea una transformación que solo realice una traslación 2D, considere utilizar el objeto transltform2d.

    tform = rigidtform2d(rotAngle,t) crea un objeto rigidtform2d que realiza una transformación rígida basada en el ángulo de rotación especificado con respecto al origen rotAngle y la cantidad de traslación t.

    ejemplo

    tform = rigidtform2d(rotMat,t) crea un objeto rigidtform2d que realiza una transformación rígida basada en la matriz de rotación rotMat especificada y la cantidad de traslación t.

    tform = rigidtform2d(rigidMat) crea un objeto rigidtform2d a partir de una matriz de transformación rígida 2D especificada, rigidMat.

    tform = rigidtform2d(tformIn) crea un objeto rigidtform2d a partir de otro objeto de transformación geométrica, tformIn, que representa una transformación geométrica rígida 2D válida.

    Argumentos de entrada

    expandir todo

    Cantidad de traslación, especificada como vector numérico de 2 elementos de la forma [tx ty]. Estas cantidades de traslación corresponden a los valores tx y ty de la matriz de transformación rígida definida por A.

    Este argumento establece la propiedad Translation.

    Tipos de datos: double | single

    Ángulo de rotación sobre el origen, en grados, especificado como un escalar numérico. El ángulo de rotación corresponde al valor r de la matriz de transformación definida por la propiedad A y de la matriz de rotación definida por la propiedad R.

    Este argumento establece la propiedad RotationAngle.

    Tipos de datos: double | single

    Matriz de rotación, especificada como matriz numérica de 2 por 2. La matriz debe tener la siguiente forma:

     rotMat = [cosd(r) -sind(r); sind(r)  cosd(r)]
    donde r es el valor del ángulo de rotación sobre el origen.

    Este argumento establece la propiedad R.

    Transformación rígida 2D directa, especificada como matriz numérica de 3 por 3. También puede especificar rigidMat como una matriz numérica de 2 por 3. En este caso, el objeto concatena el vector fila [0 0 1] al final de la matriz, formando una matriz de 3 por 3.

    En una transformación rígida 2D válida, A tiene la forma:

    Α=[cosd(r)sind(r)txsind(r)cosd(r)ty001]

    r es el ángulo de rotación y establece la propiedad RotationAngle. tx y ty son la cantidad de traslación en las direcciones x e y, respectivamente, y establecen la propiedad Translation.

    Este argumento establece la propiedad A.

    Tipos de datos: double | single

    Transformación geométrica rígida 2D, especificada como objeto affinetform2d, rigidtform2d, simtform2d, transltform2d o projtform2d.

    Argumentos de salida

    expandir todo

    Transformación geométrica rígida 2D, devuelta como objeto rigidtform2d.

    Propiedades

    expandir todo

    Transformación rígida 2D directa, especificada como matriz numérica de 3 por 3. El valor predeterminado de A es la matriz identidad.

    La matriz A transforma el punto (u, v) del espacio de coordenadas de entrada en el punto (x, y) del espacio de coordenadas de salida utilizando la convención:

    [xy1]=Α×[uv1]

    En una transformación rígida, A tiene la forma:

    Α=[cosd(r)sind(r)txsind(r)cosd(r)ty001]

    donde r es el ángulo de rotación y corresponde a la propiedad RotationAngle. tx y ty son la cantidad de traslación en las direcciones x- e y-, respectivamente, y corresponden a la propiedad Translation.

    Tipos de datos: double | single

    Matriz de rotación, especificada como matriz numérica de 2 por 2. La matriz debe tener la siguiente forma:

     R = [cosd(r) -sind(r); sind(r)  cosd(r)]
    donde r es el valor de la propiedad RotationAngle.

    Ángulo de rotación sobre el origen, en grados, especificado como un escalar numérico. El ángulo de rotación corresponde al valor r de la matriz de transformación definida por A y de la matriz de rotación definida por R.

    Tipos de datos: double | single

    Cantidad de traslación, especificada como vector numérico de 2 elementos de la forma [tx ty]. Estas cantidades de traslación corresponden a los valores tx y ty de la matriz de transformación rígida definida por A.

    Tipos de datos: double | single

    Esta propiedad o parámetro es de solo lectura.

    Dimensionalidad de la transformación geométrica tanto para puntos de entrada como de salida, devuelta como el valor 2.

    Tipos de datos: double

    Funciones del objeto

    invertInvertir la transformación geométrica
    outputLimitsEncontrar los límites espaciales de salida dados los límites espaciales de entrada
    transformPointsForwardAplicar transformación geométrica directa
    transformPointsInverseAplicar la transformación geométrica inversa

    Ejemplos

    contraer todo

    Especifique un ángulo de rotación y una cantidad de traslación.

    theta = 30;
    translation = [10 20.5];

    Cree un objeto rigidtform2d que realice la rotación y traslación especificadas.

    tform = rigidtform2d(theta,translation)
    tform = 
      rigidtform2d with properties:
    
        Dimensionality: 2
         RotationAngle: 30
           Translation: [10 20.5000]
                     R: [2×2 double]
    
                     A: [0.8660   -0.5000   10.0000
                         0.5000    0.8660   20.5000
                              0         0    1.0000]
    
    

    Examine el valor de la propiedad A.

    tform.A
    ans = 3×3
    
        0.8660   -0.5000   10.0000
        0.5000    0.8660   20.5000
             0         0    1.0000
    
    

    Capacidades ampliadas

    expandir todo

    Historial de versiones

    Introducido en R2022b

    expandir todo