# Fractional and Cartesian Coordinates

I have a set of fractional coordinates.

I also have a rotation matrix that operates on cartesian coordinates.

Does anyone know how I could convert my rotation matrix so I can operate on the fractional coordinates?

The fractional coordinates are functions of the basis vectors a,b,c and the corresponding alpha, beta, gamma.

The following link explains how to do coordinate transformations. I'm just not sure about how to use the listed matrices to operate on the rotation matrix.

http://en.wikipedia.org/wiki/Fractional_coordinates

Any ideas?

Thanks

-

Lets CF be the matrix "Fractional to Cartesian" and FC be the matrix "Cartesian to Fractional" (the ones in your Wikipedia article). Let RC be the rotation matrix and xf be a fractional vector. Then to calculate the rotation, you have to transform xf to cartesian (`xc = CF * xf`), rotate it (`xc_rotated = RC * xc`) and transform it back (`xf_rotated = FC * xc_rotated`). Put this together and you get

``````xf_rotated =  FC * RC * CF * xf
``````

So, the matrix you are looking for is `FC * RC * CF`.

-
Hi I checked the math and everything makes sense but for some reason I end up with the exact same matrix! Any thoughts on why that might be happening? – Rodney Aug 15 '12 at 19:03
@Rodney: I suggest you use an example vector where you know where it should go through the transformation and check this step-by-step. – Doc Brown Aug 15 '12 at 19:07

Looks like you need to do:

1. Convert Fractal Coordinates -> Cartesian Coordinates (CC1).
2. Create a Positional Matrix (PM) from your CC1.
3. Perform the rotation on the PM using your rotation matrix to get a Transformed Matrix (TM).
4. Get the Cartesian Coordinates (CC2) from TM.
5. Convert CC2 -> Fractal Coordinates.
-