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.

Gire sobre un eje arbitrario

Este ejemplo muestra cómo rotar un objeto sobre un eje arbitrario.

Traducir a origen antes de rotar

Se realizan rotaciones sobre el origen. Por lo tanto, debe realizar una traducción para que el eje de rotación previsto esté temporalmente en el origen. Después de aplicar la matriz de transformación de rotación, a continuación, traducir el objeto de nuevo a su posición original.

Gire Surface

Este ejemplo muestra cómo rotar una superficie sobre el eje.y

Crear superficie y transformar

Parent la superficie al objeto de transformación.

t = hgtransform; surf(peaks(40),'Parent',t) view(-20,30) axis manual

Crear Transform

Establezca la matriz de rotación de un eje para rotar la superficie en-15 grados.y

ry_angle = -15*pi/180;  Ry = makehgtform('yrotate',ry_angle); t.Matrix = Ry;

La superficie girada-15 grados sobre el eje que pasa a través del origen.y

Traducir la superficie y rotar

Ahora gire la superficie sobre el eje que pasa a través del punto x = 20.y

Cree dos matrices de traducción, una para traducir la superficie-20 unidades en x y otra para traducir 20 unidades de nuevo. Concatenar las dos matrices de traducción con la matriz de rotación en el orden correcto y establecer la transformación.

Tx1 = makehgtform('translate',[-20 0 0]); Tx2 = makehgtform('translate',[20 0 0]); t.Matrix = Tx2*Ry*Tx1;