Доброго времени суток всем! Я только начала разбираться с С#, пытаюсь реализовать программу с подсчётом изолиний, что не очень выходит, ошибки выдает, не знаючто исправлять то... Может кто нибудь подскажет? Буду оч благодарна....
| Код |
using System; using System.Drawing;
namespace isoline { internal class GraphicsImageGenerator { public GraphicsImageGenerator() { const double minXY = 0; const double maxXY = Math.PI * 2; const double e = 0.01; double intervalXY = maxXY - minXY;
Bitmap = new Bitmap(400, 400); double[] levels = { -1, -0.75, -0.5, -0.25, 0, 0.25, 0.5, 0.75, 1 };
for (int i = 0; i < Bitmap.Width; i++) { for (int j = 0; j < Bitmap.Height; j++) { for (int k = 0; k < levels.Length; k++) { double x = minXY + intervalXY * i / Bitmap.Width; double y = minXY + intervalXY * j / Bitmap.Height; double zn = Z(x, y); if (zn >= levels[k] - e && zn <= levels[k] + e) { var c = (int)(255 * Math.Abs(zn - levels[k]) / e); Bitmap.SetPixel(i, Bitmap.Height - j - 1, Color.FromArgb(c, c, c)); } } } } }
public Bitmap Bitmap { get; private set; }
private static double Z(double x, double y) { return Math.Sin(x) * Math.Cos(y); } } }
|
|