double angle_between_two_vectors(Vector3D A,Vector3D B)
{
  double A_DOT_B=A.DotProduct(B);
  double A_length=A.CalculateLength();
  double B_length=B.CalculateLength();
  double AB=A_length*B_length;
  double angle=180*acos(A_DOT_B/AB)/3.14;
  return angle;
}