Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

transformPointsForward

Aplicar transformación geométrica directa

Descripción

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

ejemplo

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

X = transformPointsForward(tform,U) aplica la transformación directa de tform a la matriz de coordenadas de entrada U y devuelve la matriz de coordenadas X. transformPointsForward asigna el k-ésimo punto U(k,:) al punto X(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 directa a un punto de entrada.

u = 5;
v = 10;
[x,y] = transformPointsForward(tform,u,v)
x = 7.5000
y = 14

Especifique los vectores de coordenadas x e y de cinco puntos que desea 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, tform, que almacene la función de asignación inversa y la función de asignación directa opcional.

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 directa a los puntos transformados u y v.

[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

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.

u = 1;
v = 1;
w = 1.01;
[x,y,z] = transformPointsForward(tform,u,v,w)
x = 11
y = 21.5000
z = 16.0100

Especifique los vectores de coordenadas x, y y z de los cinco puntos que desea transformar.

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 acepten y devuelvan puntos en formato empaquetado (x,y,z).

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, tform, que almacene estas funciones de asignación inversa y directa.

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 directa a los puntos transformados u, v y w.

[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 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

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 u 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 v debe coincidir con el tamaño de u.

Tipos de datos: single | double

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

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 U 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, U 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 x 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 y coincide con el tamaño de x.

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 z coincide con el tamaño de x.

Tipos de datos: single | double

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

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

|