Esempio n. 1
0
 // -------------------------------------------------        OnPaint
 private void OnPaint (object sender, PaintEventArgs e)
 {
     Graphics grfx = e.Graphics;
     MSPlotAuxi auxi = new MSPlotAuxi (0, 0, 0, SegmentLocation .Anywhere);
     //FullGrArea_AuxiDraw fgad = new FullGrArea_AuxiDraw (new Pen (Color .Blue), SegmentLocation .Partly_Inside);
     for (int i = 0; i < nTypes; i++)
     {
         grfx .DrawRectangles (Pens .DarkGray, rc);
     }
     plot [0] .DrawYofX (grfx, auxi, Math .Sin);
     plot [1] .DrawYofX (grfx, auxi, Math .Cos);
     plot [2] .DrawYofX (grfx, auxi, Math .Tanh);
     plot [3] .DrawYofX (grfx, auxi, Math .Asin);
     plot [4] .DrawYofX (grfx, auxi, Math .Acos);
     plot [5] .DrawYofX (grfx, auxi, Math .Atan);
     plot [6] .DrawYofX (grfx, auxi, Sample_Func .sinAsinB, new double [2] { 14, 1 });
     plot [7] .DrawYofX (grfx, auxi, Sample_Func .RepeatDampedVibrations, new double [] { 3, 2, 10 });
     plot [8] .DrawYofX (grfx, auxi, Sample_Func .NormalDistribution, new double [2] { 0.8, 0.5 });
     auxi .ParamTrio (0.0, 29.0, 0.02);
     plot [9] .DrawParamFunc (grfx, auxi, Sample_Func .ParamFunc_X_0, Sample_Func .ParamFunc_Y_0);
     auxi .ParamTrio (-7.5, 7.5, 0.02);
     plot [10] .DrawParamFunc (grfx, auxi, Sample_Func .ParamFunc_X_1, Sample_Func .ParamFunc_Y_1);
     auxi .ParamTrio (-4.0, 4.0, 0.01);
     plot [11] .DrawParamFunc (grfx, auxi, Sample_Func .ParamFunc_X_2, Sample_Func .ParamFunc_Y_2);
     auxi .ParamTrio (0.0, 20.0, 0.02);
     plot [12] .DrawParamFunc (grfx, auxi, Sample_Func .Lissajou_Param_X, Sample_Func .Lissajou_Param_Y);
     auxi .ParamTrio (-2.5, 2.5, 0.005);
     plot [13] .DrawParamFunc (grfx, auxi, Sample_Func .ParamFunc_X_4, Sample_Func .ParamFunc_Y_4);
     auxi .ParamTrio (0.0, 2.1 * Math .PI, 0.01);
     plot [14] .DrawParamFunc (grfx, auxi, Sample_Func .ParamFunc_X_5, Sample_Func .ParamFunc_Y_5);
     plot [15] .DrawYofX (grfx, auxi, Math .Sin);
     auxi .PenOrder = 1; // .PenColor = Color .Red;
     plot [15] .DrawYofX (grfx, auxi, Math .Cos);
 }
Esempio n. 2
0
 // -------------------------------------------------
 public AreaOnScreen (MSPlot plot, int [] iFunc, MSPlotAuxi [] auxi, FunctionAccess [] acs)  
 {
     area = plot;
     ifunc = iFunc;
     auxidraw = auxi;
     acsfuncs = acs;
     Rectangle rc = area .MainArea .Area;
 }
Esempio n. 3
0
        // -------------------------------------------------        OnPaint
        private void OnPaint (object sender, PaintEventArgs e)
        {
            Graphics grfx = e .Graphics;

            area_0 .Draw (grfx);
            MSPlotAuxi msad = new MSPlotAuxi (0, SegmentLocation .Anywhere);
            area_0 .DrawYofX (grfx, msad, Math .Sin);

            area_1 .Draw (grfx);
            area_1 .DrawYofX (grfx, msad, Sin10xCosx);
            msad .PenOrder = 1;
            area_1 .DrawYofX (grfx, msad, Math .Cos);
            area_1 .DrawYofX (grfx, msad, MinusCosx);

            text .Draw (grfx);
        }
