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(); }
public TaylorSeries(Canvas drawingCanvas) { this.DrawingCanvas = drawingCanvas; DD = new DrawDiagram(DrawingCanvas, new Canvas()); }
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); }