angleDiff static method

double angleDiff(
  1. int lx,
  2. double time,
  3. double angle
)

地心坐标中的日月位置计算

@param lx lx=1时计算t时刻日月角距与jiao的差, lx=0计算t时刻太阳黄经与jiao的差 @param time time @param angle angle @return 地心坐标中的日月位置计算

Implementation

static double angleDiff(int lx, double time, double angle) {
  List<double> sun = earCal(time); // 计算太阳真位置(先算出日心坐标中地球的位置)
  sun[0] += pi;
  sun[1] = -sun[1]; // 转为地心坐标
  addGxc(time, sun); // 补周年光行差
  if (lx == 0) {
    Nutation d = nutation(time);
    sun[0] += d.Lon; // 补黄经章动
    return rad2mrad(angle - sun[0]);
  }
  List<double> moon = moonCoord(time); // 日月角差与章动无关
  return rad2mrad(angle - (moon[0] - sun[0]));
}