Vinnaren i pepparkakshustävlingen!
2010-10-29, 22:47
  #1
Medlem
Dubsteps avatar
Så, jag har en kvarternion(?) som representerar en rotation i 3D (w, x, y, z). Denna rotation vill jag få ut till radianer i en tredimensionell vektor. Hur göra?

Jag läser matte D för tillfället och detta är way beyond mina kunskaper, all hjälp uppskattas!
Citera
2010-10-30, 01:05
  #2
Medlem
BengtZzs avatar
Citat:
Ursprungligen postat av Dubstep
Så, jag har en kvarternion(?) som representerar en rotation i 3D (w, x, y, z). Denna rotation vill jag få ut till radianer i en tredimensionell vektor. Hur göra?

Jag läser matte D för tillfället och detta är way beyond mina kunskaper, all hjälp uppskattas!
Då blir det nog väldigt svårt att förklara så att du förstår. Varför vill du göra detta?

Kan ju påpeka att jag inte har en aning om hur man gör.
Citera
2010-10-30, 01:24
  #3
Medlem
Dubsteps avatar
Citat:
Ursprungligen postat av BengtZz
Då blir det nog väldigt svårt att förklara så att du förstår. Varför vill du göra detta?

Kan ju påpeka att jag inte har en aning om hur man gör.
Ni behöver inte ta hänsyn till mina kunskapsnivåer, jag klarar mig, men har verkligen ingen aning för tillfället.

Går det ens att göra? Är jag helt ute och cyklar?

Börjar tro att detta är ett ganska specifikt scenario för det 3D-bibliotek jag programmerar i (därav min fråga) och är förmodligen inget som har en viss lösningsmetod. Men om någon mot förmodan vet så uppskattas det mycket
Citera
2010-10-30, 01:43
  #4
Medlem
Offsures avatar
http://en.wikipedia.org/wiki/Quatern...th_quaternions

"Radianer i en tredimensionell vektor" låter väldigt flertydigt. Utveckla.
Citera
2010-10-30, 12:04
  #5
Medlem
apanlapans avatar
Citat:
Ursprungligen postat av Dubstep
Så, jag har en kvarternion(?) som representerar en rotation i 3D (w, x, y, z). Denna rotation vill jag få ut till radianer i en tredimensionell vektor. Hur göra?

Vektordelen av kvaternionen är rotationsaxeln, sen måste du ta fram vinkeln också. Om vi antar att kvaternionen är normerad (dvs w^2 + x^2 + y^2 + z^2 = 1) så har man att w = cos(v/2), alltså blir v = 2acos(w). Eventuellt måste du korrigera tecknet på vinkeln v. Ibland anger man rotationen som längden på rotationsaxelns vektor. I så fall normerar du först (x,y,z) och multiplicerar sen med v.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback