Main Content

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

trvec2tform

Convertir le vecteur de traduction en transformation homogène

Description

exemple

tform = trvec2tform(trvec) convertit la représentation cartésienne du vecteur de traduction trvec en la transformation homogène correspondante tform. Lorsque vous utilisez la matrice de transformation, prémultipliez-la par les coordonnées à transformer (par opposition à la postmultiplication).

Exemples

réduire tout

trvec = [0.5 6 100];
tform = trvec2tform(trvec)
tform = 4×4

    1.0000         0         0    0.5000
         0    1.0000         0    6.0000
         0         0    1.0000  100.0000
         0         0         0    1.0000

Arguments d'entrée

réduire tout

Représentation cartésienne d'un vecteur de translation, spécifiée comme 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]

Arguments de sortie

réduire tout

Transformation homogène, renvoyée sous la forme d'un tableau 3 par 3 par n ou d'un tableau 4 par 4 par- n . n est le nombre de transformations homogènes. Lorsque vous utilisez la matrice de rotation, prémultipliez-la avec les coordonnées à faire pivoter (par opposition à la postmultiplication).

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

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]

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

| |