Я очень новичок в c # и столкнулся с проблемой при попытке запрограммировать и визуализировать Mandelbrotset.
Я создал панель 400 на 400 и хочу использовать ее для построения графика набора.Я хочу, чтобы график менялся от -2 до 2 по обеим осям, поэтому я использую шкалу 0,01.Глядя на мой код, я думаю, что метод рисования должен работать;координаты конвертируются правильно, как кажется.Проблема в том, что график не полностью отображается на панели во время работы.(0,0) находится где-то в нижнем правом углу, удаляя большую часть координат в этом углу.
Ниже приведена функция, используемая для рисования графика на панели.Я сделал ошибку в кодировании координат таким образом?Или я неправильно понимаю, как работают координаты на панели?
for (int xco =0; xco<400; xco++)
{
for (int yco=0; yco<400; yco++)
{
double x = (xco - 200) * scale;
double y = (yco - 200) * scale;
int mandel = 0;
double fx = x, fy = y;
double distance = 0;
while ((mandel<max) && (distance<2))
{
double fx1 = fx;
fx = fx * fx - fy * fy + x;
fy = 2 * fx1 * fy + y;
distance = Math.Sqrt(fx * fx + fy * fy);
mandel++;
}
if (mandel%2==1)
pea.Graphics.FillRectangle(Brushes.White, xco, yco, xco + 1, yco + 1);
else
pea.Graphics.FillRectangle(Brushes.Black, xco, yco, xco + 1, yco + 1);
}
}