Quaternions in Signal and Image Processing
ieeexplore.ieee.org
ieeexplore.ieee.org
Quaternions are still largely misunderstood and often considered an “exotic” signal representation without much practical utility despite the fact that they have been around the signal and image processing community for more than 30 years now. The main aim of this article is to counter this misconception and to demystify the use of quaternion algebra for solving problems in signal and image processing. To this end, we propose a comprehensive and objective overview of the key aspects of quaternion representations, models, and methods and illustrate our journey through the literature with flagship applications. We conclude this work by an outlook on the remaining challenges and open problems in quaternion signal and image processing.
Call it a Rotor if you'd like; it doesn't matter when viewing it this way! Both implementation and application will be the same. The conceptual aspect people prefer about rotors is N/A here. You could also call it a `Orientation` or `Rotation` (eg the struct/class name); maybe that's better than either.
Quaternion vs Euler Angles for UAV position control:
“exotic” signal representation without much practical utility despite the fact that they have been around the signal and image processing community for more than 30 years now.
Maybe they aren't that good? Maxwell's equations got a lot better when they dumped them, same thing with the few uses in video game physics/camera tracing.Tell me you don't understand special relativity.
I just dabbled in webgl/threejs and tried creating a small movement engine and was confused from beginning to end. Quaternions as a black box is pretty accurate.
BTW, it's easy to understand the relations between i,j,k if you're familiar with Pauli matrices.
I propose we call them fanciful numbers.
The fact that it’s a “quaternion” or a “rotor” is kind of an implementation detail.
Of these four terms, Quaternion is the most precisely correct. The reason is that rotors are, by definition, constrained. Quaternions can take any value. Due to floating-point precision problems, your rotor will not always be exactly a rotor, but may some multivector which is not a rotor.
This is kind of like representing a point on a sphere using (x,y,z) coordinates. You can call it PointOnSphere or Vector. I would rather call it Vector, because PointOnSphere implies a constraint which won’t be exactly satisfied, and I want to be reminded of that fact. The type name (Vector here, and Quaternion above) represents the object’s structure and the constraints which are actually enforced by the underlying representation.
This is unsurprising when several of your coordinates become -1 when multiplied. That's why historically Gibbs Heaviside (dot and cross product) became the dominant vector algebra over quaternions.
Clifford Algebra is the better than both, as you can seamlessly do dot, cross (wedge in CA) and can also embed quaternions within the system. I've heard that it can also accommodate some of the nonmetrical aspects that make differential forms appealing for manifold integration, but that's currently outside of my range of knowledge.
https://hsm.stackexchange.com/questions/8173/did-maxwell-ori...
The answer also includes a link that shows many other representations including Einstein's "4d generally covariant tensor calculus".
The point is that the most common formulation today is not the one Maxwell made (with 12 equations). The idea is preserved, but it was Gibbs and Heaviside that formulated the current 4 equation representation.
These and Monads will bite me forever.
Here are 2 45mn videos you'll not regret: