NetNado
  Найти на сайте:

Учащимся

Учителям



Вариант Общая постановка задачи


Практическое задание 1 по курсу

“Объектно-ориентированное программирование: технология .NET”

осенний семестр 2004 года
Вариант 4.
1. Общая постановка задачи. На комплексной плоскости рассмотрим прямоугольник . Выберем в этом прямоугольнике точку и построим последовательность комплексных чисел

В зависимости от выбора исходной точки z модуль элементов последовательности может или стремиться к бесконечности при , или остаться ограниченным для любых k.
Зафиксируем достаточно большое количество итераций N и максимальное значение модуля элементов последовательности M. Раскрасим прямоугольник следующим образом:


  • Если для исходной точки z за N итераций модуль всех элементов послежовательности не вышел за пределы М, , то цвет точки z положим равным .

  • Если же на некоторой итерации модуль окажется больше или равен M, то цвет точки z положим равным


Выбирая прямоугольник , законы отображения , параметры M,N и цвета и можно получить большое количество самоподобных очень красивых изображений.
2. Множество Мандельброта. Выберем следующие параметры задачи:


  • Область .

  • Отображения: .

  • N = 150, M = 2.

  • Цвет можно выбрать темного оттенка, цвет можно выбрать плавно изменяющимся от светлого для небольших k до темного при k, близких к M. Возможны и другие варианты выбора цвета.


3. Задание. С применением библиотеки Windows Forms напишите приложение для отображения на экране фрактала из п.2. Приложение должно позволять выбирать подобласти прямоугольника при помощи мыши и отображать в увеличенном масштабе выбранные части фрактала. Требования к программе приведены ниже.
3.1. В программе должен быть реализован тип-ссылку “Комплексное число” с перегруженными арифметическими операциями.
3.2. Код для отображения фрактала должен быть вынесен в отдельный custom элемент управления, находящийся в отдельной сборке.
3.3. Для устранения задержек при работе с пользовательским интерфейсом во время выполнения расчетов примените два потока. Для запуска второго потока используйте асинхронный вызов делегата. Предусмотрите необходимую синхронизацию между потоком для построения фрактала и потоком для работы с пользовательским интерфейсом.

страница 1


скачать

Другие похожие работы: