# Converting Rotation matrix to operate on fractional coordinates

1. Aug 14, 2012

### rheugle

Hi

I have an orthogonalized rotation matrix

-0.500000 -0.866025 0.000000
0.866025 -0.500000 0.000000
0.000000 0.000000 1.000000

for the following unit cell:
a b c alpha beta gamma space group
131.760 131.760 120.910 90.00 90.00 120.00 P 31

Does anyone know how I convert my original rotation matrix to the following one for operation on on a set of fractional coordinates?

0.000000 -1.000000 0.000000
1.000000 -1.000000 0.000000
0.000000 0.000000 1.000000

2. Aug 15, 2012

### chiro

Hey rheugle and welcome to the forums.

What do you mean by fractional co-ordinates? Also with the matrix you posted, is this a new basis that you wish to use instead of the standard one?

3. Aug 22, 2012

### mushi

Hi Guys,

Sorry I am not going to reply to the question above but I have another problem regarding my task. I hope you don't mind to reply. My problem is as follows:

I want to rotate a 3D body around an arbitrary axis with fixed principal axes XYZ. The solutions I found is with Euler angles (Euler rotational matrices). But in Euler case, we are not rotating the body but rotating the principal axes, which I don't want.

In short:
In Euler case we map axes XYZ to X'Y'Z' with rotation matrices using any angle theta.
I my case I want my body position xyz to be mapped to new position x'y'z' after rotation about an arbitrary axis of angle theta. (XYZ = XYZ before and after applying rotation).

I hope I am clear to explain my question here.
Desperately waiting for help.

Mushi

4. Aug 22, 2012

### chiro

If you want to rotate the axis then just treat the axis like a vector or point and rotate that with a rotation matrix.

This is basically what hierarchical co-ordinate systems are about: each system has a reference point, a scale, and an orientation with respect to its parent system.

So in short: you have a rotation matrix to rotate the axis so first calculate that then plug that in to the new matrix for rotating your point and your done.

A' = RA, R - rotation matrix to rotate axis, A original axis and then X' = QX where Q is rotation matrix based on A' and X is the point.

The angle-axis formulation is what you need:

http://en.wikipedia.org/wiki/Rotation_matrix#Rotation_matrix_from_axis_and_angle

5. Aug 23, 2012

### Vaedoris

Could someone explain in detail what is the reference frame of the equation given in the link above?

I doubt that the matrix is with respect to the principal frame or in this case the XYZ frame mentioned by Mushi.