Ejemplo n.º 1
0
        private void B_Draw_Click(object sender, RoutedEventArgs e)
        {
            DrawDiagram Diagram = new DrawDiagram(50, Min_x.Text, Max_x.Text, Min_y.Text, Max_y.Text, function.Text);

            Diagram.DrawPlane(DrawingGrid);
            Diagram.DrawFunc();
        }
Ejemplo n.º 2
0
 public TaylorSeries(Canvas drawingCanvas)
 {
     this.DrawingCanvas = drawingCanvas;
     DD = new DrawDiagram(DrawingCanvas, new Canvas());
 }
Ejemplo n.º 3
0
        public void Draw(Canvas drawingCanvas, Canvas informationCanvas)
        {
            ParseEquations();
            if (Variables.Count != 2)
            {
                MessageBox.Show("Can not draw Equations Diagram");
                return;
            }

            DD = new DrawDiagram(drawingCanvas, informationCanvas);

            informationCanvas.Children.Clear();
            drawingCanvas.Children.Clear();

            double minY = Math.Min(Math.Floor(-1.5 * Math.Abs(FirstEquationFunction(0))), Math.Floor(-1.5 * Math.Abs(SecondEquationFunction(0))));
            double maxY = -1 * minY;

            double minX = Math.Min(Math.Min(Math.Floor(-1.5 * Math.Abs(FirstEquationInverseFunction(minY))), -1.5 * Math.Abs(SecondEquationInverseFunction(minY))),
                                   Math.Min(Math.Floor(-1.5 * Math.Abs(FirstEquationInverseFunction(maxY))), -1.5 * Math.Abs(SecondEquationInverseFunction(maxY))));
            double maxX = -1 * minX;

            if (answer() == true)
            {
                List <double> answers     = new List <double>();
                double        determinant = Determinant(FactorMatrix);

                for (int i = 0; i < FactorMatrix.Length; i++)
                {
                    answers.Add(Math.Round(Determinant(KeramerMatrix(FactorMatrix, ConstantMatrix, i)) / determinant));
                }

                if (Variables.Contains('y') && Variables.Contains('x'))
                {
                    if (Variables[0] == 'x')
                    {
                        minX = answers[0] - 4;
                        maxX = answers[0] + 4;
                        minY = answers[1] - 4;
                        maxY = answers[1] + 4;
                    }
                    else
                    {
                        minX = answers[1] - 4;
                        maxX = answers[1] + 4;
                        minY = answers[0] - 4;
                        maxY = answers[0] + 4;
                    }
                }

                else
                {
                    minX = answers[0] - 4;
                    maxX = answers[0] + 4;
                    minY = answers[1] - 4;
                    maxY = answers[1] + 4;
                }
            }

            DD.UpdateVariables(minX.ToString(), maxX.ToString(), minY.ToString(), maxY.ToString());

            DD.DrawChartLines();
            DD.DrawChartLabels();

            List <string> functions = new List <string>();
            List <Brush>  colors    = new List <Brush>();

            DD.DrawFunction(FirstEquationFunction, Brushes.Red);
            functions.Add("Line 1");
            colors.Add(Brushes.Red);

            DD.DrawFunction(SecondEquationFunction, Brushes.Blue);
            functions.Add("Line 2");
            colors.Add(Brushes.Blue);

            DD.DrawInformationLabels(functions, colors);
        }