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()); }
private static Angle Reduce(Angle angle) { angle = angle.Simplify(); if (angle.Measure > Angle._270) { angle -= Angle._270; } else if (angle.Measure > Angle._180) { angle -= Angle._180; } else if (angle.Measure > Angle._90) { angle -= Angle._90; } return(angle); }
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(); }
private static Angle Reduce(Angle angle) { angle = angle.Simplify(); if (angle.Measure > Angle._270) { angle -= Angle._270; } else if (angle.Measure > Angle._180) { angle -= Angle._180; } else if (angle.Measure > Angle._90) { angle -= Angle._90; } return angle; }