Rotacje w 3D i ich reprezentacje 2

Nasza ocena:

3
Pobrań: 154
Wyświetleń: 1148
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Rotacje w 3D i ich reprezentacje 2 - strona 1 Rotacje w 3D i ich reprezentacje 2 - strona 2 Rotacje w 3D i ich reprezentacje 2 - strona 3

Fragment notatki:


1. Rotacje w 3D i ich reprezentacje 1.2 Korzystając z funkcji rotx, roty i rotz tworzymy macierz rotacji: R=rotz(-pi/3) * roty(pi/6) * rotx(-pi/4) R =
0.4330 0.4356 0.7891 0
-0.7500 0.6597 0.0474 0
-0.5000 -0.6124 0.6124 0
0 0 0 1.0000
Jeśli mnożymy macierze rotacji prawostronnie to dokonujemy rotacji względem bieżącego układu. Jeżeli natomiast mnożymy lewostronnie macierze rotacji to dokonujemy przekształceń według pierwszego układu odniesienia. Wizualizacja orientacji układu w układzie zerowym za pomocą funkcji tr3d :
1.3. Sprawdzenie własności macierzy rotacji: a)det(R)=1 det(R)
ans = 1.0000
Własność jest spełniona.
b) R -1 ≡ R T R -1 odwr=inv(R) odwr = 0.4330 -0.7500 -0.5000 0 0.4356 0.6597 -0.6124 0 0.7891 0.0474 0.6124 0 0 0 0 1.0000 R T trans=R.' trans = 0.4330 -0.7500 -0.5000 0 0.4356 0.6597 -0.6124 0 0.7891 0.0474 0.6124 0 0 0 0 1.0000 Własność jest spełniona, ponieważ R -1 ≡ R T . c) n T o=o T a=a T n≡ 0 Wpisujemy kolejno polecenia w MATLABIE:
n=R(:,1) n =
0.4330
-0.7500
-0.5000
0 nt=n.' nt =
0.4330 -0.7500 -0.5000 0
o=R(:,2) o =
0.4356
0.6597
-0.6124
0 a=nt*o a = -5.5511e-017
ot=o.' ot = 0.4356 0.6597 -0.6124 0
b=ot*R(:,3) b = 5.5511e-017
c=R(:,3).'*n c = 1.1102e-016
Wyniki składników a b c są bliskie 0, ponieważ Matlab zaokrągla wyniki.
Własność jest spełniona.
d) ||n|| = ||o|| = ||a|| = 1

(…)

… macierz R03b korzystając z poleceń rotz, roty, rotx:
>>R3=rotx(pi/2)*roty(pi/2)*rotz(-pi)
R3 =
-0.0000 0.0000 1.0000 0
-1.0000 0.0000 -0.0000 0
-0.0000 -1.0000 0.0000 0
0 0 0 1.0000
Macierze rotacji są identyczne, tak więc wynik jest poprawny. Tworzymy wizualizację orientacji układu {3} w układzie {0}:
>>tr3d(R3)
ad.1.11
Obliczamy kąty Eulera odpowiadające zadanej orientacji:
>>a=tr2rpy(R)
a =
-1.5708 0…
… 1
Współrzędne wektora r2 (czyli rB) obliczymy ze wzoru:
r2=T20p0 gdzie
T20=(T02)-1 ,a T02= T01 T12 Wpisujemy w Matlabie:
>>r0=[1 -2 2 1].'
>>T01=[-1 0 0 3;0 1 0 -6;0 0 -1 4;0 0 0 1]
>>T21=[0 -1 0 2;1 0 0 5;0 0 1 0;0 0 0 1]
Obliczamy macierz odwrotna do macierzy T21
>>R21=T21(1:3,1:3)
>>R12=R21.'
>>d21=T21(1:3,4)
>>d12=-R12*d21
>>T12(1:3,1:3)=R12;
>>T12(1:3,4)=d12;
>>T12(4,1:3)=0;
>>T12(4,4)=1…
... zobacz całą notatkę

Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz