public virtual Point InverseTransform(double x, double y, Axis yAxis) { Debug.Assert(yAxis != null); if (IsPolar) { x -= MidPoint.X; y -= MidPoint.Y; double th = Math.Atan2(y, x); double r = Math.Sqrt(x * x + y * y); x = r / Scale + Offset; y = yAxis != null ? th / yAxis.Scale + yAxis.Offset : double.NaN; return(new Point(x, y)); } return(new Point(InverseTransformX(x), yAxis.InverseTransformX(y))); }
public virtual Point InverseTransform(double x, double y, Axis yAxis) { Debug.Assert(yAxis != null); if (IsPolar) { x -= MidPoint.X; y -= MidPoint.Y; double th = Math.Atan2(y, x); double r = Math.Sqrt(x * x + y * y); x = r / Scale + Offset; y = yAxis != null ? th / yAxis.Scale + yAxis.Offset : double.NaN; return new Point(x, y); } return new Point(InverseTransformX(x), yAxis.InverseTransformX(y)); }