- #1

- 223

- 2

If so, this would be a lot more intuitive than quaternions (at least for me) for programming a computer to do 3d tranformation interpolation.

- Thread starter Dissident Dan
- Start date

- #1

- 223

- 2

If so, this would be a lot more intuitive than quaternions (at least for me) for programming a computer to do 3d tranformation interpolation.

- #2

quasar987

Science Advisor

Homework Helper

Gold Member

- 4,778

- 11

Did you get the crown in a Maxim magazine?

- #3

- 223

- 2

LOL, I was expecing something substantive, and I got that.

No, it is not from a magazine.

No, it is not from a magazine.

- #4

- 5,672

- 941

Solving for the unknown, [tex]R_2 R_1^{-1}=R_3[/tex].

When you rotate about an axis, you leave it unchanged.

So, the vector you seek is an eigenvector of [tex]R_3[/tex] (with eigenvalue 1). (This might be easier if you can take advantage of the fact [tex]R_3[/tex] is a rotation.)

- #5

quasar987

Science Advisor

Homework Helper

Gold Member

- 4,778

- 11

K. It's the Burger King crown though, isn't it?

- #6

- 223

- 2

Wow. This is the same exact method that a co-worker and I discussed earlier today.robphy said:

Solving for the unknown, [tex]R_2 R_1^{-1}=R_3[/tex].

When you rotate about an axis, you leave it unchanged.

So, the vector you seek is an eigenvector of [tex]R_3[/tex] (with eigenvalue 1). (This might be easier if you can take advantage of the fact [tex]R_3[/tex] is a rotation.)

Thanks for the reply.

- #7

- 223

- 2

Yes, it is. However, I modified it to say "Veggie King" and slapped a BK Veggie sticker on it. (I don't eat animals.)quasar987 said:K. It's the Burger King crown though, isn't it?

- #8

- 223

- 2

Once I have the matrix [tex]R_3[/tex] (which transforms [tex]R_1[/tex] into [tex]R_2[/tex]) and the axis of rotation, I have the following method in mind for finding the angle of rotation about the axis:

1) Pick a unit vector [tex]V[/tex] that is perpendicular to the axis

2) Multiply [tex]V[/tex] by [tex]R_3[/tex] to get a new, rotated vector [tex]V_2[/tex]

3) Calculate the angle between [tex]V[/tex] and [tex]V_2[/tex] using [tex]acos(V dot V_2)[/tex] (this limits the range to [0,PI])

- #9

- 5,672

- 941

http://mathworld.wolfram.com/OrthogonalMatrix.html

So, if A is an orthogonal matrix, then inverse(A)=transpose(A).

Next, suppose you found the eigenvector of R3 (with eigenvalue 1).

If you express R3 in a basis that includes your eigenvector, then

your rotation matrix would have a diagonal with entries 1,cos(theta),cos(theta).

The trace of R3 (the sum of the diagonals) in this basis is equal to its trace in the original basis. So, without chaging bases, trace(R3)=1+2cos(theta). Solve for theta.

After googling, the following URL suggests a more efficient method

http://www.math.niu.edu/~rusin/known-math/97/rotations [Broken]

So, if A is an orthogonal matrix, then inverse(A)=transpose(A).

Next, suppose you found the eigenvector of R3 (with eigenvalue 1).

If you express R3 in a basis that includes your eigenvector, then

your rotation matrix would have a diagonal with entries 1,cos(theta),cos(theta).

The trace of R3 (the sum of the diagonals) in this basis is equal to its trace in the original basis. So, without chaging bases, trace(R3)=1+2cos(theta). Solve for theta.

After googling, the following URL suggests a more efficient method

http://www.math.niu.edu/~rusin/known-math/97/rotations [Broken]

Last edited by a moderator:

- Last Post

- Replies
- 2

- Views
- 10K

- Last Post

- Replies
- 4

- Views
- 2K

- Last Post

- Replies
- 11

- Views
- 14K

- Last Post

- Replies
- 2

- Views
- 4K

- Last Post

- Replies
- 4

- Views
- 945

- Last Post

- Replies
- 16

- Views
- 6K

- Last Post

- Replies
- 18

- Views
- 7K

- Replies
- 24

- Views
- 55K

- Replies
- 4

- Views
- 2K

- Replies
- 4

- Views
- 7K