Esempio n. 4
0
        // -------------------------------------------------        DrawFunc
        public void DrawFunc (Graphics grfx)
        {
            double [] fParams;
            MSPlotAuxi msad = new MSPlotAuxi (0, SegmentLocation .Partly_Inside);

            switch (Type)
            {
                case DemoFuncType .Sine:
                    plot .DrawYofX (grfx, msad, Math .Sin);
                    break;
                case DemoFuncType .Cosine:
                    plot .DrawYofX (grfx, msad, Math .Cos);
                    break;
                case DemoFuncType .HiperbolicTangent:
                    plot .DrawYofX (grfx, msad, Math .Tanh);
                    break;
                case DemoFuncType .Arcsine:
                    plot .DrawYofX (grfx, msad, Math .Asin);
                    break;
                case DemoFuncType .Arccosine:
                    plot .DrawYofX (grfx, msad, Math .Acos);
                    break;
                case DemoFuncType .Arctangent:
                    plot .DrawYofX (grfx, msad, Math .Atan);
                    break;
                case DemoFuncType .SinSin:
                    fParams = new double [2] { 14, 1 };
                    plot .DrawYofX (grfx, msad, Sample_Func .sinAsinB, fParams);
                    break;
                case DemoFuncType .DampedVibrations:
                    fParams = new double [] { 3, 2, 10 };
                    plot .DrawYofX (grfx, msad, Sample_Func .RepeatDampedVibrations, fParams);
                    break;
                case DemoFuncType .Distribution:
                    fParams = new double [2] { 0.8, 0.5 };
                    plot .DrawYofX (grfx, msad, Sample_Func .NormalDistribution, fParams);
                    break;
                case DemoFuncType .Parametric_0:
                    msad .ParamTrio (0.0, 29.0, 0.02);
                    plot .DrawParamFunc (grfx, msad, Sample_Func .ParamFunc_X_0, Sample_Func .ParamFunc_Y_0);
                    break;
                case DemoFuncType .Parametric_1:
                    msad .ParamTrio (-7.5, 7.5, 0.02);
                    plot .DrawParamFunc (grfx, msad, Sample_Func .ParamFunc_X_1, Sample_Func .ParamFunc_Y_1);
                    break;
                case DemoFuncType .Parametric_2:
                    msad .ParamTrio (-4.0, 4.0, 0.01);
                    plot .DrawParamFunc (grfx, msad, Sample_Func .ParamFunc_X_2, Sample_Func .ParamFunc_Y_2);
                    break;
                case DemoFuncType .Lissajou:
                    msad .ParamTrio (0.0, 20.0, 0.02);
                    plot .DrawParamFunc (grfx, msad, Sample_Func .Lissajou_Param_X, Sample_Func .Lissajou_Param_Y);
                    break;
                case DemoFuncType .Parametric_4:
                    msad .ParamTrio (-2.5, 2.5, 0.005);
                    plot .DrawParamFunc (grfx, msad, Sample_Func .ParamFunc_X_4, Sample_Func .ParamFunc_Y_4);
                    break;
                case DemoFuncType .Parametric_5:
                    msad .ParamTrio (0.0, 6.29, 0.01);
                    plot .DrawParamFunc (grfx, msad, Sample_Func .ParamFunc_X_5, Sample_Func .ParamFunc_Y_5);
                    break;
                case DemoFuncType .Trigonometric_0:
                    plot .DrawYofX (grfx, msad, Math .Sin);
                    msad .PenOrder = 1;
                    plot .DrawYofX (grfx, msad, Math .Cos);
                    break;
            }
        }
Esempio n. 5
0
 // -------------------------------------------------        CreateAreaOnScreen
 private AreaOnScreen CreateAreaOnScreen (MSPlot plot, int [] nFuncs)
 {
     MSPlotAuxi [] auxi = new MSPlotAuxi [nFuncs .Length];
     FunctionAccess [] acs = new FunctionAccess [nFuncs .Length];
     for (int i = 0; i < nFuncs .Length; i++)
     {
         acs [i] = funcInputInfo [nFuncs [i]] .FunctionAccess;
         auxi [i] = new MSPlotAuxi (i, SegmentLocation .Partly_Inside);
         if (acs [i] .Source == DataSource .ParametricFunction ||
             acs [i] .Source == DataSource .InterpreterParametric)
         {
             auxi [i] .ParamTrio (acs [i] .ParamFrom, acs [i] .ParamTo, acs [i] .ParamStep);
         }
     }
     return (new AreaOnScreen (plot, nFuncs, auxi, acs));   
 }