So far we have seen that, in 2 dimensions, we can calculate the result of combining two translations to give a total translation (see this page) and we can also combine two rotations to give a total rotations (see this page). the interesting thing is that the calculation to do both of these is the same:
- Take the exponent of both inputs.
- Multiply these exponents together.
- Take the loge of the result.
The way we distinguish between translations and rotations is that we use double numbers for one and complex numbers for the other:
2D Euclidean space |
2D Minkowski space (1 space and 1 time) |
|
---|---|---|
translations | double numbers | complex numbers |
rotations | complex numbers | double numbers |
Where:
- double numbers are the odd (vector) part of the multivector.
- complex numbers are the even (scalar and bivector) part of the multivector.
So we can calculate translations and rotations separately for the different types of space.
What we now want to do is to combine translations and rotations into one operation and to do this in such a way that interactions between the translations are handled correctly. For example if we apply the following sequence:
- Translate from the origin 2 units to the right.
- Rotate 90° clockwise.
then we would expect to get a different result than applying the sequence in a different order:
- Rotate 90° clockwise.
- Translate from the origin 2 units to the right.
So how can we do this?
My best guess would be to apply the above sequence, but instead of just the even or odd parts we need to be able to take the exponent and inverse in functions of the whole multivector:
exp(a + b e1 + c e2 + d e12)
where:
- a,b,c,d are the components of the multivector.
- e1,e2 are the vector basis
- e12 is the bivector.
I'm not sure how to calculate this? I think I will try applying an infinite sequence and then try breaking down the components.
exp(x) | 1 + x1/1! + x2/2! + x3/3! ... + xr/(r)! |
Then we need to check that it works for all types of sequence of translations and rotations.