Пример #1
0
 public void SetMiratypePlot(string tag)
 {
     foreach (LinePlot p in linePlotters)
     {
         if (p.SpecificLineType == SpecificLineType.Mira)
         {
             fractalPlotter = p;
             break;
         }
     }
     if (fractalPlotter is LinePlot)
     {
         fractalType = fractalPlotter.ThisType;
         MiraLinePlotter plotter   = (MiraLinePlotter)fractalPlotter;
         string[]        favorites = plotter.Favorites;
         if (favorites.Length > 0)
         {
             Int32.TryParse(tag, out int miraType);
             if (miraType >= 0)
             {
                 plotter.setFavorite(miraType);
                 if (PlotForm != null)
                 {
                     PlotForm.FormImage = PointsImage.Bitmap;
                 }
             }
         }
     }
 }
Пример #2
0
        public override BasePlotter Clone(DirectBitmap m)
        {
            MiraLinePlotter plotter = new MiraLinePlotter(combinedControl, m);

            plotter.Favorites = this.Favorites;
            return(plotter);
        }
Пример #3
0
        public Control4NonLineairSystems(ICombined f, Control4AllViews bf) : base(f, bf)
        {
            pictBoxSize = new Size(BSize, BSize);

            mandelbrotInsetBitmap = new DirectBitmap(pictBoxSize.Width / 5, pictBoxSize.Height / 5);
            mandelbrotPlotInset   = new MandelbrotPlot(this, mandelbrotInsetBitmap);

            generalPlotters.Add(new UserdefinedPlot(this));
            generalPlotters.Add(new MandelbrotPlot(this));
            generalPlotters.Add(new JuliaPlot3(this, 0));
            generalPlotters.Add(new JuliaRationalPlot(this, 0));
            generalPlotters.Add(new HenonPlot(this));
            generalPlotters.Add(new LambdaPlot(this));
            generalPlotters.Add(new MultibrotReciprokePlot(this));
            generalPlotters.Add(new MandelbarPlot(this));

            fractalPlotter = generalPlotters[1];

            for (int jp = 0; jp < JuliaPlot.Initials.Length; jp++)
            {
                JuliaPlot jpp = new JuliaPlot(this, jp);
                JuliaPlotters.Add(jpp);
            }
            MiraLinePlotter miraLinePlotter = new MiraLinePlotter(this);

            linePlotters.Add(miraLinePlotter);
            linePlotters.Add(new BolSpiralLinePlotter(this));
            linePlotters.Add(new HenonLinePlotter(this));
            linePlotters.Add(new DustLinePlotter(this));
            linePlotters.Add(new CloudLinePlotter(this, CloudType.Type0));
            linePlotters.Add(new CloudLinePlotter(this, CloudType.Type1));
            //   linePlotters.Add(new CloudLinePlotter(this, CloudType.Type2));
            linePlotters.Add(new DendriteLinePlotter(this));
            linePlotters.Add(new StarLinePlotter(this));
            linePlotters.Add(new JuliaLinePlotter(this));

            for (int i = 0; i < miraLinePlotter.Favorites.Length; i++)
            {
                MiraLinePlotter miraExample = (MiraLinePlotter)miraLinePlotter.Clone(new DirectBitmap(100, 100));
                miraExample.ExampleNumber = i;
                miraLineplotExamples.Add(miraExample);
            }
            Xmin = (decimal)fractalPlotter.XMin;
            Xmax = (decimal)fractalPlotter.XMax;
            Ymin = (decimal)fractalPlotter.YMin;
            Ymax = (decimal)fractalPlotter.YMax;

            InterpolateColorPalette();

            foreach (BasePlotter p in generalPlotters)
            {
                BasePlotter pp = p.Clone(new DirectBitmap(100, 100));
                examplePlottersGeneral.Add(pp);
            }
            for (int jp = 0; jp < JuliaPlot.Initials.Length; jp++)
            {
                JuliaPlot jpp = new JuliaPlot(this, jp, new DirectBitmap(100, 100));
                examplePlottersJulia.Add(jpp);
            }
            for (int mp = 0; mp < linePlotters.Count; mp++)// Enum.GetNames(typeof(SpecificLineType)).Length - 1; mp++) {
            {
                BasePlotter mpp = linePlotters[mp].Clone(new DirectBitmap(100, 100, true));
                examplePlottersMira.Add(mpp);
            }
        }