Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Блок-схема алгоритма решения задачи
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ «БАРАНОВИЧСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Факультет ___________________________________ Кафедра _____________________________________ Дата регистрации работы в деканате ____________ Дата регистрации работы на кафедре ____________ Отметка о допуске к защите ____________ Оценка за защиту ____________
КУРСОВАЯ РАБОТА по дисциплине «Основы алгоритмизации и программирования» Тема: «Моделирование логических игровых программ средствами Delphi»
Исполнитель: студент 1 курса, группы ИСТ-12 студент (факультет, курс, группа)
Сергеев Андрей Сергеевич (фамилия, имя, отчество)
Руководитель: преподаватель-стажер (ученое звание, ученая степень, должность)
Тимовец Анна Николаевна (фамилия, имя, отчество)
Барановичи 2013 МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ «БАРАНОВИЧСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» РЕЦЕНЗИЯ на курсовую работу (регистрационный №_____) Студента____________________________________________________ Факультет___________________________________________________ Курс_______________ Дисциплина ____________________________________________________________ Рецензент ____________________________________________________________ Дата получения работы для рецензирования ______________________ Дата возвращения работы после рецензирования __________________ Оценка_________ Подпись преподавателя-рецензента______________ Текст рецензии: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ __________________________________________________________________ ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ __________________________________________________________________ ____________________________________________________________________________________________________________________________________ РЕФЕРАТ Курсовая работа: 26 с., 10 рис., 7 источников, 2 прил., 5 табл. СРЕДА DELPHI, ГРАФИЧЕСКАЯ ПРОГРАММА, ПОСТРОЕНИЕ ФРАКТАЛА, ВЕРОЯТНОСТНЫЕ РАСПРЕДЕЛЕНИЯ Объект исследования – применение среды программирования Borland Delphi с целью изучения возможности отображения графической информации, построения фракталов. Предмет исследования – среда Borland Delphi и ее графические средства для построения фрактальных множеств. Цель работы – написать программу на Borland Delphi для построения изображения листа папоротника при помощи вероятностных распределений с использованием средств для отображения графической информации. Основой для выполнения работы стала справочная, научная и учебная литература. При выполнении работы использовался метод: анализ научно-методической литературы, проектов. Областью возможного практического применения данной работы является использование материала проекта для ознакомления с графическими возможностями Delphi, построения фрактальных изображений сложной формы. Автор подтверждает, что приведенный в работе расчетно-аналитический материал правильно и объективно отражает состояние исследуемого процесса, а все заимствованные из литературных и других источников теоретические, методологические и методические положения и концепции сопровождаются ссылками на их авторов.
________________________ (подпись студента) СОДЕРЖАНИЕ ВВЕДЕНИЕ……………………………………………………………………..…6 1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ…………………..……………………………….8 1.1 Постановка задачи………………………………………………..……8 1.2 Математическая модель фрактала………………………………….…8 1.3 Алгоритм решения задачи…………………………………………….8 1.4 Блок-схема алгоритма……………………………………………......10 2 ПРАКТИЧЕСКАЯ ЧАСТЬ………………………………………………...…12 2.1 Описание объектов, свойств, методов……………………………….12 2.2 Формы и основные модули текста программы……………………..16 2.3 Результаты тестирования программного продукта…………………19 2.4 Анализ результатов……………….……...…………………………...22 ЗАКЛЮЧЕНИЕ………………………………………………………….………24 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ……………………..……...26 ПРИЛОЖЕНИЕ А ………………………….…...………………………………27 ПРИЛОЖЕНИЕ Б ……………………………………………………...………..31
ВВЕДЕНИЕ В последние десятилетия резко возрос интерес к программированию. Это связано с развитием и внедрением в повседневную жизнь цифровых технологий. Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую " быструю разработку", среди которых можно выделить Borland Delphi. Поскольку среда разработки Borland Delphi 7 является одной из самых простых и удобных среди всех мощных пакетов, то она прекрасно подходит для построения графических приложений для операционной системы Windows. При построение математических структур наряду с точностью важным фактором является скорость расчета точек и их построения. Данная программа разработанная в среде Borland Delphi 7 может за минимальное время построить фрактал «Лист папоротника» в заданном масштабе, а при желании пользователя можно масштабировать участки фрактала, что позволяет более полно и точно понять принципы фрактальных структур. Фракта́ л (лат. fractus — дроблёный, сломанный, разбитый) — геометрическая фигура, обладающая свойством самоподобия, то есть составленная из нескольких частей, каждая из которых подобна всей фигуре вцелом. Роль фракталов в машинной графике сегодня достаточно велика. Они приходят на помощь, например, когда требуется, с помощью нескольких коэффициентов, задать линии и поверхности очень сложной формы. С точки зрения машинной графики, фрактальная геометрия незаменима при генерации искусственных облаков, гор, деревьев, поверхности моря. Фактически это способ легкого представления сложных объектов, образы которых весьма похожи на природные[1]. В качестве примера фрактальных структур мы рассмотрим множество или фрактал «Лист папоротника» – один из тех объектов, которые удобно строить при помощи вероятностных распределений. Объект исследования – применение среды программирования Borland Delphi с целью изучения возможности отображения графической информации, построения фракталов. Предмет исследования – среда Borland Delphi и ее графические средства для построения фрактальных множеств. Цель работы – написать программу на Borland Delphi для построения изображения листа папоротника при помощи вероятностных распределений с использованием средств для отображения графической информации. Для достижения данной цели в исследовании необходимо решить следующие задачи: · осуществить постановку задачи; · создать блок-схемы алгоритмов; · осуществить описание объектов, свойств, методов; · разработать формы и текст программы; · привести результаты тестирования программного продукта. Основой для выполнения работы стала справочная, научная и учебная литература. Основным методом исследования был выбран общенаучный метод анализа. Структурное изложение материала представлено в виде введения, основной части, заключения и списка использованных источников. К работе прилагается электронный носитель информации. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Постановка задачи Задачей курсовой работы является: построение фрактала «Лист папоротника». Для достижения данной цели необходимо составить приложение в среде Delphi. Приложение должно строить изображение фрактала «лист папоротника» с использованием графических средств среды Delphi при помощью метода многократных итераций (повторений). 1.2. Математическая модель фрактала " Лист папоротника" Для построения фрактала используется подход, называемый методом итерируемых функций или IFS-методом (аббревиатура IFS происходит от английских слов iterated function system). IFS-метод основан на аффинных (от лат. affinis - родственный) преобразованиях координат точек по формулам:
X=ax+by+e, (1.1)
где a, b, e–заданные коэффициенты, x, y–текущие координаты, X–вновь вычисленная координата.
Y=cx+dy+f, (1.2)
где c, d, f– заданные коэффициенты, x, y – текущие координаты, Y– вновь вычисленная координата[2].
Основная идея этого метода заключается в том, чтобы, зафиксировав какую-либо начальную точку, далее циклически совершать афинное преобразование системы координат, в которой точка строится.То есть, если на определённом шаге цикла имеется точка А с координатами (х, y), то при следующей итерации цикла изображается точка В, чьи координаты имеют вид (ax+by+e, cx+dy+f). Таким образом наблюдается явное выражение " новой" системы координат (точки В) через " старую" (точку А). В свою очередь коэффициенты преобразования систем координат выбираются в зависимости от попадания некоторой случайной величины в соответствующий диапазон значений[3]. Алгоритм решения задачи 1) Для решения поставленной задачи нужно создать процедуру, вызов которой реализует создание фрактала. А) Константа iterations отвечает за количество итераций (повторений) случайного рисования точки как мельчайшей составляющей изображения листа папоротника. Остальные переменные отвечают за размеры и координаты изображения. Б) В теле процедуры создадим систему, которая задаст масштаб и координаты фрактала. Зададим исходные данные для итерируемой точки. В) При помощи цикла for реализуем выполнение итераций. Г) В теле процедуры используем случайное преобразование координаты точки. Выберем диапазоны для случайной величины (от 0 до 0.85 - соответствует преобразованию множества точек, отвечающих за " густоту" и " высоту" листа папоротника, от 0.85 до 0.92 - рисует листики слева от стебля, от 0.92 до 0.99 - рисует листики справа от стебля, остальные диапазоны - изображение стебля). Координаты точки в разных диапазонах преобразуются по формулам: X=ax+by+e, Y=cx+dy+f. Логическое выполнение программы осуществляют операторы if и else. 2) Выведем результат на графический компонент Image. Да Нет
Да Нет
Да Нет
Рисунок 1.1 — блок-схема алгоритма построения фрактала ПРАКТИЧЕСКАЯ ЧАСТЬ Компонент Button Компонент Button представляет собой командную кнопку [4]. Свойства компонента приведены в таблице 2.1. Таблица 2.1. Свойства компонента Button (командная кнопка)
Компонент Image Компонент представляет собой некоторую ограниченную поверхность с канвой, на которую можно заносить изображения. Компонент намного богаче по своим возможностям и удобнее, чем обычное рисование на канве[5]. Свойства компонента приведены в таблице 2.2. Таблица 2.2 – Свойства компонента Image
Свойство Canvas Canvas представляет из себя область компонента, на которой можно создавать, хранить и модифицировать графическое изображение[4]. Свойства класса TCanvas приведены в таблице 2.3. Таблица 2.3 – Свойства класса TCanvas.
Таблица 2.4 – Meтоды класса TCanvas:
Продолжение таблицы 2.4
Компонент Label Данный компонент предназначен для отображения текстовой информации. Задать текст, отображаемый в поле компонента можно как во время разработки формы, так и во время работы программы, присвоив значение свойству Text[6]. Свойства компонента приведены в таблице 2.4. Таблица 2.5 – Свойства компонента Label
Продолжение таблицы 2.5
Рисунок 2.1 – объекты главной формы - Button - командная кнопка; - Image – компонента для вывода графической информации; Рисунок 2.2 – объекты дополнительной формы - Label - информационные метки;
Основная форма приложения имеет вид: Рисунок 2.3 – вид основной формы программы
Дополнительная форма выглядит так:
Рисунок 2.4 – вид дополнительной формы программы Основной модуль текста программы: procedure gf;
Const iterations = 500000; //Кол-во итераций
Var t, x, y: real; p: real; //Случайная величина k: longint; mid_x, mid_y, radius: integer;
begin mid_x: = form1.width div 2; mid_y: = form1.height -200; //Масштабирование и координирование изображения radius: = trunc(0.1 * mid_y); randomize; x: = 1.0; y: = 0.0; for k: = 1 to iterations do begin p: = random; t: = x; if p < = 0.85 then //Построение верхней части листа begin x: = 0.84 * x -0.045 * y; y: = 0.045 * t + 0.86 * y + 1.6; end else if p < = 0.92 then //Построение левого листа
begin x: = 0.25 * x - 0.26 * y; y: = 0.23 * t + 0.25 * y + 1.6; end else if p < = 0.99 then //Построение стебля begin x: = -0.135 * x + 0.28 * y; y: = 0.26 * t + 0.245 * y + 0.44; end else begin x: = 0.0; y: = 0.16 * y; end; Form1.image1.Canvas.Pixels[mid_x+round(radius*x), mid_y-round(radius*y)+35]: =clGreen //Вывод изображения end; end; Рисунок 2.5 – визуальное представление программы 1.Для получения изображения листа папоротника нужно нажать кнопку «Изобразить фрактал». Рисунок 2.6 –результат нажатия кнопки «Изобразить фрактал» 2.Программа предоставляет возможность очистки окна с изображением, что можно сделать, нажав на кнопку «Очистить форму». Рисунок 2.7 – при очистке формы 3.Так же можно узнать информацию об авторе данного приложения, нажав на кнопку «Об авторе». Рисунок 2.8 – информация о создателе приложения 4.При нажатии кнопки «Вернуться назад» пользователь переместится на главную форму. Рисунок 2.9 – Вернуться назад 5.Закрытие программы осуществляется нажатием на кнопку «Закрыть», стандартно располагающуюся в верхнем правом углу программы. ЗАКЛЮЧЕНИЕ Для выполнения выполнения задания, необходимо было реализовать алгоритм построения фрактала «Лист папоротника» в среде Delphi. В ходе работы были созданы формы на которых размещены компоненты, которые необходимы для решения поставленной задачи. Во время разработки программы были углублены и закреплены знания по алгоритмизации, программированию и разработке графических программ в интегрированной визуальной среде программирования Delphi. Также была изучена и проанализирована дополнительная литература, содержащая информацию о среде разработки Delphi, математических множествах и фракталах. В результате была разработана программа которая способна построить фрактал «Лист папоротника». Полученные в ходе работы над курсовым проектом навыки являются незаменимыми в дальнейшем при решении практических задач. В дополнение хочется отметить области применения фракталов в компьютерных технологиях, помимо простого построения красивых изображений на экране компьютера. Фракталы в компьютерных технологиях применяются в следующих областях: 1. Сжатие изображений и информации 2. Сокрытие информации на изображении, в звуке 3. Шифрование данных с помощью фрактальных алгоритмов 4. Создание фрактальной музыки 5. Моделирование систем[7]. Данное приложение можно использовать для ознакомления с графическими средствами среды программирования Borland Delphi, а также для приобретения представлений о практическом применении фрактальных множеств. Приложение можно доработать и использовать для создания более сложных фракталов. Таким образом, поставленные цели были достигнуты, цели работы были выполнены.
Приложение А Листинг программы unit Unit1;
Interface
Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, XPMan;
Type TForm1 = class(TForm) Button1: TButton; Button2: TButton; image1: TImage; xpmanifest1: TXPManifest; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure FormCreate(Sender: TObject);
Private { Private declarations } Public { Public declarations } end;
Var Form1: TForm1;
Implementation
{$R *.dfm} uses unit2;
procedure gf;
Const iterations = 500000; //Кол-во итераций
Var t, x, y: real; p: real; //Случайная величина k: longint; mid_x, mid_y, radius: integer;
begin mid_x: = form1.width div 2; mid_y: = form1.height -200; //Масштабирование и координирование изображения radius: = trunc(0.1 * mid_y); randomize; x: = 1.0; y: = 0.0; for k: = 1 to iterations do begin p: = random; t: = x; if p < = 0.85 then //Построение верхней части листа begin x: = 0.84 * x -0.045 * y; y: = 0.045 * t + 0.86 * y + 1.6; end else if p < = 0.92 then //Построение левого листа
begin x: = 0.25 * x - 0.26 * y; y: = 0.23 * t + 0.25 * y + 1.6; end else if p < = 0.99 then //Построение стебля begin x: = -0.135 * x + 0.28 * y; y: = 0.26 * t + 0.245 * y + 0.44; end else begin x: = 0.0; y: = 0.16 * y; end; Form1.image1.Canvas.Pixels[mid_x+round(radius*x), mid_y-round(radius*y)+35]: =clGreen end; //Вывод изображения end;
procedure TForm1.Button1Click(Sender: TObject); //Инициализация построения фрактала
begin gf; button1.enabled: =false; Button3.Enabled: =True; end;
procedure TForm1.Button2Click(Sender: TObject); //Кнопка «Об авторе» begin form1.Visible: =false; form2.show; end;
procedure TForm1.Button3Click(Sender: TObject); //Кнопка «Очистить форму» begin image1.Canvas.Rectangle(0, 0, ClientHeight, ClientWidth); Button3.Enabled: =False; Button1.Enabled: =True; end;
procedure TForm1.FormCreate(Sender: TObject); //Исходные параметры формы begin Button3.Enabled: =False; image1.Canvas.Rectangle(0, 0, ClientHeight, ClientWidth); Form1.BorderIcons: = [biSystemMenu, biMinimize]; end;
end.
Приложение Б Вторая форма unit Unit2;
Interface
Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls;
Type TForm2 = class(TForm) Label1: TLabel; Button1: TButton; label2: TLabel; procedure Button1Click(Sender: TObject);
Private { Private declarations } Public { Public declarations } end;
Var Form2: TForm2;
Implementation
{$R *.dfm} uses unit1;
procedure TForm2.Button1Click(Sender: TObject); //Кнопка «Вернуться назад» begin form2.Visible: =false; form1.show; end;
end.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ «БАРАНОВИЧСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Факультет ___________________________________ Кафедра _____________________________________ Дата регистрации работы в деканате ____________ Дата регистрации работы на кафедре ____________ Отметка о допуске к защите ____________ Оценка за защиту ____________
КУРСОВАЯ РАБОТА по дисциплине «Основы алгоритмизации и программирования» Тема: «Моделирование логических игровых программ средствами Delphi»
Исполнитель: студент 1 курса, группы ИСТ-12 студент (факультет, курс, группа)
Сергеев Андрей Сергеевич (фамилия, имя, отчество)
Руководитель: преподаватель-стажер (ученое звание, ученая степень, должность)
Тимовец Анна Николаевна (фамилия, имя, отчество)
Барановичи 2013 МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ «БАРАНОВИЧСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» РЕЦЕНЗИЯ на курсовую работу (регистрационный №_____) Студента____________________________________________________ Факультет___________________________________________________ Курс_______________ Дисциплина ____________________________________________________________ Рецензент ____________________________________________________________ Дата получения работы для рецензирования ______________________ Дата возвращения работы после рецензирования __________________ Оценка_________ Подпись преподавателя-рецензента______________ Текст рецензии: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ __________________________________________________________________ ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ __________________________________________________________________ ____________________________________________________________________________________________________________________________________ РЕФЕРАТ Курсовая работа: 26 с., 10 рис., 7 источников, 2 прил., 5 табл. СРЕДА DELPHI, ГРАФИЧЕСКАЯ ПРОГРАММА, ПОСТРОЕНИЕ ФРАКТАЛА, ВЕРОЯТНОСТНЫЕ РАСПРЕДЕЛЕНИЯ Объект исследования – применение среды программирования Borland Delphi с целью изучения возможности отображения графической информации, построения фракталов. Предмет исследования – среда Borland Delphi и ее графические средства для построения фрактальных множеств. Цель работы – написать программу на Borland Delphi для построения изображения листа папоротника при помощи вероятностных распределений с использованием средств для отображения графической информации. Основой для выполнения работы стала справочная, научная и учебная литература. При выполнении работы использовался метод: анализ научно-методической литературы, проектов. Областью возможного практического применения данной работы является использование материала проекта для ознакомления с графическими возможностями Delphi, построения фрактальных изображений сложной формы. Автор подтверждает, что приведенный в работе расчетно-аналитический материал правильно и объективно отражает состояние исследуемого процесса, а все заимствованные из литературных и других источников теоретические, методологические и методические положения и концепции сопровождаются ссылками на их авторов.
________________________ (подпись студента) СОДЕРЖАНИЕ ВВЕДЕНИЕ……………………………………………………………………..…6 1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ…………………..……………………………….8 1.1 Постановка задачи………………………………………………..……8 1.2 Математическая модель фрактала………………………………….…8 1.3 Алгоритм решения задачи…………………………………………….8 1.4 Блок-схема алгоритма……………………………………………......10 2 ПРАКТИЧЕСКАЯ ЧАСТЬ………………………………………………...…12 2.1 Описание объектов, свойств, методов……………………………….12 2.2 Формы и основные модули текста программы……………………..16 2.3 Результаты тестирования программного продукта…………………19 2.4 Анализ результатов……………….……...…………………………...22 ЗАКЛЮЧЕНИЕ………………………………………………………….………24 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ……………………..……...26 ПРИЛОЖЕНИЕ А ………………………….…...………………………………27 ПРИЛОЖЕНИЕ Б ……………………………………………………...………..31
ВВЕДЕНИЕ В последние десятилетия резко возрос интерес к программированию. Это связано с развитием и внедрением в повседневную жизнь цифровых технологий. Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую " быструю разработку", среди которых можно выделить Borland Delphi. Поскольку среда разработки Borland Delphi 7 является одной из самых простых и удобных среди всех мощных пакетов, то она прекрасно подходит для построения графических приложений для операционной системы Windows. При построение математических структур наряду с точностью важным фактором является скорость расчета точек и их построения. Данная программа разработанная в среде Borland Delphi 7 может за минимальное время построить фрактал «Лист папоротника» в заданном масштабе, а при желании пользователя можно масштабировать участки фрактала, что позволяет более полно и точно понять принципы фрактальных структур. Фракта́ л (лат. fractus — дроблёный, сломанный, разбитый) — геометрическая фигура, обладающая свойством самоподобия, то есть составленная из нескольких частей, каждая из которых подобна всей фигуре вцелом. Роль фракталов в машинной графике сегодня достаточно велика. Они приходят на помощь, например, когда требуется, с помощью нескольких коэффициентов, задать линии и поверхности очень сложной формы. С точки зрения машинной графики, фрактальная геометрия незаменима при генерации искусственных облаков, гор, деревьев, поверхности моря. Фактически это способ легкого представления сложных объектов, образы которых весьма похожи на природные[1]. В качестве примера фрактальных структур мы рассмотрим множество или фрактал «Лист папоротника» – один из тех объектов, которые удобно строить при помощи вероятностных распределений. Объект исследования – применение среды программирования Borland Delphi с целью изучения возможности отображения графической информации, построения фракталов. Предмет исследования – среда Borland Delphi и ее графические средства для построения фрактальных множеств. Цель работы – написать программу на Borland Delphi для построения изображения листа папоротника при помощи вероятностных распределений с использованием средств для отображения графической информации. Для достижения данной цели в исследовании необходимо решить следующие задачи: · осуществить постановку задачи; · создать блок-схемы алгоритмов; · осуществить описание объектов, свойств, методов; · разработать формы и текст программы; · привести результаты тестирования программного продукта. Основой для выполнения работы стала справочная, научная и учебная литература. Основным методом исследования был выбран общенаучный метод анализа. Структурное изложение материала представлено в виде введения, основной части, заключения и списка использованных источников. К работе прилагается электронный носитель информации. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Постановка задачи Задачей курсовой работы является: построение фрактала «Лист папоротника». Для достижения данной цели необходимо составить приложение в среде Delphi. Приложение должно строить изображение фрактала «лист папоротника» с использованием графических средств среды Delphi при помощью метода многократных итераций (повторений). 1.2. Математическая модель фрактала " Лист папоротника" Для построения фрактала используется подход, называемый методом итерируемых функций или IFS-методом (аббревиатура IFS происходит от английских слов iterated function system). IFS-метод основан на аффинных (от лат. affinis - родственный) преобразованиях координат точек по формулам:
X=ax+by+e, (1.1)
где a, b, e–заданные коэффициенты, x, y–текущие координаты, X–вновь вычисленная координата.
Y=cx+dy+f, (1.2)
где c, d, f– заданные коэффициенты, x, y – текущие координаты, Y– вновь вычисленная координата[2].
Основная идея этого метода заключается в том, чтобы, зафиксировав какую-либо начальную точку, далее циклически совершать афинное преобразование системы координат, в которой точка строится.То есть, если на определённом шаге цикла имеется точка А с координатами (х, y), то при следующей итерации цикла изображается точка В, чьи координаты имеют вид (ax+by+e, cx+dy+f). Таким образом наблюдается явное выражение " новой" системы координат (точки В) через " старую" (точку А). В свою очередь коэффициенты преобразования систем координат выбираются в зависимости от попадания некоторой случайной величины в соответствующий диапазон значений[3]. Алгоритм решения задачи 1) Для решения поставленной задачи нужно создать процедуру, вызов которой реализует создание фрактала. А) Константа iterations отвечает за количество итераций (повторений) случайного рисования точки как мельчайшей составляющей изображения листа папоротника. Остальные переменные отвечают за размеры и координаты изображения. Б) В теле процедуры создадим систему, которая задаст масштаб и координаты фрактала. Зададим исходные данные для итерируемой точки. В) При помощи цикла for реализуем выполнение итераций.
Популярное:
|
Последнее изменение этой страницы: 2016-08-31; Просмотров: 1195; Нарушение авторского права страницы