Main Content

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

tform2trvec

Extraire le vecteur de traduction d'une transformation homogène

Description

exemple

trvec = tform2trvec(tform) extrait la représentation cartésienne du vecteur de translation trvec de la transformation homogène tform. Les composantes de rotation de tform sont ignorées. La transformation homogène d'entrée doit être sous la forme prémultipliée pour les transformations.

Exemples

réduire tout

tform = [1 0 0 0.5; 0 -1 0 5; 0 0 -1 -1.2; 0 0 0 1];
trvec = tform2trvec(tform)
trvec = 1×3

    0.5000    5.0000   -1.2000

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

Représentation cartésienne d'un vecteur de translation, renvoyée sous la forme d'une matrice n-par-2 si tform est un 3-par-3-par- n Tableau $ et une matrice n-par-3 si tform est un tableau 4 par 4 par- n . n est le nombre de vecteurs de traduction. Chaque vecteur est de la forme [x y] ou [x y z].

Exemple : [0.5 6 100]

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

| |