Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


Diana Gruber's Quaternion article


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
11 replies to this topic

#1 johnb   Members   -  Reputation: 347

Like
Likes
Like

Posted 17 July 2001 - 02:44 AM

Looking at Diana Gruber's article at: http://www.gamedev.net/reference/programming/features/whyquats/default.asp when the article was posted there were a lot of challenges to the assertions in the article, the result of this discussion being everyone except the author agreeing the article has serious problems. But the article was not corrected or amended, and people are still using it as refence. I yesterday contributed to a thread in another forum after someone else has recommended the article in response to a questioner. For anyone who missed the original discussions the article is mostly misleading and one page (on SLERP) is almost useless. I think it whould be best removed from Gamedev as it makes it much more difficult for anyone using the reference section, or for people like myself who cannot wholeheartedly recommend Gamedev's articles. Edited by - johnb on July 17, 2001 9:45:32 AM

Sponsor:

#2 Dobbs   Members   -  Reputation: 164

Like
Likes
Like

Posted 17 July 2001 - 10:47 AM

I have to agree. I guess I missed the original discussion, but after reading this article I can''t believe Gamedev posted it in the first place. Fine, so she doesn''t think quaternions are the greatest solution to gimbal lock. But she has to be deliberately misleading about them? She has to throw insults at anyone who doesn''t agree with her? Gamedev should remove this very unprofessional piece of writing.

#3 Vetinari   Members   -  Reputation: 133

Like
Likes
Like

Posted 17 July 2001 - 12:22 PM

Although I agree it is far too one sided for a technical article, it still has useful information comparing quaterions to matrices. I use quaternions in my projects, btw.


Mike

#4 23yrold3yrold   GDNet+   -  Reputation: 914

Like
Likes
Like

Posted 21 July 2001 - 05:44 PM

At the time, Diana started a discussion of that article on the programming newsgroup. You can read it at

http://groups.google.com/groups?hl=en&safe=off&th=a06371fc3b547b69,58&start=0

And here's the gamedev thread (friggin' long enough)

http://www.gamedev.net/community/forums/topic.asp?topic_id=25314

Chris Barry

Edited by - 23yrold3yrold on July 22, 2001 1:25:39 AM

#5 johnb   Members   -  Reputation: 347

Like
Likes
Like

Posted 23 July 2001 - 01:55 AM

Yes, I participated in some of those discussions at the time. And the conclusion from them was that the article is full of flaws, some subtle (the misleading comparison of quaternions and matrices) some obvious (trying to interpolate rotations using 3-vectors).

From her subsequent posts it became came clear that Ms Gruber was trying to contribute to an area of mathematics which she knew too little about, as she never came close to answering the resonable criticisms of her arguments.

#6 Shannon Barber   Moderators   -  Reputation: 1390

Like
Likes
Like

Posted 23 July 2001 - 12:21 PM

If your end objective is to simulate SLERP using Quaterions, then I believe Diana Gruger is correct; Q's have very little to offer you over using the traditional technique. Perhaps the math on paper and consequentially in code is easier using quaternions (i think it is at least).

So if you're doing SLERP you don't really NEED quaternions, I think that was the only point she was trying to make.

The power of quaternions is not realized until you use a non-local interpolation technique; e.g. spline interpolation of sequence of rotations is ideal for quaternions. I'm not certain how you would adapt SLERP to work with non-local interpolation, though I suspose it's possible as well. By using quaternions and say a cubic-spline interpolation between the rotations you garuntee continuity between rotations; SLERP does not.





Edited by - Magmai Kai Holmlor on July 23, 2001 8:07:10 PM

#7 johnb   Members   -  Reputation: 347

Like
Likes
Like

Posted 23 July 2001 - 10:24 PM


> So if you''re doing SLERP you don''t really NEED
> quaternions, I think that was the only point she was trying to
> make.

Actually you do. What she describes in the article is interpolating vectors, something different from quaternion SLERP. She earlier shows that quaternions and matrices are identical (and uses it to deduce that matrices are better because it''s more work to calculate a matrix via a quaterion than directly) but shows no similar equivalence between vectors and quaternions. It is possible to associate vectors and quaternions, using the

In the follow up discussions Diana asserted that a non-quat matrix based interpolation must exist, but was unable to provide it or a reference to it. Without this, or without showing how vectors can represent rotations, this does not provide an alternative to quaternion SLERP.

#8 Shannon Barber   Moderators   -  Reputation: 1390

Like
Likes
Like

Posted 24 July 2001 - 06:33 PM

The traditional technique is to use a simple interpolation from one rotation from the next, ignoring the inaccuracies from the fact that the interpolation does not uniformily lie on a sphere. Given a sufficent number of rotation points the error can be minimized, and splines can be used to maintain continuity between rotations. So I guess when I said you don''t need quaternions to SLERP, I meant you don''t need quaternions to approximate SLERP; and since we''re talking about computer science and not the strict mathematics of it, it always is an approximation... the only question is ''how approximate''.

I''m not arguing that this method is superior to quaternion based interpolation, but it does exist and has been used to good effect.

Magmai Kai Holmlor
- Not For Rent

#9 Dave Astle   Senior Staff   -  Reputation: 2307

Like
Likes
Like

Posted 24 July 2001 - 07:08 PM

You know, this raises an interesting point. We do have more than a few articles sitting around that aren''t quite up to par. There are a few reasons for this: we''ve been collecting them for over 6 years (and obviously some things that were relevant then aren''t now), quality control on our part hasn''t always been as tight as it should be, etc. We''ve kept most of those articles around because generally even the worst ones contain SOME useful information. Diana''s article did have some flaws, but I thought the conversations it sparked were extremely informative. The problem is, of course, that many people read the article without reading the discussions.

It''s probably time for us to go through the reference section and weed out the "questionable" articles - perhaps not removing them entirely but moving them to a section that clearly states that the articles may have some problems.

#10 23yrold3yrold   GDNet+   -  Reputation: 914

Like
Likes
Like

Posted 25 July 2001 - 02:09 AM

And I''m sure Diana would just LOVE that

How about making an editor''s note at the beginning that Diana was just writing a bit of a work in progress, and have a link that directs readers to the discussions? Then they get the whole story, and people won''t still be using it as a reference as johnb said.

Chris Barry

#11 BitBlt   Members   -  Reputation: 386

Like
Likes
Like

Posted 27 July 2001 - 02:38 PM

She would have a cow if you did that. Oh well.



"We are the music makers, and we are the dreamers of the dreams."
- Willy Wonka

#12 AC Serrano   Members   -  Reputation: 122

Like
Likes
Like

Posted 27 July 2001 - 04:11 PM

It seems to me that whether you use quaternions or matrices is more a matter of personal taste than anything else. From what I can see, neither has any REAL advantages over the other; certainly neither approach really has any flaws that careful programming can eliminate. Neither is particularly accurate OR inaccurate; it''s mostly a matter of the data types that make up the components. I personally prefer matrices because they''re easier for me to understand, and they fit more easily into the 2D surface that I am ultimately drawing to. Someone else may prefer Quaternions. It''s really they''re choice.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS