3D Rotations using complex numbers

Click For Summary
SUMMARY

This discussion focuses on the use of complex numbers for 3D rotations, exploring the relationship between quaternion algebra and complex number rotations. The algorithm presented utilizes complex numbers in the form (a + bi) and (a + bj) to rotate a vector (x, y, z) while preserving its magnitude. The results demonstrate that inputting 90 degrees yields unexpected rotation behavior, prompting questions about the axis of rotation and the potential connection to Euler angles. The conversation highlights the efficiency of complex numbers for 2D rotations and quaternions for 3D rotations, while also referencing matrix rotations in the context of SO(3).

PREREQUISITES
  • Understanding of quaternion algebra
  • Familiarity with complex numbers and their operations
  • Basic knowledge of 3D vector mathematics
  • Concept of rotation matrices and SO(3)
NEXT STEPS
  • Study quaternion algebra for 3D rotations
  • Learn about the mathematical properties of complex numbers in rotation
  • Explore the relationship between Euler angles and rotation axes
  • Investigate the use of rotation matrices in 3D transformations
USEFUL FOR

This discussion is beneficial for computer graphics developers, mathematicians, and anyone interested in 3D transformations and rotations, particularly those exploring the use of complex numbers and quaternions in their work.

Septimra
Messages
27
Reaction score
0
I was thinking that if you could use quaternions to rotate an object using quaternion algebra that there might be a way to rotate an object using complex numbers in some fashion. I was looking at quaternion rotation of a vector and the amount of operations seemed to be a lot. Of course it levels out or even out performs matrices with linear interpolation and concatenation of rotations. But anyhow what i decided to do was rotate a vector (x ,y , z) = x + yi + zj

with the rotation complex numbers
(a + bi)
(a + bj)

a = cos

b = sin

Following this algorithm
(a + bi)(x + yi) = x' + y'i
(a + bj)(y' + zj) = y'' + z'j

the new rotated vector is x' + y''i + z'j;
This works, it rotates the object and preserves the magnitude of the vector.

What I don't understand is how it is rotating the object.

When I put in 90 degrees v(1,0,0) goes to v(0,0,1) to (0,-1,0) back to (1,0,0)

When I put in 90 degrees v(1,1,1) goes to v(-1,-1,1) to (1, -1, -1) to (1,1,1)

My question is: Is it rotating around an axis? Can it be changed? Is it Euler angles in disguise?

Why is it the first time it rotates by 90 degrees when I put in 90?

Then it rotates 180 when I still have 90 degrees in?
 
Physics news on Phys.org
Sure ... complex numbers are natural for 2D rotations, just as quaternions are natural for 3D rotations.

But you can also do rotations with matrices; see SO(3).

The question which you have found, what is the axis of rotation, is to be found in the construction of the above systems.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 21 ·
Replies
21
Views
5K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 14 ·
Replies
14
Views
6K
  • · Replies 6 ·
Replies
6
Views
7K
  • · Replies 13 ·
Replies
13
Views
4K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 5 ·
Replies
5
Views
4K