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.

rigidtform3d

Transformación geométrica rígida 3D

Desde R2022b. Recomendado en lugar de rigid3d.

    Descripción

    Un objeto rigidtform3d almacena información sobre una transformación geométrica rígida 3D y permite transformaciones directas e inversas.

    Creación

    Puede crear un objeto rigidtform3d de los modos siguientes:

    • imregtform: estima una transformación geométrica que asigna una imagen variable a una imagen fija usando la optimización de similitud.

    • Funciones de otras toolboxes que devuelven transformaciones geométricas, incluyendo, entre otras, las siguientes:

    • La función rigidtform3d aquí descrita.

    Descripción

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

    tform = rigidtform3d(rotMat,t) crea un objeto rigidtform3d que realiza una transformación rígida basada en la matriz de rotación rotMat especificada y la cantidad de traslación en cada dimensión t.

    tform = rigidtform3d(eulerAngles,t) crea un objeto rigidtform3d que realiza una transformación rígida basada en los ángulos de Euler especificados y la cantidad de traslación en cada dimensión t.

    ejemplo

    tform = rigidtform3d(rigidMat) crea un objeto rigidtform3d a partir de una matriz de transformación rígida 3D especificada, rigidMat.

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

    Argumentos de entrada

    expandir todo

    Matriz de rotación, especificada como matriz numérica de 3 por 3. La matriz de rotación tiene el efecto de rotación por el eje z primero, después por el eje y, y finalmente por el eje x.

    Este argumento establece la propiedad R.

    Cantidad de traslación, especificada como vector numérico de 3 elementos con forma [tx ty tz]. Estas cantidades de traslación corresponden a los valores tx, ty y tz de la matriz de transformación rígida definida por A.

    Este argumento establece la propiedad Translation.

    Tipos de datos: double | single

    Á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 según 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 rígida 3D directa, especificada como matriz numérica de 4 por 4. Al crear el objeto, también puede especificar rigidMat como matriz numérica de 3 por 4. En este caso, el objeto concatena el vector fila [0 0 0 1] al final de la matriz, formando una matriz de 4 por 4.

    Una transformación rígida 3D válida A tiene la forma:

    Α=[R(1,1)R(1,2)R(1,3)txR(2,1)R(2,2)R(2,3)tyR(3,1)R(3,2)R(3,3)tz0001]

    R(i,j) son los elementos de la matriz de rotación y establecen la propiedad R. tx, ty y tz son la cantidad de traslación en las direcciones x, y y z, respectivamente, y establecen la propiedad Translation.

    Este argumento establece la propiedad A.

    Tipos de datos: double | single

    Transformación geométrica rígida 3D, especificada como objeto affinetform3d, rigidtform3d, simtform3d o transltform3d.

    Argumentos de salida

    expandir todo

    Transformación geométrica rígida 3D, devuelta como un objeto rigidtform3d.

    Propiedades

    expandir todo

    Transformación rígida 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 rígida, A tiene la forma:

    Α=[R(1,1)R(1,2)R(1,3)txR(2,1)R(2,2)R(2,3)tyR(3,1)R(3,2)R(3,3)tz0001]

    donde cada elemento R(i,j) es elemento (i, j) de la matriz de rotación especificada por la propiedad R. tx, ty y tz son la cantidad de traslación en las direcciones x-, y- y z, respectivamente, y corresponden a la propiedad Translation.

    Tipos de datos: double | single

    Matriz de rotación, especificada como matriz numérica de 3 por 3. La matriz de rotación tiene el efecto de rotación por el eje z primero, después por el eje y, y finalmente por el 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 tanto para puntos de entrada como de salida, devuelta como el valor 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 ángulos de Euler y cantidades de traslación.

    angles = [30 0 90];
    translation = [10 20.5 15];

    Cree un objeto rigidtform3d que realice la rotación y traslación especificadas.

    tform = rigidtform3d(angles,translation)
    tform = 
      rigidtform3d with properties:
    
        Dimensionality: 3
           Translation: [10 20.5000 15]
                     R: [3×3 double]
    
                     A: [     0   -0.8660    0.5000   10.0000
                         1.0000         0         0   20.5000
                              0    0.5000    0.8660   15.0000
                              0         0         0    1.0000]
    
    

    Examine el valor de la propiedad A.

    tform.A
    ans = 4×4
    
             0   -0.8660    0.5000   10.0000
        1.0000         0         0   20.5000
             0    0.5000    0.8660   15.0000
             0         0         0    1.0000
    
    

    Capacidades ampliadas

    expandir todo

    Historial de versiones

    Introducido en R2022b

    expandir todo