eciToEcf function

Map<String, dynamic> eciToEcf(
  1. Map<String, dynamic> eci,
  2. dynamic gmst
)

Implementation

Map<String, dynamic> eciToEcf(Map<String, dynamic> eci, gmst) {
  // ccar.colorado.edu/ASEN5070/handouts/coordsys.doc
  //
  // [X]     [C -S  0][X]
  // [Y]  =  [S  C  0][Y]
  // [Z]eci  [0  0  1][Z]ecf
  //
  //
  // Inverse:
  // [X]     [C  S  0][X]
  // [Y]  =  [-S C  0][Y]
  // [Z]ecf  [0  0  1][Z]eci

  final x = (eci['x'] * Math.cos(gmst)) + (eci['y'] * Math.sin(gmst));
  final y = (eci['x'] * (-Math.sin(gmst))) + (eci['y'] * Math.cos(gmst));
  final z = eci['z'];

  return {
    'x': x,
    'y': y,
    'z': z,
  };
}