/// <summary>Converts the current instance into a polar coordinate.</summary>
 private PolarCoordinate PointDToPolarCoordinate(PointD value)
 {
     //			double Value;
     //			double TempY = -pY;
     //			if(pX == 0)
     //				Value = 0;
     //			else
     //				Value = TempY / pX;
     // Calculate the coordinate using the default: 0° = East
     // and counter-clockwise movement
     Radian Result = new Radian(Math.Atan2(-value.Y, value.X));
     PolarCoordinate Result2 = new PolarCoordinate((float)Math.Sqrt(value.X * value.X + value.Y * value.Y), Result.ToAngle(), Azimuth.East, PolarCoordinateOrientation.Counterclockwise);
     // And re-orient it at North and Clockwise
     return Result2.ToOrientation(Azimuth.North, PolarCoordinateOrientation.Clockwise);
 }
		/// <summary>Converts a polar coordinate to a highly-precise pixel coordinate.</summary>
		public PointD ToPointD(PolarCoordinate coordinate)
		{
			return coordinate.ToOrientation(pOrigin, pOrientation).Rotate(-pRotation.DecimalDegrees).ToPointD()
				.Multiply(HorizontalScale, VerticalScale).Add(HalfWidth, HalfHeight); 
		}