Contenido principal

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.

simtform3d

Transformación geométrica de similitud 3D

Desde R2022b

    Descripción

    Un objeto simtform3d almacena información sobre una transformación geométrica de similitud 3D y permite transformaciones directas e inversas.

    Creación

    Descripción

    tform = simtform3d crea un objeto simtform3d que realiza una transformación identidad.

    tform = simtform3d(Scale,R,Translation) crea un objeto simtform3d que realiza una transformación de similitud basada en los valores especificados de las propiedades Scale, R y Translation. Estas propiedades especifican el factor de escala, el ángulo de rotación y la cantidad de traslación en las direcciones x, y y z, respectivamente.

    tform = simtform3d(Scale,eulerAngles,Translation) crea un objeto simtform3d que realiza una transformación de similitud basada en ángulos de Euler y el valor especificado de las propiedades Scale y Translation.

    ejemplo

    tform = simtform3d(A) crea un objeto simtform3d y establece la propiedad A como la matriz de transformación de similitud 3D especificada.

    tform = simtform3d(tformIn) crea un objeto simtform3d a partir de otro objeto de transformación geométrica, tformIn, que representa una transformación geométrica de similitud 3D válida.

    Argumentos de entrada

    expandir todo

    Ángulos de Euler en orden x,y,z en grados, especificados como vector numérico de 3 elementos con forma [rx ry rz]. Los ángulos de Euler establecen la propiedad R como un producto con tres matrices de rotación (Rx, Ry y Rz) de acuerdo con lo siguiente:

     Rx = [1 0 0; 0 cosd(rx) -sind(rx); 0 sind(rx) cosd(rx)];
     Ry = [cosd(ry) 0 sind(ry); 0 1 0; -sind(ry) 0 cosd(ry)];
     Rz = [cosd(rz) -sind(rz) 0; sind(rz) cosd(rz) 0; 0 0 1];
      R = Rz*Ry*Rx;

    Tipos de datos: double | single

    Transformación geométrica 3D de similitud, especificada como objeto affinetform3d, rigidtform3d, simtform3d o transltform3d.

    Propiedades

    expandir todo

    Transformación de similitud 3D directa, especificada como matriz numérica de 4 por 4. El valor predeterminado de A es la matriz identidad.

    La matriz A transforma el punto (u, v, w) en el espacio de coordenadas de entrada en el punto (, x, y, z) en el espacio de coordenadas de salida utilizando la convención:

    [xyz1]=Α×[uvw1]

    En una transformación de similitud, A tiene la forma:

    Α=[sR(1,1)sR(1,2)sR(1,3)txsR(2,1)sR(2,2)sR(2,3)tysR(3,1)sR(3,2)sR(3,3)tz0001]

    donde s es el factor de escala y corresponde a la propiedad Scale. R(i,j) son los elementos de la matriz de rotación especificada por los índices correspondientes (i,j) de la propiedad R. tx, ty y tz son la cantidad de traslación en las direcciones x, y y z, respectivamente, y corresponden a los elementos de la propiedad Translation.

    Tipos de datos: double | single

    Factor de escala, especificado como un número positivo. El factor de escala corresponde al valor s de la matriz de transformación de similitud definida por la propiedad A.

    Tipos de datos: double | single

    Matriz de rotación, especificada como matriz numérica de 3 por 3. La matriz de rotación realiza la rotación en torno al eje z primero, después en torno al eje y, y finalmente en torno al eje x.

    Cantidad de traslación, especificada como vector numérico de 3 elementos con forma [tx ty tz].

    Tipos de datos: double | single

    Esta propiedad o parámetro es de solo lectura.

    Dimensionalidad de la transformación geométrica para puntos tanto de entrada como de salida, especificada como 3.

    Tipos de datos: double

    Funciones del objeto

    invertInvertir la transformación geométrica
    outputLimitsEncontrar los límites espaciales de salida dados los límites espaciales de entrada
    transformPointsForwardAplicar transformación geométrica directa
    transformPointsInverseAplicar la transformación geométrica inversa

    Ejemplos

    contraer todo

    Especifique el factor de escala y la cantidad de traslación. La transformación de este ejemplo no realiza rotación, por lo que establecemos los ángulos de Euler en [0 0 0].

    scaleFactor = 1.5;
    eulerAngles = [0 0 0];
    translation = [10 20.5 15];

    Cree un objeto simtform3d que realice el escalado y la traslación.

    tform = simtform3d(scaleFactor,eulerAngles,translation)
    tform = 
      simtform3d with properties:
    
        Dimensionality: 3
                 Scale: 1.5000
           Translation: [10 20.5000 15]
                     R: [3x3 double]
    
                     A: [1.5000         0         0   10.0000
                              0    1.5000         0   20.5000
                              0         0    1.5000   15.0000
                              0         0         0    1.0000]
    
    

    Examine el valor de la propiedad A.

    tform.A
    ans = 4×4
    
        1.5000         0         0   10.0000
             0    1.5000         0   20.5000
             0         0    1.5000   15.0000
             0         0         0    1.0000
    
    

    Capacidades ampliadas

    expandir todo

    Historial de versiones

    Introducido en R2022b

    expandir todo