orth_to_frac | R Documentation |
This function transforms any number of orthogonal coordinates (x,y,z), arranged as a vector or in a matrix or data frame, into the corresponding number of fractional coordinates (x_f,y_f,z_f), arranged in the same format.
ochoice = 1: X axis along a; Y axis normal to a, in the (a,b) plane; Z axis normal to X and Y (and therefore parallel to c*).
ochoice = 2: this is also called "Cambridge setting". The X axis is along a*; the Y axis lies in the (a*,b*) plane; the Z axis is, consequently, along c.
orth_to_frac(xyz, a, b, c, aa, bb, cc, ochoice = 1)
xyz |
A vector or n\times 3 matrix or data frame of orthogonal crystal coordinates. |
a |
A real number. One of the unit cell's side lengths, in angstroms. |
b |
A real number. One of the unit cell's side lengths, in angstroms. |
c |
A real number. One of the unit cell's side lengths, in angstroms. |
aa |
A real number. One of the unit cell's angles, in degrees. |
bb |
A real number. One of the unit cell's angles, in degrees. |
cc |
A real number. One of the unit cell's angles, in degrees. |
ochoice |
A natural integer indicating the choice of orthogonal transformation.
1 corresponds to the first choice and 2 to the second choice in
Giacovazzo's book (see |
A n\times 3 matrix or data frame of fractional coordinates corresponding to the orthogonal coordinates provided in the input.
# Matrix containing 3 orthogonal coordinates xyz <- matrix(c(5, 15, 10, 2, 10, 8, 1, 1, 1),ncol=3,byrow=TRUE) # Fractional coordinates xyzf <- orth_to_frac(xyz,10,30,20,90,90,90,1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.