Main Content

rigid2d

(No recomendado) Transformación geométrica rígida 2D mediante la convención de la posmultiplicación

Desde R2020b

No se recomienda el uso de rigid2d. Utilice el objeto rigidtform2d en su lugar. Para obtener más información, consulte Historial de versiones.

Descripción

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

Creación

Descripción

tform = rigid2d crea un objeto rigid2d predeterminado que se corresponde con una transformación identidad.

tform = rigid2d(t) establece la propiedad T como la matriz de transformación rígida 2D especificada t.

tform = rigid2d(rot,trans) establece las propiedades Rotation y Translation como la matriz de rotación especificada rot y el vector de traslación trans, respectivamente.

ejemplo

Propiedades

expandir todo

Transformación rígida directa, especificada como matriz numérica de 3 por 3. La matriz T satisface la convención de la posmultiplicación que da:

[x y 1] = [u v 1] * Rotation + Translation

Tipos de datos: single | double

Componente de rotación de la transformación, especificado como matriz numérica de 2 por 2.

Tipos de datos: single | double

Componente de traslación de la transformación, especificado como vector fila numérico de 2 elementos.

Tipos de datos: single | double

Esta propiedad o parámetro es de solo lectura.

Dimensionalidad de transformación geométrica, especificada como el número 2.

Funciones del objeto

invertInvertir la transformación geométrica
isTranslationDetermine if geometric transformation is pure translation
outputLimitsFind output spatial limits given input spatial limits
transformPointsForwardAplicar transformación geométrica directa
transformPointsInverseApply inverse geometric transformation

Ejemplos

contraer todo

Especifique un ángulo de rotación en grados y cree una matriz de rotación de 2 por 2.

theta = 30;
rot = [ cosd(theta) sind(theta); ...
       -sind(theta) cosd(theta)];

Especifique la cantidad de traslación horizontal y vertical respectivamente.

trans = [2 3];

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

tform = rigid2d(rot,trans)
tform = 
  rigid2d with properties:

       Rotation: [2x2 double]
    Translation: [2 3]

Capacidades ampliadas

Historial de versiones

Introducido en R2020b

contraer todo

R2022b: No recomendado

A partir de la versión R2022b, la mayoría de funciones de Image Processing Toolbox™ crean y realizan transformaciones geométricas utilizando la convención de la premultiplicación. Por lo tanto, no se recomienda el objeto rigid2d porque utiliza la convención de la posmultiplicación. Aunque no está previsto eliminar el objeto rigid2d por el momento, puede simplificar sus flujos de transformación geométrica cambiando al objeto rigidtform2d, que es compatible con la convención de la premultiplicación. Para obtener más información, consulte Migrate Geometric Transformations to Premultiply Convention.

Para actualizar su código:

  • Cambie las instancias del nombre de la función rigid2d a rigidtform2d.

  • Especifique la matriz de transformación como la traspuesta de la matriz T o Rotation. T es o bien el valor de la propiedad T del objeto rigid2d o bien la matriz de transformación usada para crear el objeto rigid2d. Rotation es o bien el valor de la propiedad Rotation del objeto rigid2d o bien la matriz de rotación usada para crear el objeto rigid2d.

Uso no recomendadoReemplazo recomendado

Este ejemplo crea un objeto rigid2d a partir de la matriz de transformación T en la convención de la posmultiplicación.

T = [1 0 0; 0 1 0; 5 10 1];
tformPost = rigid2d(T);

Este ejemplo crea un objeto rigidtform2d a partir de la traspuesta de la matriz de transformación T.

T = [1 0 0; 0 1 0; 5 10 1];
tform = rigidtform2d(T');

Este ejemplo empieza con un objeto rigid2d llamado tformPost y crea un objeto rigidtform2d a partir de la traspuesta de la propiedad T de tformPost.

T = tformPost.T;
tform = rigidtform2d(T');

Este ejemplo crea un objeto rigid2d a partir de una matriz de rotación rot en la convención de la posmultiplicación y una traslación trans.

theta = 45;
rot = [cosd(theta) sind(theta); -sind(theta) cosd(theta)];
trans = [5 10];
tformPost = rigid2d(rot,trans);

Este ejemplo crea un objeto rigidtform2d a partir de la traspuesta de la matriz de rotación rot y una traslación trans.

theta = 45;
rot = [cosd(theta) sind(theta); -sind(theta) cosd(theta)];
trans = [5 10];
tform = rigidtform2d(rot',trans);

Puede simplificar el código especificando el ángulo de rotación directamente.

tform = rigidtform2d(theta,trans);