Contenido principal

transformPointsInverse

Aplicar la transformación geométrica inversa

Descripción

[u,v] = transformPointsInverse(tform,x,y) aplica la transformación inversa de la transformación geométrica 2D tform a los puntos especificados por las coordenadas x e y.

ejemplo

[u,v,w] = transformPointsInverse(tform,x,y,z) aplica la transformación inversa de la transformación geométrica 3D tform a los puntos especificados por las coordenadas x, y y z.

U = transformPointsInverse(tform,X) aplica la transformación inversa de tform a la matriz de coordenadas de entrada X y devuelve la matriz de coordenadas U. transformPointsInverse asigna el k-ésimo punto X(k,:) al punto U(k,:).

Ejemplos

contraer todo

Defina una matriz de transformación geométrica de 3 por 3. Este ejemplo especifica una matriz correspondiente a una transformación afín que consiste en el corte vertical y el estiramiento horizontal.

A = [1.5 0 0; 0.8 1 0; 0 0 1];

Cree un objeto affinetform2d a partir de la matriz de transformación.

tform = affinetform2d(A);

Aplique la transformación geométrica inversa a un punto.

x = 7.5;
y = 14;
[u,v] = transformPointsInverse(tform,x,y)
u = 
5
v = 
10

Especifique las coordenadas empaquetadas (x,y) de cinco puntos de entrada. Las coordenadas empaquetadas se almacenan en una matriz de 5 por 2, donde la coordenada x de cada punto está en la primera columna, y la coordenada y de cada punto está en la segunda columna.

XY = [10 15;11 32;15 34;2 7;2 10];

Defina la función de aplicación inversa. La función acepta y devuelve puntos en formato empaquetado (x,y).

inversefn = @(c) [c(:,1)+c(:,2),c(:,1)-c(:,2)]
inversefn = function_handle with value:
    @(c)[c(:,1)+c(:,2),c(:,1)-c(:,2)]

Cree un objeto de transformación geométrica 2D, tform, que almacene la función de aplicación inversa.

tform = geometricTransform2d(inversefn)
tform = 
  geometricTransform2d with properties:

        InverseFcn: @(c)[c(:,1)+c(:,2),c(:,1)-c(:,2)]
        ForwardFcn: []
    Dimensionality: 2

Aplique la transformación geométrica inversa a los puntos de entrada.

UV = transformPointsInverse(tform,XY)
UV = 5×2

    25    -5
    43   -21
    49   -19
     9    -5
    12    -8

Defina una transformación geométrica rígida que conste únicamente de traslación.

t = [10 20.5 15];
tform = transltform3d(t);

Aplique la transformación geométrica directa a un punto de entrada.

x = 11;
y = 21.5;
z = 16.01;
[u,v,w] = transformPointsInverse(tform,x,y,z)
u = 
1
v = 
1
w = 
1.0100

Especifique las coordenadas empaquetadas (x,y,z) de cinco puntos de entrada. Las coordenadas empaquetadas se almacenan como una matriz de 5 por 3, donde la primera, la segunda y la tercera columnas contienen las coordenadas x, y y z, respectivamente.

XYZ = [5 25 20;10 5 25;15 10 5;20 15 10;25 20 15];

Defina una función de aplicación inversa que acepte y devuelva puntos en formato empaquetado (x,y,z).

inverseFcn = @(c) [c(:,1)+c(:,2),c(:,1)-c(:,2),c(:,3).^2];

Cree un objeto de transformación geométrica 3D, tform, que almacene esta función de aplicación inversa.

tform = geometricTransform3d(inverseFcn)
tform = 
  geometricTransform3d with properties:

        InverseFcn: @(c)[c(:,1)+c(:,2),c(:,1)-c(:,2),c(:,3).^2]
        ForwardFcn: []
    Dimensionality: 3

Aplique la transformación inversa de esta transformación geométrica 3D a los puntos de entrada.

UVW = transformPointsInverse(tform,XYZ)
UVW = 5×3

    30   -20   400
    15     5   625
    25     5    25
    35     5   100
    45     5   225

Argumentos de entrada

contraer todo

Transformación geométrica, especificada como un objeto de transformación geométrica que aparece en la tabla.

Objeto de transformación geométricaDescripción
Transformaciones geométricas lineales 2D
transltform2dTransformación de traslación
rigidtform2dTransformación rígida: traslación y rotación
simtform2dTransformación de similitud: traslación, rotación y escalado isotrópico
affinetform2dTransformación afín: traslación, rotación, escalado anisotrópico, reflexión y cizallado
projtform2dTransformación proyectiva
Transformaciones geométricas lineales 3D
transltform3dTransformación de traslación
rigidtform3dTransformación rígida: traslación y rotación
simtform3dTransformación de similitud: traslación, rotación y escalado isotrópico
affinetform3dTransformación afín: traslación, rotación, escalado anisotrópico, reflexión y cizallado
Transformaciones geométricas no lineales
geometricTransform2dTransformación geométrica 2D personalizada usando funciones de asignación por puntos
geometricTransform3dTransformación geométrica 3D personalizada usando funciones de asignación por puntos
LocalWeightedMeanTransformation2DTransformación 2D de las medias ponderadas locales
PiecewiseLinearTransformation2DTransformación lineal por partes 2D
PolynomialTransformation2DTransformación polinómica 2D

Nota

También puede especificar tform como un objeto de tipo rigid2d, rigid3d, affine2d, affine3d o projective2d. No obstante, estos objetos no están recomendados. Para obtener más información, consulte Historial de versiones.

Coordenadas x de puntos que desea transformar, especificadas como arreglo numérico de m por n o m por n por p. El número de dimensiones de x coincide con la dimensionalidad de tform.

Tipos de datos: single | double

Coordenadas y de puntos que desea transformar, especificadas como arreglo numérico de m por n o m por n por p. El tamaño de y debe coincidir con el tamaño de x.

Tipos de datos: single | double

Coordenadas z de puntos que desea transformar, especificadas como arreglo numérico de m por n por p. z se usa solo cuando tform es una transformación geométrica 3D. El tamaño de z debe coincidir con el tamaño de x.

Tipos de datos: single | double

Coordenadas de puntos que desea transformar, especificadas como arreglo numérico de l por 2 o l por 3. El número de columnas de X coincide con la dimensionalidad de tform.

La primera columna incluye la coordenada x de cada punto que desea transformar y la segunda columna, la coordenada y. Si tform representa una transformación geométrica 3D, X tiene un tamaño de l por 3 y la tercera columna incluye la coordenada z de los puntos que desea transformar.

Tipos de datos: single | double

Argumentos de salida

contraer todo

Coordenadas x de puntos después de la transformación, devueltas como arreglo numérico de m por n o m por n por p. El número de dimensiones de u coincide con la dimensionalidad de tform.

Tipos de datos: single | double

Coordenadas y de puntos después de la transformación, devueltas como arreglo numérico de m por n o m por n por p. El tamaño de v coincide con el tamaño de u.

Tipos de datos: single | double

Coordenadas z de puntos después de la transformación, devueltas como arreglo numérico de m por n por p. El tamaño de w coincide con el tamaño de u.

Tipos de datos: single | double

Coordenadas de puntos después de la transformación, devueltas como arreglo numérico. El tamaño de U coincide con el tamaño de X.

La primera columna incluye la coordenada x de cada punto después de la transformación y la segunda columna, la coordenada y. Si tform representa una transformación geométrica 3D, la tercera columna incluye la coordenada z de los puntos después de la transformación.

Tipos de datos: single | double

Historial de versiones

Introducido en R2013a

expandir todo

Consulte también

|