/ Forside / Karriere / Uddannelse / Højere uddannelser / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Højere uddannelser
#NavnPoint
Nordsted1 1588
erling_l 1224
ans 1150
dova 895
gert_h 800
molokyle 661
berpox 610
creamygirl 610
3773 570
10  jomfruane 570
matrise baseret på vektorer
Fra : Jason Who


Dato : 31-01-03 10:00

Hvis jeg har et koordsystem hvor jeg kender de tre akse-vektorer, hvordan
laver jeg så matrisen der roterer det "almindelige" system dertil?

Med det almindelige system mener jeg et hvor xvektoren er 1,0,0 t=0,1,0
z=0,0,1
Dette vil jeg eksempelvis gerne rotere til
x =1.41 , 1.41 , 0
y =-1.41 , 1.41, 0
z = 0,0,z

Dette er et eksempel. Hvordan konstruerer man den rotationsmatrise som vil
transformere system 1 til system2?
Min umidelbare ide er at det er ret basalt, men det må være mere simpelt end
bare at stille de tre vektorer op som de tre søjler i matrisen, ikke?






 
 
Martin C. Petersen (31-01-2003)
Kommentar
Fra : Martin C. Petersen


Dato : 31-01-03 10:08

"Jason Who" <jw@nomail.here> skrev i en meddelelse
news:b1ddr6$iog$1@news.net.uni-c.dk...
> Hvis jeg har et koordsystem hvor jeg kender de tre akse-vektorer, hvordan
> laver jeg så matrisen der roterer det "almindelige" system dertil?
>
> Med det almindelige system mener jeg et hvor xvektoren er 1,0,0 t=0,1,0
> z=0,0,1
> Dette vil jeg eksempelvis gerne rotere til
> x =1.41 , 1.41 , 0
> y =-1.41 , 1.41, 0
> z = 0,0,z
>
> Dette er et eksempel. Hvordan konstruerer man den rotationsmatrise som vil
> transformere system 1 til system2?
> Min umidelbare ide er at det er ret basalt, men det må være mere simpelt
end
> bare at stille de tre vektorer op som de tre søjler i matrisen, ikke?
Det giver da eller det rigtige resultat:
[x y z]*(1,0,0) = x
[x y z]*(0,1,0) = y
[x y z]*(0,0,1) = z

Er det ikke det du ønsker?


Martin



Jason Who (31-01-2003)
Kommentar
Fra : Jason Who


Dato : 31-01-03 11:23

> Det giver da eller det rigtige resultat:
> [x y z]*(1,0,0) = x
> [x y z]*(0,1,0) = y
> [x y z]*(0,0,1) = z
>
> Er det ikke det du ønsker?
>

Jo jeg ønsker det rigtige resultat. Det er dog før sket at jeg har stillet
en formel an som har virket fint på et lille testeksempel men som har fejlet
andre gange.. fordi der var mere i det end jeg lige så.
Jeg var desuden ikke klar over at det var så nemt at stille en matrise op
som transformerede fra et system til et andet. At man bare kunne skrive det
som de tre aksers vektorer, og evt gøre det til en 4*4 matrise ved at sætte
aksernes nulpunkter på også. Så er matriser da nemme nok

Går ud fra at du i din post siger at metoden ER så simpel?



Martin C. Petersen (31-01-2003)
Kommentar
Fra : Martin C. Petersen


Dato : 31-01-03 12:22

"Jason Who" <jw@nomail.here> skrev i en meddelelse
news:b1dink$iqc$1@news.net.uni-c.dk...
> Jo jeg ønsker det rigtige resultat. Det er dog før sket at jeg har stillet
> en formel an som har virket fint på et lille testeksempel men som har
fejlet
> andre gange.. fordi der var mere i det end jeg lige så.
> Jeg var desuden ikke klar over at det var så nemt at stille en matrise op
> som transformerede fra et system til et andet. At man bare kunne skrive
det
> som de tre aksers vektorer, og evt gøre det til en 4*4 matrise ved at
sætte
> aksernes nulpunkter på også. Så er matriser da nemme nok
>
> Går ud fra at du i din post siger at metoden ER så simpel?
En lineær transformation (her T(v)=Av hvor A er din [x y z] matrix) er
entydigt bestemt ved dens værdier på basisvektorerne (her e1,e2,e3), altså
er der kun den ene mulige matrice som giver
T(e1) = x, T(e2) = y, T(e3) = z

Din transformation ændrer dog på længden af vektorerne, så det er ikke kun
en rotation (vælg sqrt(2)/2 i stedet for sqrt(2) for at gøre den til det).

Se mere her:
http://mathworld.wolfram.com/RotationMatrix.html


Martin



Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408536
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste