How Can I Make an Object Revolve Around a Tilted Axis?

  • Thread starter Thread starter cake21
  • Start date Start date
  • Tags Tags
    Axis Rotation
Click For Summary
To make an object revolve around a tilted axis, consider using Rodrigues' rotation formula or quaternions for better handling of rotations. Transform the coordinates so the rotation center is at the origin and the axis of rotation aligns with the z-axis, then apply the rotation formula. Quaternions are recommended for managing multiple rotations and interpolation in animations. After computing the final quaternion, convert it to a linear transformation matrix to apply to the object's points. This approach simplifies the rotation process and enhances performance in animation scenarios.
cake21
Messages
1
Reaction score
0
I am writing a little code that should make an object revolve around a tilted axis.

Here is what I have:
-The center coordonates
-A normal array (3 numbers between 0 and 1);
-position of the object.

Is there a way to do this?

I think:
http://en.wikipedia.org/wiki/Rodrigues'_rotation_formula
Should be it , but I can't work out how to use it. Does the formula return an array?
 
Physics news on Phys.org
I can't work out how to use it. Does the formula return an array?
Which formula in that article are you talking about?

If you want a conceptually simple way of doing it, consider this:

Do you know how to write code that would change from one coordinate system to another? If you change coordinates so that the "center" of the rotation becomes the origin in the new coordinate system and the axis of rotation becomes the z-axis in the new coordinates system then you can apply the formula for rotating an object about the z-axis. Get the coordinates of interest in the new coordinate system and then transfer those coordinates back to the original coordinate system.

I've read articles by people who do computer animation that say that using quaterions is the best way to deal with the motion of objects. Are you doing animation?
 
cake21 said:
I am writing a little code that should make an object revolve around a tilted axis.

Here is what I have:
-The center coordonates
-A normal array (3 numbers between 0 and 1);
-position of the object.

Is there a way to do this?

I think:
http://en.wikipedia.org/wiki/Rodrigues'_rotation_formula
Should be it , but I can't work out how to use it. Does the formula return an array?

Hey cake21 and welcome to the forums.

One method you might want to consider is to use quaternions and then after you computer the final output quaternion, convert it to a linear transformation (matrix) and then apply that matrix to the points you need to do.

The reason why I recommend this is because if you want to multiple rotations, or some something like rotation interpolations, quaternions are probably the best way of doing this, and building a quaternion library is not a hard thing to do either.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 32 ·
2
Replies
32
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 16 ·
Replies
16
Views
2K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 10 ·
Replies
10
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K