# How to rotate Cartesian coordinate system?

1. Jul 30, 2013

### leoleo2

Hello,
I would like to rotate the Cartesian coordinate system ( i=(1,0,0); j=(0,1,0); k=(0,0,1) ) so that angles between new and the old axes be equal to α, β and γ, respectively. Is any simple way similar to the Euler transformations to accomplish that?

2. Jul 30, 2013

### Mandelbroth

3. Jul 30, 2013

### leoleo2

Wikipedia really? It's not even close to helpful. :)

4. Jul 30, 2013

### Mandelbroth

Mathematics pages on Wikipedia are almost religiously checked for accuracy because math people are strict in their pursuit of accuracy. We're crazy like that. If you doubt me, try messing up a formula on a random math page and watch it get fixed, unless it's an arguably correct change, within an hour.

It's very helpful. Wikipedia is always the first place I start looking when I have a question.

If you don't like Wikipedia, though, there's always this alternative. :tongue:

5. Jul 30, 2013

### leoleo2

OK. I believe you that Wikipedia generally is helpful and I use it too. But I can not find any specific idea on Wikipedia for my specific problem.

6. Jul 30, 2013

### hilbert2

You're basically looking for a matrix A such that the vectors Ai, Aj and Ak form a basis for 3D space and are in angles α, β and γ relative to the vectors i, j and k.

You can form a system of equations from which you can solve the elements of matrix A by requiring that:

1. A must be an orthogonal matrix, i.e. vectors Ai, Aj and Ak form an orthonormal set, too, when i, j and k do.

2. The dot products are ${\bf i} \cdot(A {\bf i} )=cos(\alpha)$, ${\bf j} \cdot(A {\bf j} )=cos(\beta)$, ${\bf k} \cdot(A {\bf k} )=cos(\gamma)$

These conditions are enough to determine the matrix elements.

7. Jul 30, 2013

### SteamKing

Staff Emeritus
Don't give up. I think this fits your bill: http://inside.mines.edu/~gmurray/ArbitraryAxisRotation/ [Broken]

Last edited by a moderator: May 6, 2017
8. Jul 30, 2013

### leoleo2

Thank you very much for you reply. You stated the problem more clearly than I did.

From the initial conditions (2.) I can define immediately three components of new basis vectors ($A{\bf i}_x = acos(\alpha)$, $A{\bf j}_y = acos(\beta)$, $A{\bf k}_z = acos(\gamma)$).
For the rest of components I can write the orthogonality (using scalar or/and vector products) and the normalization conditions for new basis vectors. However, this gives system of six quadratic equations with six unknowns which is quite ugly to solve generally. Bedsides that, I would get 8 or 16 different solutions of that system and I doubt existence of more than two solutions for the original problem.

9. Jul 30, 2013

### leoleo2

Thank you very much!
The page looks interesting but it's not clear for me how to correlate the Rotation About an Arbitrary Axis to my problem.

Last edited by a moderator: May 6, 2017
10. Nov 17, 2013

### sridhar

Could someone help me figure out how to rotate a coordinate system about the z-axis such that the the line y = mx + c coincides with the x-axis?
Shouldn't a simple projection of all the coordinates i.e xj = xicos(theta), yj =yicos(theta) and zj = zj cos(theta) work?