private void DrawIntegral() { PointPairList pairListHit = new PointPairList(); PointPairList pairListNoHit = new PointPairList(); double function_result; double d = FindMaximum(); double c = FindMinimum(); double x; double y; for (uint i = 0; i < N; ++i) { x = a + random.NextDouble() * (b - a); y = c + random.NextDouble() * (d - c); function_result = Function(x); if (0 > function_result) { if (0 > y && function_result <= y) { pairListHit.Add(new PointPair(x, y)); } else { pairListNoHit.Add(new PointPair(x, y)); } } else { if (0 <= y && function_result >= y) { pairListHit.Add(new PointPair(x, y)); } else { pairListNoHit.Add(new PointPair(x, y)); } } } LineItem hitCurve = pane.AddCurve("Hit", pairListHit, Color.Green, SymbolType.Plus); hitCurve.Line.IsVisible = false; LineItem noHitCurve = pane.AddCurve("Not hit", pairListNoHit, Color.Red, SymbolType.Circle); noHitCurve.Line.IsVisible = false; MainGraph.Hide(); MainGraph.AxisChange(); MainGraph.Show(); }
private void DrawFunction() { PointPairList pairList = new PointPairList(); PointPair pair = new PointPair(); for (double x = a; x < b; x += (b - a) / N) { pair.X = x; pair.Y = Function(x); pairList.Add(pair); } pane.AddCurve("Function", pairList, Color.Black, SymbolType.None); MainGraph.Hide(); MainGraph.AxisChange(); MainGraph.Show(); }