public static RAE XYZToRAE(XYZ xyz) { var r = xyz.Magnitude(); var a = Atan2(xyz.Y, xyz.X); var e = Asin(-xyz.Z / r); var rae = new RAE() { R = r, A = a, E = e }; return(rae); }
public static RAE NEDToRAE(NED ned) { var r = ned.Magnitude(); var a = Atan2(ned.E, ned.N); var e = Asin(-ned.D / r); var rae = new RAE() { R = r, A = a, E = e }; return(rae); }
public static XYZ RAEToXYZ(RAE rae) { var x = rae.R * Cos(rae.A) * Cos(rae.E); var y = rae.R * Sin(rae.A) * Cos(rae.E); var z = -rae.R * Sin(rae.E); var xyz = new XYZ() { X = x, Y = y, Z = z }; return(xyz); }
public static NED RAEToNED(RAE rae) { var x = rae.R * Cos(rae.A) * Cos(rae.E); var y = rae.R * Sin(rae.A) * Cos(rae.E); var z = -rae.R * Sin(rae.E); var ned = new NED() { N = x, E = y, D = z }; return(ned); }