예제 #1
0
        public FunctionsForm()
        {
            InitializeComponent();

            control4AllViews = new Control4AllViews(this);

            control4FunctionsView = new Control4FunctionsView(this, control4AllViews);
            control4AllViews.control4FunctionsView = control4FunctionsView;

            DiagramsForm diagram = DiagramsForm.GetInvisible;

            control4FunctionsView.Control4DiagramView =
                new Control4DiagramView(diagram, control4AllViews);
            control4AllViews.Control4DiagramView = control4FunctionsView.Control4DiagramView;

            NonLineairSystemsForm m = NonLineairSystemsForm.GetInvisible;

            control4AllViews.Control4NonLineairSystems = m.Control4NonLineairSystems;
            DefineColorsForm defColorForm = DefineColorsForm.GetInvisible;

            defColorForm.CombinedControl = m.Control4NonLineairSystems;

            Params2Form();

            this.Cursor              = Cursors.Default;
            pictureBox.Cursor        = Cursors.Cross;
            listBoxXValues.DrawItem += listBox_DrawItem;
        }
예제 #2
0
        public Control4FunctionsView(IView f, Control4AllViews cav) : base(f, cav)
        {
            Constants constants = new Constants();

            Constants.SettingsFromXML();
            PlotForm = (IFunctionsView)f;
            // BSize = 2000; done in base!!!!!!
            CurrentFunction    = new BaseFunction();
            functionDrawer     = new FunctionDrawer(PlotForm, this, createGIF);
            henonFunction      = new HenonFunction(PlotForm);
            mandelbrotFunction = new MandelbrotFunction(PlotForm);

            CurrFunctionType = Constants.currentFunctionType;

            Constants.Initalising          = false;
            PlotForm.Control4FunctionsView = this;
            PlotForm.Params2Form();
        }
예제 #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);
            }
        }
예제 #4
0
 public ImageControl(IView f, Control4AllViews cav) : this(f) {
     plotForm         = f;
     control4AllViews = cav;
     BSize            = Constants.UsedBSize;
 }
예제 #5
0
 public Control4DiagramView(IView f, Control4AllViews cav) : base(f, cav)
 {
     diagramDrawer          = new DiagramDrawer(PlotForm, control4AllViews.control4FunctionsView, false);
     diagramFunctionPlotter = new FunctionDrawerInset(PlotForm, Control4FunctionsView, false);
 }