Exemplo n.º 1
0
 /// <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
            ));
 }
Exemplo n.º 2
0
        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()));
        }
Exemplo n.º 3
0
 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())));
 }
Exemplo n.º 4
0
 public static double GetTicValue(this RealInterval realInterval, int tic, int segmentCount)
 {
     return(realInterval.Min + (realInterval.Span() * tic) / (segmentCount));
 }
Exemplo n.º 5
0
 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())));
 }