Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

transformPointsInverse

Aplicar transformación geométrica inversa

Descripción

ejemplo

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

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

U = transformPointsInverse(tform,X) aplica la transformación inversa de la matriz de coordenadas de entrada y devuelve la matriz de coordenadas. mapea el punto th ( ,:) hasta el punto ( ,:).tformXUtransformPointsInversekXkUk

Ejemplos

contraer todo

Cree un objeto que defina la transformación.affine2d

theta = 10;  tform = affine2d([cosd(theta) -sind(theta) 0; sind(theta) cosd(theta) 0; 0 0 1])
tform =     affine2d with properties:                   T: [3x3 double]     Dimensionality: 2

Aplique la transformación hacia delante de la transformación geométrica 2D a un punto de entrada.

[X,Y] = transformPointsForward(tform,5,10)
X =      6.6605   Y =      8.9798

Aplique la transformación inversa de la transformación geométrica 2D al punto de salida del paso anterior para recuperar las coordenadas originales.

[U,V] = transformPointsInverse(tform,X,Y)
U =      5.0000   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 -coordenada de cada punto está en la primera columna y la coordenada -de cada punto está en la segunda columna.xy

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

Defina la función de asignació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, que almacene la función de asignación inversa.tform

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

Cree un objeto que defina la transformación.affine3d

tform = affine3d([3 1 2 0;4 5 8 0;6 2 1 0;0 0 0 1])
tform =     affine3d with properties:                   T: [4×4 double]     Dimensionality: 3

Aplique la transformación hacia delante de la transformación geométrica 3D a un punto de entrada.

[X,Y,Z] = transformPointsForward(tform,2,3,5)
X =      48   Y =      27   Z =      33

Aplique la transformación inversa de la transformación geométrica 3D al punto de salida del paso anterior para recuperar las coordenadas originales.

[U,V,W] = transformPointsInverse(tform,X,Y,Z)
U =      2.0000   V =       3   W =      5.0000

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

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

Defina una función de asignación inversa que acepte y devuelva puntos en formato empaquetado ( , , ).xyz

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

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

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.

Para transformaciones geométricas 2D, es un objeto de transformación, , , , , o geométrico.tformaffine2dprojective2dgeometricTransform2dLocalWeightedMeanTransformation2DPiecewiseLinearTransformation2DPolynomialTransformation2D

Para transformaciones geométricas 3D, es un objeto o objeto de transformación geométrica.tformaffine3dgeometricTransform3d

-coordenadas de los puntos a transformar, especificados como una matriz numérica -por- o -por--por-.xmnmnp El número de dimensiones de las coincidencias de la dimensionalidad de .xtform

Tipos de datos: single | double

-coordenadas de los puntos a transformar, especificados como una matriz numérica -por- o -por--por-.ymnmnp El tamaño de debe coincidir con el tamaño de .yx

Tipos de datos: single | double

-coordenadas de los puntos a transformar, especificados como una matriz numérica -por- -por-. se utiliza sólo cuando es una transformación geométrica 3D.zmnpztform El tamaño de debe coincidir con el tamaño de .zx

Tipos de datos: single | double

Coordenadas de los puntos que se van a transformar, especificadas como una matriz numérica -por- o -por-.l2l3 El número de columnas de coincide con la dimensionalidad de .Xtform

La primera columna enumera la coordenada de cada punto que se va a transformar y la segunda columna enumera la coordenada.xy Si representa una transformación geométrica 3D, tiene el tamaño -por- y la tercera columna enumera la coordenada de los puntos que se va a transformar.tformXl3z

Tipos de datos: single | double

Argumentos de salida

contraer todo

-coordenadas de puntos después de la transformación, devueltas como una matriz numérica -by- o -by- -by-.xmnmnp El número de dimensiones de las coincidencias de la dimensionalidad de .utform

Tipos de datos: single | double

-coordenadas de puntos después de la transformación, devueltas como una matriz numérica -by- o -by- -by-.ymnmnp El tamaño de coincide con el tamaño de .vu

Tipos de datos: single | double

-coordenadas de puntos después de la transformación, devueltas como una matriz numérica -by- -by-.zmnp El tamaño de coincide con el tamaño de .wu

Tipos de datos: single | double

Coordenadas de puntos después de la transformación, devueltas como una matriz numérica. El tamaño de coincide con el tamaño de .UX

La primera columna enumera la coordenada de cada punto después de la transformación y la segunda columna enumera la coordenada.xy Si representa una transformación geométrica 3D, la tercera columna muestra la coordenada de los puntos después de la transformación.tformz

Tipos de datos: single | double

Consulte también

|

Introducido en R2013a