How Can You Calculate the Center of Rotation in 3D Space?

  • Thread starter Thread starter yasith
  • Start date Start date
  • Tags Tags
    Rotation
Click For Summary
To calculate the center of rotation in 3D space, first determine the rotation axis by taking the cross product of the vectors formed by the original and final coordinates of two points. Normalize this vector to establish the rotation axis. Next, calculate the rotation angle using the dot product of the vectors, dividing by the product of their lengths, and applying the inverse cosine function. This method relies on fundamental principles of 3D geometry and does not involve translation. Understanding these calculations is essential for accurately determining the center of rotation.
yasith
Messages
14
Reaction score
0
Dear all,

I have a problem that I need to solve. (I have made posts previously about this as well). Quite simply now I have an object that rotates in 3D space (No translation). I have coordinates of 3 points before and after rotation. Using this data how can I calculate its centre of rotation?

Thank you very much for your input.

Regards
Yasith
 
Physics news on Phys.org
yasith said:
Dear all,

I have a problem that I need to solve. (I have made posts previously about this as well). Quite simply now I have an object that rotates in 3D space (No translation). I have coordinates of 3 points before and after rotation. Using this data how can I calculate its centre of rotation?

Thank you very much for your input.

Regards
Yasith

Hey yasith and welcome to the forums.

The simple answer is to to get the rotation axis and the rotation angle.

Short version is to take the cross product of the two vectors (i.e. vectors represented by the two points) and normalize this vector to get the rotation axis.

To get the angle you need to use the dot product of the two points, divide by the product of the lengths and then take the inverse cosine of the result (which will always be between -1 and +1 inclusive).

In the cross product, the first point should be the original and the second point should be the final point (i.e. in axis = A X B, A is original, B is final point).

That's the simple answer, and it's based on principles of 3D geometry.
 

Similar threads

  • · Replies 16 ·
Replies
16
Views
28K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 4 ·
Replies
4
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 11 ·
Replies
11
Views
4K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 17 ·
Replies
17
Views
2K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 15 ·
Replies
15
Views
2K