Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

tform2rotm

Extraire la matrice de rotation d'une transformation homogène

Description

exemple

rotm = tform2rotm(tform) extrait la composante de rotation d'une transformation homogène, tform, et la renvoie sous la forme d'une matrice de rotation orthonormée, rotm. Les composants traductionnels de tform sont ignorés. La transformation homogène d'entrée doit être sous la forme de pré-multiplication pour les transformations. Lorsque vous utilisez la matrice de rotation, prémultipliez-la avec les coordonnées à faire pivoter (par opposition à la postmultiplication).

Exemples

réduire tout

tform = [1 0 0 0; 0 -1 0 0; 0 0 -1 0; 0 0 0 1];
rotm = tform2rotm(tform)
rotm = 3×3

     1     0     0
     0    -1     0
     0     0    -1

Arguments d'entrée

réduire tout

Transformation homogène, spécifiée comme un tableau 3 par 3 par n ou un tableau 4 par 4 par- n . n est le nombre de transformations homogènes. La transformation homogène d'entrée doit être sous la forme prémultipliée pour les transformations.

Les matrices de transformation homogènes 2D sont de la forme :

T=[r11r12t1r21r22t2001]

Les matrices de transformation homogènes 3D sont de la forme :

T=[r11r12r13t1r21r22r23t2r31r32r33t30001]

Exemple : [0 0 1 0; 0 1 0 0; -1 0 0 0; 0 0 0 1]

Arguments de sortie

réduire tout

Matrice de rotation, renvoyée sous la forme d'un tableau 2 par 2 n ou d'un tableau 3 par 3 par n contenant n matrices de rotation. Chaque matrice de rotation du tableau a une taille de 2 sur 2 ou de 3 sur 3 et est orthonormée. Lorsque vous utilisez la matrice de rotation, prémultipliez-la avec les coordonnées à faire pivoter (par opposition à la postmultiplication).

Les matrices de rotation 2D sont de la forme :

R=[r11r12r21r22]

Les matrices de rotation 3D sont de la forme :

R=[r11r12r13r11r22r23r31r32r33]

Exemple : [0 0 1; 0 1 0; -1 0 0]

En savoir plus

réduire tout

Matrices de transformation homogènes

Les matrices de transformation homogènes consistent à la fois en une rotation orthogonale et une translation.

Transformations 2D

Les transformations 2D ont une rotation θ autour de l'axe z :

Rz(θ)=[cosθsinθsinθcosθ]

, et une translation le long de l'axe x et y :

t=[xy]

, ce qui donne le 2 -D matrice de transformation de la forme :

T=[Rt01×21]=[I2t01×21]·[R001×21]

Transformations 3D

Les transformations 3D contiennent des informations sur trois rotations autour des axes x, y et z :

Rx(ϕ)=[1000cosϕsinϕ0sinϕcosϕ],Ry(ψ)=[cosψ0sinψ010sinψ0cosψ],Rz(θ)=[cosθsinθ0sinθcosθ0001]

et après multiplication devient la rotation autour des axes xyz :

Rxyz=Rx(ϕ)Ry(ψ)Rz(θ)=[cosϕcosψcosθsinϕsinθcosϕcosψsinθsinϕcosθcosϕsinψsinϕcosψcosθ+cosϕsinθsinϕcosψsinθ+cosϕcosθsinϕsinψsinψcosθsinψsinθcosψ]

et une translation le long du x-, y-, et z-axe :

t=[xyz]

, ce qui donne la matrice de transformation 3D de la forme :

T=[Rt01x31]=[I3t01x31]·[R001x31]

Capacités étendues

Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.

Historique des versions

Introduit dans R2015a

développer tout

Voir aussi

| | | |