Лабораторная работа 1 - Разработка нового распределенного приложения для инструментария Alchemi

 

Основной метод void Start() класса грид-потока ComplexThread


 

/// <summary>

/// Основной метод. Обрабатывает часть графика комплексной функции.

/// </summary>

public override void Start()

{

    // Вычисляем шаги по аргументам

    double xstep = (xmax - xmin) / width;

    double ystep = (ymax - ymin) / height;

 

    // Последовательно обрабатываем все пиксели изображения

    for (int j = 0; j < height; j++)

    {

        // Вычисляем значение аргумента y

        double y = ymax - j * ystep;

 

        for (int i = 0; i < width; i++)

        {

            // Вычисляем значение аргумента x

            double x = xmin + i * xstep;

 

            // Создаем комплексный аргумент

            Complex arg = new Complex(x, y);

 

            // Вычисляем значение комплексной функции

            Complex value = function.CalcFunction(arg);

 

            // Вычисляем цвет, соответствующий значению функции

            Color color = CalcColor(value);

 

            // Устанавливаем цвет пикселя изображения

            image.SetPixel(i, j, color);

        }

    }

}