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.

transformPointsForward

Aplicar la transformación geométrica hacia adelante

Descripción

ejemplo

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

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

X = transformPointsForward(tform,U) aplica la transformación hacia delante de la matriz de coordenadas de entrada y devuelve la matriz de coordenadas. asigna el punto ( , ) al punto ( , ).tformUXtransformPointsForwardkUk:Xk:

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 geométrica hacia delante a un punto de entrada ( , ).uv

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

Especifique los vectores de coordenadas x e y de cinco puntos para transformar.

x = [10 11 15 2 2]; y = [15 32 34 7 10];

Defina las funciones de asignación inversa y directa. Ambas funciones aceptan y devuelven puntos en formato empaquetado (x,y).

inversefn = @(c) [c(:,1).^2,sqrt(c(:,2))]; forwardfn = @(c) [sqrt(c(:,1)),c(:,2).^2];

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

tform = geometricTransform2d(inversefn,forwardfn)
tform =    geometricTransform2d with properties:          InverseFcn: @(c)[c(:,1).^2,sqrt(c(:,2))]         ForwardFcn: @(c)[sqrt(c(:,1)),c(:,2).^2]     Dimensionality: 2  

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

[u,v] = transformPointsInverse(tform,x,y)
u = 1×5

   100   121   225     4     4

v = 1×5

    3.8730    5.6569    5.8310    2.6458    3.1623

Aplique la transformación geométrica hacia delante a los puntos transformados y .uv

[x,y] = transformPointsForward(tform,u,v)
x = 1×5

    10    11    15     2     2

y = 1×5

   15.0000   32.0000   34.0000    7.0000   10.0000

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 ( , , ).uvw

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

Especifique los -, - y los vectores de coordenadas de cinco puntos que se va a transformar.xyz

x = [3 5 7 9 11]; y = [2 4 6 8 10]; z = [5 9 13 17 21];

Defina las funciones de asignación inversa y directa que aceptan y devuelven puntos en formato empaquetado ( , , ).xyz

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

Cree un objeto de transformación geométrica 3D, que almacene estas funciones de asignación inversa y directa.tform

tform = geometricTransform3d(inverseFcn,forwardFcn)
tform =    geometricTransform3d with properties:          InverseFcn: @(c)[c(:,1).^2,c(:,2).^2,c(:,3).^2]         ForwardFcn: @(c)[sqrt(c(:,1)),sqrt(c(:,2)),sqrt(c(:,3))]     Dimensionality: 3  

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

[u,v,w] = transformPointsInverse(tform,x,y,z)
u = 1×5

     9    25    49    81   121

v = 1×5

     4    16    36    64   100

w = 1×5

    25    81   169   289   441

Aplique la transformación geométrica hacia delante a los puntos transformados, yuvw.

[x,y,z] = transformPointsForward(tform,u,v,w)
x = 1×5

     3     5     7     9    11

y = 1×5

     2     4     6     8    10

z = 1×5

     5     9    13    17    21

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.tformaffine2dprojective2dgeometricTransform2d

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 .utform

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 .vu

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.zmnpwtform El tamaño de debe coincidir con el tamaño de .wu

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 .Utform

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.tformUl3z

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 .xtform

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 .yx

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 .zx

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 .XU

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