private static Angle Reflect(Angle angle, Angle mirror_line)
{
mirror_line = mirror_line.Simplify();
Angle diff = (mirror_line - angle.Simplify()).Simplify();
if (Math.Abs(diff) > Angle._90)
{
mirror_line = (mirror_line + Angle._180).Simplify();
diff = mirror_line - angle.Simplify();
}
return((new Angle(mirror_line + diff, AngleType.Radians)).Simplify());
}