public static PolarVector CartesianToPolarCoordinateRadian(this Vector2f coordinate)
        {
            PolarVector polarVector = new PolarVector();

            polarVector.r     = coordinate.Length();
            polarVector.theta = (float)Math.Atan(coordinate.Y / coordinate.X);
            return(polarVector);
        }
 public static Vector2f PolarToCartesianCoordinateDegrees(this PolarVector coordinate)
 {
     /*var x = coordinate.r * Math.Cos(coordinate.theta * 2 * Math.PI / 360);
      * var y = coordinate.r * Math.Sin(coordinate.theta * 2 * Math.PI / 360);
      *
      * return new Vector2f((float)x,(float)y);*/
     return(new Vector2f((float)(coordinate.r * Math.Cos(DegreesToRadian(coordinate.theta))),
                         (float)(coordinate.r * Math.Sin(DegreesToRadian(coordinate.theta)))));
 }
 public static Vector2f PolarToCartesianCoordinateRadian(this PolarVector coordinate)
 {
     return(new Vector2f((float)(coordinate.r * Math.Cos(coordinate.theta)),
                         (float)(coordinate.r * Math.Sin(coordinate.theta))));
 }