i had high hopes this would be it, but this is just a concise lesson form for the series.. which is great! i am a huge fan of both eater's and sanderson's entire ouvre
what's great is that 3b1b releases the code that generates these videos and i have cloned the manim(o) library a number of times in the past when a video had an idea i wanted to play around with but the effort usually gets a low priority and i get distracted with more pressing projects
i figure a simple localhost python server serving up dynamic frames generated by manim could do the trick, maybe i'll work at it again this weekend
when i want to learn a new mathematical concept i like to write the source myself, which is great for getting at the nuts and bolts but it is usually after i have done this and start to tweak the models or constants that i begin to gain a real intuitive understanding of an underlying concept
i had thought the shorter clips were just that, clips from the 3b1b videos, but when i decided to click through it's much more than that
they are calling it explorable video
the videos are fully interactive.. this is awesome!
the repo has a number of custom self defined objects that allows for pretty abstracted handling
it appears the frames are drawn ad hoc using PIL, SVG and or cairo libraries with the spatial reasoning done explicitly in the source
Here’s a cool demo http://www.chinedufn.com/dual-quaternion-shader-explained/
They seem to correspond to linear logic which is insanity.
Dual quaternions work not only rotations, but also translations. They provide a natural representation of rotations around arbitrary axis (not only around axis from the origin) and can also be easily combined or interpolated.
These dual quaternions look interesting for many cases, but they do not provide any advantage with respect to normal quaternions when working with pure rotations. For more complex transformations, I know there are some approaches based on GA (and CGA) that I do not know in detail but I think (a gut feeling) that dual quaternions are just a special case.
They are a special case of GA. I used to very much into GA only to realize that dynamic 3D is the most interesting space, the other spaces are actually kinda boring.
No one, not ever, has been able to explain them sufficiently for me, or in a way that I can grasp.
She described an algebra called "Geometric Algebra" that has both standard vector spaces, complex numbers and quaternions as sub-algebras. Supposedly it simplifies a lot of the abstraction surrounding these concepts.
So I dug a little bit deeper and ended up watching these videos on YouTube that really helped me understand what she was talking about:
And WOW, the whole concept just made so much more sense. In 2D if you consider the area created from two vectors, it can have a "positive spin" or a "negative spin" based on the relative direction of the vectors (Like if you turn a handle clockwise vs. counter-clockwise). It turns out this property makes the square of this area negative (like the complex numbers). The same analysis can be done in 3D and the quaternions pop out. Pretty awesome stuff! I have been buying and reading books on the topic ever since, I feel like I need to re-educate myself on all the advanced math I learned in gradschool because this makes it all so much more compact and elegant.
Here's the clearest explanation I can make:
Things have a "sided-ness" to them. In most mathematics, the definition of a plane ignores this sided-ness. Three points and you have a plane, right? But you can't describe the orientation of a plane with the points, because you can't tell which side is "up". A piece of paper has two sides, why doesn't a plane? This is important when describing rotation!
Anyone who has used a look_at function can understand this. You give it a point for the eye position, and a point for the eye to "look at". What is not described is how that eye is oriented. Is it upside down? Sideways? Right side up? Even vectors have a "side"! This is the "twist" that is often mentioned.
If you imagine yourself as the eye, you can imagine your eyes being in the same position, looking at the exact same point, but in many different perspectives. Lying on your side, doing a headstand, standing upright.
I'm not an expert and I'm probably wrong, but intuitively this is what I think that fourth dimension on the quaternion corresponds to.
My approach to "understanding" (if that's the right word) the quaternions was to first memorise the various identities relating quaternion algebra to 3d rotations. I didn't actually "understand" them, and I still feel a bit dodgy with them, but I got used to them in a way. Second, it helps to try and solve some problems with them. That also gets you "used" to them.
The 3B1B videos are supplementary for me. I still find quaternions a bit miraculous. And Geometric Algebra doesn't seem like the solution for me, because it's another weird and even more complex formalism.
In my search I by chance came across a book on "Geometric Algebra" -- or Clifford Algebra. It just so happens that Quaternions form a sub-algebra of the three-dimensional Clifford Algebra.
If you can get complex numbers, you can get Clifford Algebra in 2D. You can then go to Clifford Algebra in 3D.
I believe you can learn enough Clifford Algebra to "get" Quaternions in well under 20 hours, but also have a tool that generalises rotations to higher-dimensional vector spaces.
I'd previously had a topic I just couldn't understand in Fourier Transforms. I just never really got the point until one day it clicked. And when it did, it was no problem to me. That said, I never found any of the videos particularly useful before I understood. Likewise, I still don't find any of the quaternion videos too useful.
I found some course notes to be useful . I then worked through "Linear and Geometric Algebra" by Alan MacDonald.
In short, don't give up. You can come to understand things by the most indirect of paths and your understanding will be all the better for it.
One hard-learnt tip if you do choose to go down this less-travelled route: Many expressions in GA can be simplified into wedge and dot products. I was needlessly writing down the algebraic expressions only to find they expanded back into these. So learn how to manipulate products early on and you'll save yourself from multi-page algebraic expressions.
Don't worry. There's a lot of shit out there and it's not at all your problem if they don't feel satisfying.
I also used to think there was something wrong with me for not understanding or being satisfied with vauge intuitive descriptions of mathematical ideas. Then I discovered proof-based mathematics and realized that, heck, here finally is the unambigous, high-resolution, no-corners-cut explanaion I've always been looking for. (Sure, it's a lot of hard work to get to a satsifying end-point, but at least the problem has shifted from trying to parse vauge intuitive statements in a visual-heavy video, to being bottle-necked by my own will power and dicipline to go as deep into an understanding of a proof as feels necessary to reach a satisfying depth-to-effort equilibrium.)
Maybe proofs aren't the key for you (or maybe they are), but don't blame yourself if you don't find the resources out there satisfyingly understandable.
Check out Geometric Algebra for more info, specifically the 5D Conformal model . It's way easier to use than linear algebra and that acres of sin()/cos()/tan() scattered everywhere in your code.
Fantastic Quaternions - Numberphile
It also helped me to have a use-case in mind —- a motivation. Like maybe using the accelerometer/compasss in your phone to perform image stabilization or AR.
I think one has to take some time to understand the foundations upon which quaternions are based versus jumping right in.
Text based learning using a chatbot. A platform which takes care of your learning, spaced reptitions, notebook generations and all.
If you can just take some time to subscribe, that would be great. https://tinyletter.com/primerlabs/
I will launch soon.
A normalized quaternion encodes your position on the planet + the direction you are looking at on the horizon.
It also encodes the rotation it would take to go from one such observer to another.
Of course, speaking about Earth is just for the mental image.
> Can you keep the elegance of this coordinate encoding with convenient transformation operations and define somewhere a mapping from the quaternarion encoding of position into a non-homogenous oblate spheroid encoding like WGS84 ...?
I don't understand the question.