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

  • Context: Undergrad 
  • Thread starter Thread starter yasith
  • Start date Start date
  • Tags Tags
    Rotation
Click For Summary
SUMMARY

The discussion focuses on calculating the center of rotation for an object in 3D space using the coordinates of three points before and after rotation. The method involves determining the rotation axis through the cross product of the vectors formed by the two points and normalizing this vector. Additionally, the rotation angle is calculated using the dot product of the vectors, followed by applying the inverse cosine function. This approach is grounded in established principles of 3D geometry.

PREREQUISITES
  • Understanding of 3D geometry principles
  • Familiarity with vector operations, specifically cross product and dot product
  • Knowledge of normalization techniques for vectors
  • Basic proficiency in trigonometric functions, particularly inverse cosine
NEXT STEPS
  • Research how to perform vector normalization in 3D space
  • Learn about the applications of cross product in physics and computer graphics
  • Study the implications of rotation matrices in 3D transformations
  • Explore advanced topics in 3D geometry, such as quaternion representation of rotations
USEFUL FOR

This discussion is beneficial for computer graphics developers, robotics engineers, and anyone involved in 3D modeling or simulation who needs to understand rotation mechanics in three-dimensional space.

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 40 ·
2
Replies
40
Views
9K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 4 ·
Replies
4
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 11 ·
Replies
11
Views
4K
  • · Replies 9 ·
Replies
9
Views
1K