FACT++  1.0
void eraRm2v ( double  r[3][3],
double  w[3] 
)

Definition at line 3 of file rm2v.c.

Referenced by palDm2av(), and t_rm2v().

35 {
36  double x, y, z, s2, c2, phi, f;
37 
38 
39  x = r[1][2] - r[2][1];
40  y = r[2][0] - r[0][2];
41  z = r[0][1] - r[1][0];
42  s2 = sqrt(x*x + y*y + z*z);
43  if (s2 > 0) {
44  c2 = r[0][0] + r[1][1] + r[2][2] - 1.0;
45  phi = atan2(s2, c2);
46  f = phi / s2;
47  w[0] = x * f;
48  w[1] = y * f;
49  w[2] = z * f;
50  } else {
51  w[0] = 0.0;
52  w[1] = 0.0;
53  w[2] = 0.0;
54  }
55 
56  return;
57 
58 }

+ Here is the caller graph for this function: