/// <summary> /// Zooms out for factor > 1 /// </summary> /// <param name="interval"></param> /// <param name="factor"></param> /// <returns></returns> public static RealInterval ZoomBy(this RealInterval interval, double factor) { factor = Math.Abs(factor); return(new RealInterval ( interval.Center() - interval.Span() * factor / 2, interval.Center() + interval.Span() * factor / 2 )); }
public static Rect ZoomBy(this Rect rect, double xZoom, double yZoom) { var xInterval = new RealInterval(rect.Left, rect.Right).ZoomBy(xZoom); var yInterval = new RealInterval(rect.Top, rect.Bottom).ZoomBy(yZoom); return(new Rect(xInterval.Min, yInterval.Min, xInterval.Span(), yInterval.Span())); }
public static IEnumerable <Rect> PillarProduct(this RealInterval vertVal, IEnumerable <RealInterval> horVals) { return(horVals.Select(mzBand => new Rect(mzBand.Min, vertVal.Min, mzBand.Span(), vertVal.Span()))); }
public static double GetTicValue(this RealInterval realInterval, int tic, int segmentCount) { return(realInterval.Min + (realInterval.Span() * tic) / (segmentCount)); }
public static IEnumerable <Rect> SandwichProduct(this RealInterval horVal, IEnumerable <RealInterval> vertVals) { return(vertVals.Select(mzBand => new Rect(horVal.Min, mzBand.Min, horVal.Span(), mzBand.Span()))); }