Quaternions

Pagina: 1
Acties:
  • 191 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Weet iemand waar je die ingewikkelde dingen eigenlijk precies voor nodig hebt
Ik zie het overal staan dat mensen het gebruiken in hun engines. Het schijnt zelfs een soort van hype te zijn

Quaternions zijn toch een soort matrixen met 4 dimensionale vectoren en ook nog met complexe getallen er in verwerkt ofzo????

Acties:
  • 0 Henk 'm!

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 12-06 00:33
4 dimensionale ruimte....

:P

Denk dat dit het wel zegt. Ik heb het zelf nog niet helemaal door, maar dat komt wel. Ik heb hier Alan Watt's 3D computer Graphics liggen.

Komt erop neer dat je door met imaginaire getallen te werken je voorkomt dat je zit te werken met (de inweze onbepaalde) waarde PI. Dus je kan met behulp van quaternions EXACT 180 of 360 graden draaien. Iets wat met Euler transformaties (hoek om x, hoek om y en hoek om z) niet mogelijk is.

Als imaginair en euler je onbekend voorkomen adviseer ik je om daar maar eerst is achter te komen. ;)
Visualizing a unit quaternion

You can visualize unit quaternions as a rotation in 4D space where the (x,y,z) components form the arbitrary axis and the w forms the angle of rotation. All the unit quaternions form a sphere of unit length in the 4D space. Again, this is not very intuitive but what I'm getting at is that you can get the a 180 degree rotation of a quaternion by simply inverting the scalar (w) component.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik begin het een beetje te snappen nu
Tnx voor de links

Acties:
  • 0 Henk 'm!

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 12-06 00:33
Hmmm, misschien moet ik die link dan ook is even wat grondiger bestuderen...
Ikzelf heb namelijk best moeite met die krengen..

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:43

.oisyn

Moderator Devschuur®

Demotivational Speaker

quaternions zijn over het algemeen gewoon simpelweg bullshit.

Zoals je het zegt: het is een hype. Iedereen gebruikt ze omdat ze cool klinken, coole eigenschappen hebben, en gewoon cool zijn. Ze worden het meest gebruikt om een orientatie te interpoleren, maar vaak kan dat ook op een andere manier (draaiing om een bepaalde as) veel simpeler, maar veel mensen zien dit niet in

Begrijp me niet verkeerd hoor, quaternions zijn zeker handige dingen in sommige gevallen, maar over het algemeen worden ze 'overused'.

Artikel: "Do we really need quaternions?" door Diana Gruber
Hier een discussie op flipcode.com

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:43

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op vrijdag 07 september 2001 19:30 schreef The - DDD het volgende:

[..knip..]

Komt erop neer dat je door met imaginaire getallen te werken je voorkomt dat je zit te werken met (de inweze onbepaalde) waarde PI. Dus je kan met behulp van quaternions EXACT 180 of 360 graden draaien. Iets wat met Euler transformaties (hoek om x, hoek om y en hoek om z) niet mogelijk is.

[..knip..]
ummm dit lijkt me een nogal foute omschrijving. Ten eerste kun je geen rotaties >= 180 graden doen met 1 quaternion, en ten tweede boeit het totaal niet of PI nou onbepaald of benaderd is: zoveel preciezie heb je toch niet nodig.

Waar een quaternion het meest voor gebruikt wordt is om orientaties te interpoleren. Stel je kijkt op moment 1 recht vooruit, en op moment 2 naar linksboven. Met een quaternion is het mogelijk tussen deze 2 orientaties van je hoofd te interpoleren. Als je het met Euler angles gaat doen, krijg je meestal geen rechte lijn (eigenlijk de kortste boog op een bol van punt 1 naar punt 2), en de zogenaamde 'gimbal-lock' kan ook nog eens optreden (dat het lijkt alsof de rotatie even stilstaat, en vervolgens in een totaal andere richting verder draait)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 12-06 00:33
Zie je wel... Ik snap het dus nog niet helemaal :)

Heb er ook maar even m'n begeleider erop gezet... (3D project opschool)

En ja, ik had al wel gelezen dat ze handig zijn, maar niet de heilige graal.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wat is eigenlijk een Gimbal Lock

Acties:
  • 0 Henk 'm!

Verwijderd

http://www.google.com/search?q=Gimbal+Lock

1e linkje..
Synopsis.
The gimbal lock is caused by X and Z axis being in the same order after rotating the Y axis 90/-90 degrees. And this will give you no control over those axis. For more in-depth information about Gimbal Lock I recommend that you visit this webpage: http://www.anticz.com/eularqua.htm

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 12-06 00:33
Om nog even terug te komen op gimbal lock.
Download even dit bestandje.

In het zipje van 31kB vind je een exe en de source en VC++6 Project files van het betreffende exe-je.

Heb ik net even in elkaar geknutseld, want ik had ook nog niet echt een duidelijk beeld van een gimbal lock. Ik zat te klooien met een pen enzo (als voorbeeld).

Komt er eenvoudig op neer dat rotatie aan de x-as gevolgen voor rotaties over de y-as en z-as heeft. En rotaties over de y-as heeft weer gevolgen voor de z-as.

Het is namelijk zo dat bij een euler transformatie het assenstelsel meedraait. Echter, aangezien de rotaties over de x-as voor die over de y-as plaatsvinden en die over de y-as voor die over z-as, kan het alleen ernstige bijwerkingen hebben voor rotatie over de z-as.

Stel dat je 90 graden om de y-as transformeerd. Wat gebeurt er dan? De z-as komt door de rotatie exact op de x-as te liggen. Beetje zuur want draaien aan de z-as is dan hetzelfde als draaien aan de x-as... Bovendien is het een effect wat ook "rond" dit kritieke punt merkbaar is.

Het effect van werken met quaternions is dat de assen van het geheel exact op dezelfde plek blijven en niet mee gaan bij het roteren van het object.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:43

.oisyn

Moderator Devschuur®

Demotivational Speaker

ja dat is allemaal wel leuk, maar dat is nog steeds niet gimbal lock :)

gimbal lock wil zeggen dat tijdens het roteren het object even stil lijkt te staan, en vervolgens in een compleet andere richting verder draait. En dat komt weer door datgene wat DDD net heeft uitgelegd :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 12-06 00:33
Ja, ok ik moet het sneller animeren :)

En als het even kan tegelijkertijd roteren over x en z..

Maar de reden dat het schokt is duidelijk, de z rotatie is gelijk aan de x rotatie indien y 90 of -90 is geroteerd.

Stel dat op dat moment x de ene kant op roteert en z de andere kant op, da's dus netto nul komma niks wat je dan ziet bewegen :)

edit:

Ik zie dat het gvd alweer 3:00 is. Damnit, klote proggen ook altijd. Was begonnen om 21:00 en voor je het weet is het weer midden in de nacht. Grrrrrrr!! :+
Pagina: 1