Good tutorials or books on Quaternions

BlitzMax Forums/BlitzMax Programming/Good tutorials or books on Quaternions

*(Posted 2015) [#1]
Does anyone know of any good books or tutorials on Quaternions, what I'm aiming for is simple placement, movement, rotations and the tformpoint systems :)


BlitzSupport(Posted 2015) [#2]
The Blitz3D source ought to help, and I know there's stuff in the Code Archives relating to quaternions and their weird ilk. (If you want to actually learn it properly though, I've got nothing!)


Kryzon(Posted 2015) [#3]
I can't attest for their quality, but check out Jorge's "Math for Game Developers" series:
http://youtube.com/channel/UCEhBM2x5MG9-e_JSOzU068ww

There's also the Math & Physics article section from Gamedev.Net (which is where I found that video series above):
http://www.gamedev.net/page/resources/_/technical/math-and-physics/


*(Posted 2015) [#4]
Ah thanks guys pulling apart the code archive sources already :)


*(Posted 2015) [#5]
This is even more confusing, some internet tutorials use xyzw others are applied to the sixteen float matrices :s

@James: going through that to locate the sections I need at present and see if they can be adjusted to my requirements.

@Kryzon: those are even more confusing lol

I might have a serious look at the Warner minib3d adjustments as well to see if I can make head or tail of it all, if there was a easy to understand book on it I would be there :)


angros47(Posted 2015) [#6]
Edzup, actually I am surprised you ask similar questions (a week ago you asked about how to get pitch in Euler rotations, and now this), because I thought you knew this argument very well: I remember that the first patch to fix TurnEntity in MiniB3D (using quaternions instead of Euler's) was made by you.


*(Posted 2015) [#7]
I think your mistaking me for Warner?


angros47(Posted 2015) [#8]
No, I don't mistake you for Warner:

Here is your code:
http://www.blitzbasic.com/Community/post.php?topic=74382&post=832581

Here is Warner code:
http://www.blitzbasic.com/codearcs/codearcs.php?code=2498

Your code is 8 years old, Warner's code (that I used in OpenB3D) is only 6 years old, so the first code is yours (I also ported it to C++, because I was considering using it in my version... )


*(Posted 2015) [#9]
Crikey I dont remember writing that lol

Will use that in me new framework :)


JoshK(Posted 2015) [#10]
http://www.leadwerks.com/werkspace/page/api-reference/_/quat/
http://www.leadwerks.com/werkspace/page/api-reference/_/quat/quatslerp-r898
http://www.amazon.com/Visualizing-Quaternions-Kaufmann-Interactive-Technology/dp/0120884003


*(Posted 2015) [#11]
Thanks Josh will have a look :)


FBEpyon(Posted 2015) [#12]
@Edzup - Go here : http://blog.db-in.com/cameras-on-opengl-es-2-x/ this is where I learned everything I needed for a good camera system with Quaternions.

I even wrote something up in Blitzmax :



Never finished it though...

FBEpyon


*(Posted 2015) [#13]
Thanks Fbepyon that is a great help :)


Yahfree(Posted 2015) [#14]
Quaternions is a pretty complicated number system (involving a real scalar component and a 3D imaginary vector), they are an extension of complex numbers. There are some good videos on youtube about why they work, and their various interesting properties: https://www.youtube.com/watch?v=mHVwd8gYLnI

You can (if you wish) dive into the math and understand the WHY, or you can do as most do and treat them as a black box tool that accomplishes nicely interpolated, gimbal-lock free rotations.


*(Posted 2015) [#15]
I think once they are in the engine I wont visit them again, my engine is nodular so it will work with all othee systems :)