Exemplo n.º 1
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);
            }
        }