If you take the Matrix logarithm of an SO(3) (3x3 rotation matrix) you get a 3-vector that represents the axis of rotation, scaled by the rotation amount (in radians). This is also a cheap operation using the inverse Rodrigues formula [1]. The 3-vector is not a bijective representation (starts repeating after length == 2*pi) but otherwise is the most elegant of them all, IMO. No need for rotors or quaternions. Plus y…
Rotors: A practical introduction for 3D graphics (2023)
11–20 of 21 posts
Re: Rotors: A practical introduction for 3D graphics (2023)
#12If you take the Matrix logarithm of an SO(3) (3x3 rotation matrix) you get a 3-vector that represents the axis of rotation, scaled by the rotation amount (in radians). This is also a cheap operation using the inverse Rodrigues formula [1]. The 3-vector is not a bijective representation (starts repeating after length == 2*pi) but otherwise is the most elegant of them all, IMO. No need for rotors or quaternions. Plus y…
Re: Rotors: A practical introduction for 3D graphics (2023)
#13Saying quaternions require thinking in 4 dimensions seems like a lie with no proof. The geometric product is just the quaternion product broken up into scaler and vector parts.
It's no lie, quaternions do actually have 4 dimensions. The part I take issue with is that rotors also require 4 dimensions to represent 3d rotations, they're just labeled slightly more intuitively. quaterions: 0*1 + b*i + c*j + d*k rotors: 0*1 + b*xy + c*yz + d*zx I've included real components, but when representing rotations they'll always be zero. (They'll be non-zero during intermediate calculations though, so yo…
quaterions:
a*1 + b*i + c*j + d*k
rotors:
a*1 + b*xy + c*yz + d*zx
The representations I shared previously with zero real component are for the points under rotation, not the rotors themselves which have real components in the general form. Apologies for misinformation!The exceptions are 0 degrees and 180 degree rotations (and 360, 540, etc...), which will have one and zero as the real components, respectively.
Re: Rotors: A practical introduction for 3D graphics (2023)
#14If you take the Matrix logarithm of an SO(3) (3x3 rotation matrix) you get a 3-vector that represents the axis of rotation, scaled by the rotation amount (in radians). This is also a cheap operation using the inverse Rodrigues formula [1]. The 3-vector is not a bijective representation (starts repeating after length == 2*pi) but otherwise is the most elegant of them all, IMO. No need for rotors or quaternions. Plus y…
Thanks for the link to the Rodrigues form, that's quite interesting. Slightly confused by your comment though, shouldn't the matrix logarithm produce another matrix?
Re: Rotors: A practical introduction for 3D graphics (2023)
#15If you take the Matrix logarithm of an SO(3) (3x3 rotation matrix) you get a 3-vector that represents the axis of rotation, scaled by the rotation amount (in radians). This is also a cheap operation using the inverse Rodrigues formula [1]. The 3-vector is not a bijective representation (starts repeating after length == 2*pi) but otherwise is the most elegant of them all, IMO. No need for rotors or quaternions. Plus y…
Re: Rotors: A practical introduction for 3D graphics (2023)
#16Earlier quoted context omitted.
You are right. Quaternions are a concept specific to the 3-dimensional (Euclidean) space, in the same way as "complex" numbers (for whom "binions" would be a more appropriate name) are a concept specific to the 2-dimensional (Euclidean) space. Neither quaternions nor "complex" numbers have anything to do with a 4-dimensional space of vectors. Quaternions are a field that is a subset of the 2^3 = 8-dimensional geometr…
Applications of quaternions to 3D geometry do not matter: as a field or vector space over real numbers quaternions are four dimensional because 1, i, j, k are linearly independent. Over complex numbers they are a two dimensional vector space instead.
Re: Rotors: A practical introduction for 3D graphics (2023)
#17Geometric Algebra supporters keep advertising that rotors are great since they work in any dimension, which makes me wonder: would an arbitrary n-dimensional SVD-like decomposition benefit from using rotors instead of rotation matrices, and if so how? And if not, why?
Re: Rotors: A practical introduction for 3D graphics (2023)
#18Geometric Algebra supporters keep advertising that rotors are great since they work in any dimension, which makes me wonder: would an arbitrary n-dimensional SVD-like decomposition benefit from using rotors instead of rotation matrices, and if so how? And if not, why?
There are 2^n coefficients in the general GA transform (versor). One should be very, very careful dealing with GA versors of high dimensions.
[1] https://en.wikipedia.org/wiki/Orthogonal_group#Canonical_for...
Re: Rotors: A practical introduction for 3D graphics (2023)
#19Saying quaternions require thinking in 4 dimensions seems like a lie with no proof. The geometric product is just the quaternion product broken up into scaler and vector parts.
It's no lie, quaternions do actually have 4 dimensions. The part I take issue with is that rotors also require 4 dimensions to represent 3d rotations, they're just labeled slightly more intuitively. quaterions: 0*1 + b*i + c*j + d*k rotors: 0*1 + b*xy + c*yz + d*zx I've included real components, but when representing rotations they'll always be zero. (They'll be non-zero during intermediate calculations though, so yo…
What's the difference between doing:
rotors: 01 + bxy + cyz + dzx
and
quaterions: 01 + bjk + cki + d*ij
?
edit: https://api.lib.kyushu-u.ac.jp/opac_download_md/410895/178c.... this seems to explain the difference
Re: Rotors: A practical introduction for 3D graphics (2023)
#20Earlier quoted context omitted.
You are right. Quaternions are a concept specific to the 3-dimensional (Euclidean) space, in the same way as "complex" numbers (for whom "binions" would be a more appropriate name) are a concept specific to the 2-dimensional (Euclidean) space. Neither quaternions nor "complex" numbers have anything to do with a 4-dimensional space of vectors. Quaternions are a field that is a subset of the 2^3 = 8-dimensional geometr…
Applications of quaternions to 3D geometry do not matter: as a field or vector space over real numbers quaternions are four dimensional because 1, i, j, k are linearly independent. Over complex numbers they are a two dimensional vector space instead.