public static double pointCircleDistance(Geo p1,Geo p2,Geo center){
  Geo n=Geo.crossNormalize(p1,p2,new Geo());
  Geo c=center.normalize(new Geo());
  double cosTheta=Geo.dot(n,c);
  double theta=Math.acos(cosTheta);
  return Math.abs(Math.PI / 2 - theta);
}

public static double pointCircleDistance ( Geo p1 , Geo p2 , Geo center ) { Geo n = Geo . crossNormalize ( p1 , p2 , new Geo ( ) ) ; Geo c = center . normalize ( new Geo ( ) ) ; double cosTheta = Geo . dot ( n , c ) ; double theta = Math . acos ( cosTheta ) ; return Math . abs ( Math . PI / 2 - theta ) ; }
calculates the great circle distance from the point ( center ) to the great circle containing the points ( p1 ) and ( p2 ) .
