Exemplo n.º 1
0
        private void trueDerivativeButton_Click(object sender, EventArgs e)
        {
            plotter.CreateDerivativeTree();
            Plotter.derivativeRoot = plotter.SimplifyTree(Plotter.derivativeRoot);
            plotter.GetGraphImage(graphPictureBox, Plotter.derivativeRoot);

            try {
                var boundaries = Boundaries(xValueTextbox.Text);

                Func <double, double> d       = (m) => plotter.ProcessTree(m, Plotter.derivativeRoot);
                Func <double, double> f       = (m) => plotter.ProcessTree(m, plotter.Root);
                FunctionSeries        dSeries = new FunctionSeries(d, boundaries[0], boundaries[1], 0.1d, "Derivative");
                FunctionSeries        fSeries = new FunctionSeries(f, boundaries[0], boundaries[1], 0.1d, "Function");

                myModel = new PlotModel()
                {
                    Title = "Plot (derivative)"
                };
                myModel.Series.Add(dSeries);
                myModel.Series.Add(fSeries);
                plot.Model = myModel;

                plotGraph_called = true;

                var x = Task.Run(() => GetInputImageFromWolfram(
                                     plotter.PrefixToInfix(inputTextbox.Text.Replace(" ", string.Empty)),
                                     derivativePictureBox,
                                     wolframDerivative));
            } catch (Exception ex) {
                MessageBox.Show(ex.Message);
            }
        }