omPoint (); (currentLocation, g) ;. DoEvents ();
}
private void MoveTowardsRandomPoint ()
{moveTowards=randomiser.Next (0,3) ;. X=(currentLocation.X + points [moveTowards] .X)/2; .Y=(currentLocation.Y + points [moveTowards].Y)/2;
}
Метод для виклику лише що ми написали:
void DrawTriangle (Graphics g)
{sideLength=SideLength (); (sideLength); (g);=new Point (points [0] .X, points [0] .Y);
while (working)
{(g);
}
}
Помістимо дві кнопки для Старт і Стоп на форму і в обробнику події Click напишемо:
private void StopButton_Click (object sender, EventArgs e)
{. Enabled=true; .Enabled=false;=false;
}
private void StartButton_Click (object sender, EventArgs e)
{. Enabled=false; .Enabled=true; g=CreateGraphics () ;. Clear (Color.White);=true; (g);
}
2.3 Побудови фрактала Дерево
Алгоритм побудови Гілочки .
Перший відрізок малюється під довільним кутом до осі Ох, з кінця даного відрізка малюється пара відрізків, направлених в протилежні сторони від напрямку першого відрізку під однаковим величиною 30 градусів. Далі малюнок повторюється з кожним з новозбудованих відрізків зі зменшенням довжини відрізка приблизно в півтора рази.
Вкладеність такого рекурсивного малюнка очевидно, не менше семи.
Рекурсивна функція має 4 параметра: координати початку відрізка, його довжину і кут, під деяким малюється відрізок до ос Ох.
Алгоритм побудови складається з наступних кроків:
. Намалювати відрізок.
. Викликати рекурсивну процедуру, рісующую ліву вітку, з новими параметрами (за координати початку відрізка взяти тільки що обчислені координати кінця відрізка, за довжину - довжину, зменшену в півтора рази, за ріг, зменшений на 30 градусів.
. Викликати рекурсивну процедуру, рісующую праву вітку (параметри такі ж, як у пункті 2, за винятком кута - новий кут збільшується на 30 градусів щодо первісного кута).
. Вихід з процедури здійснюється, коли довжина гілки стає дуже малою (близько 2 пікселів).
У програмі є лише одне звернення до процедури з наступними параметрами: координати початку самого першого відрізку, первісна довжина відрізка, первісна довжина відрізка і довільний кут нахилу.
Програма Гілка дерева на мові PascalABC
uses GraphABC;=Pi/180; deltaangle=30 * radian; Ris (x, y: integer; len, angle: real) ;, xnew, ynew: integer;
Beginlen lt; 1 then exit; {Вихід з рекурсії при довжині гілки менше 1 пікселя}
if len lt; 15 then color:=14 else color:=15; {Листя - жовтим кольором, стовбур білим}:=x + round (Len * cos (angle)); {координати кінця гілки}:=y + round (len * sin (angle)); (color); Line (x, y, xnew, ynew); {Малюємо гілку} (xnew, ynew, len * 0.65, angle-deltaangle); {Малюємо ліву подветкой} (xnew, ynew, len * 0.65, angle + deltaangle); {Малюємо праву подветкой}; (100,400,160, - 40 * radian );.
програмування графіка фрактал pascal
Висновок
При написанні курсової роботи розглядалося питання створення графічних зображень в середовищі програмування PascalАВС.
У ході дослідження ми вивчили:
Основні поняття графіки, функції та процедури, можливості створення графічних зображень в середовищі програмування PascalАВС.
Отримані при дослідженні знання та навички будуть корисні нам при подальшій роботі в PascalАВС, а також при роботі з іншими мовами програмування.
Список літератури
1.Інформатіка (Базовий курс) С. В. Симонович, СПб: Пітер, 2001р.
.Основи програмування в задачах і прикладах, А. В. Мілов, Харків: ФОЛІО, 2002р.
.Программірованіе. С. Симонович, Г. Євсєєв, Москва: АСТ - ПРЕСС книга 2000р.
.практіки програмування, Ю. Кетков, А. Кетков, СПб: БХБ/Петербург, 2002р.
.Паскаль для школярів. С. М. Кашаев, Л. В. Шерстнева - Москва, БХВ-Петербург, 2011 г
.Інформатіка: А. Е. Суперечок - Москва, АСТ, Полиграфиздат, 2010
.Основи програмування: С. Окулов - Москва, Біном. Лаборатор...