Знайомство з фрактальною графікою

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

ЛАБОРАТОРНА РОБОТА

(Назва роботи)

«Знайомство з фрактальною графікою»

1. Мета роботи

Ознайомитись з основами створення фрактальних композицій за допомогою середовища програмування Паскаль.

2. Завдання роботи

Вивчити графічні можливості мови Паскаль.

3. Порядок виконання роботи

1) Завантажую середу програмування Паскаль. Створюю з її допомогою фрактальну композицію, засновану на повторенні пересічних кіл деякого радіуса. При побудові композиції використовую вихідні дані з програми А відповідно з варіантом, вказаним викладачем. .

2) Створюю багатобарвний варіант моїй композиції, задаючи колір зафарбовування окремих елементів композиції залежно від номера кроку циклу.

3) Створюю двоколірний варіант даної композиції, заснований на чергуванні світлого і темного кольору.

4. Звіт про виконану роботу

1) Завантажую середу програмування Паскаль. Створюю з її допомогою фрактальну композицію, засновану на повторенні пересічних кіл деякого радіуса. При побудові композиції використовую вихідні дані з програми А відповідно до варіанта 11 (dx = 50, dy = 60, R = 70, колір малювання - синій, колір фону - білий.

Програма повинна починатися зі стандартного розділу описів, що включає команди підключення бібліотечного графічного модуля GRAPH і опису всіх змінних програми. Далі має йти основне тіло програми, що містить процедури ініціалізації графічного екрану, установки кольору фону і поточного кольору малювання.

Подальша частина програми повинна включати оператори малювання системи з пересічних один з одним кіл.

Програма має наступний вигляд:

Program pr 1;

Uses Craph;

Var d, m, x, y: integer;

Begin

d: = 0;

m: = 0;

InitGraph (d, m, 'd: \ bp \ bgi');

SetBkColor (15);

x: = 0;

while x <= 650 do

begin

y: = 0;

while y <= 500 do

begin

setColor (Blue);

circle (x, y, 70);

y: = y +60;

end;

x: = x +50:

end;

readln;

CloseGraph;

End.

2) Створюю багатобарвний варіант даної композиції, задаючи колір зафарбовування окремих елементів композиції залежно від номера кроку циклу. Для виконання даного пункту завдання вводжу в програму деяку допоміжну змінну (наприклад, k), що приймає значення від 1 до 15. Тоді на кожному кроці циклу установку кольору малювання можна здійснювати за поточним значенням даної змінної, відповідному якому або з квітів графіки мови Паскаль.

Зафарбовування складових композицію кіл при цьому може бути здійснено через безліч способів. Одним з них є спосіб вкладення в кожну основну окружність додаткових концентричних кіл із змінним в циклі радіусом. Це забезпечить зорове сприйняття кіл як зафарбованих, причому з додатковим краплистий ефектом. Текст програми в даному випадку має такий вигляд:

Program pr2;

Uses Craph;

Var d, m, x, y, r, k: integer;

Begin

d: = 0;

m: = 0;

InitGraph (d, m, 'd: \ bp \ bgi');

SetBkColor (15);

k: = 1

x: = 0;

while x <= 650 do

begin

y: = 0;

while y <= 500 do

begin

setColor (k);

k: = k +1;

if k> 15 then k = 1;

for r: = 1 to 70

circle (x, y, r);

y: = y +60;

end;

x: = x +50:

end;

readln;

CloseGraph;

End.

3) Створюю двоколірний варіант даної композиції, заснований на чергуванні світлого і темного кольору. Ефект чергування двох кольорів у композиції легко досягти присвоюванням кольором малювання одного з двох можливих значень. Реалізувати це можна за допомогою оператора mod, службовця для знаходження залишку від ділення. Ввівши змінну k для позначення номера елемента в композиції та враховуючи, що вираз k mod 2 завжди приймає тільки два значення - 0 або 1, можна добитися необхідного чергування кольорів елементів.

Внісши у попередню програму наступні зміни можна отримати композицію у вигляді двоколірного орнаменту:

Program pr 3;

Uses Craph;

Var d, m, x, y, r, k: integer;

Begin

d: = 0;

m: = 0;

InitGraph (d, m, 'd: \ bp \ bgi');

SetBkColor (15);

x: = 0;

while x <= 650 do

begin

y: = 0;

while y <= 500 do

begin

k: = k +1;

setColor (k mod 2);

for r: = 1 to 70 do

circle (x, y, r);

y: = y +60;

end;

x: = x +50:

end;

readln;

CloseGraph;

End.

5. Контрольні питання

  1. Що розуміють під фрактальної графікою?

Фрактальна графіка є обчислюється, тобто зображення будується по деяким математичним рівнянням або системам рівнянь.

  1. Що лежить в основі фрактальних композицій?

В основі створених таким чином фрактальних композицій лежать дрібні фрактальні об'єкти, об'єднані в фігури за принципом наслідування.

  1. Якими графічними можливостями володіє мову програмування Паскаль 7.0?

Мова програмування Паскаль 7.0 містить великий набір типів, констант і функцій для управління графічним режимом роботи екрану, об'єднаних в стандартний бібліотечний модуль GRAPH. За допомогою підпрограм, що входять в даний модуль, можна створювати складні графічні зображення, засновані на використанні різноманітних геометричних фігур. При необхідності замкнуті фігури можуть бути зафарбовані різними кольорами і стилями (зразками) зафарбовування. Для виведення текстових написів на графічний екран можуть бути використані чотири штрихових і один матричний шрифт.

  1. У якому модулі мови Паскаль зберігаються підпрограми по роботі з графікою? Як підключити його до основної програми?

Підпрограми модуля GRAPH можуть підтримувати різні типи апаратних графічних засобів. Налаштування на конкретні технічні засоби здійснюється за допомогою спеціальних програм - драйверів, що поставляються разом з даним модулем.

  1. Як перейти в графічний режим в середовищі Паскаль і як з нього вийти?

Перехід в графічний режим в середовищі Паскаль здійснюється за допомогою що входить в модуль GRAPH процедури InitGraph, що служить для ініціалізації графічного екрана. Дана процедура має наступний формат: InitGraph (var Driver, Mode: integer; Path: string), де змінні Driver і Mode повинні містити тип графічного драйвера і його режим роботи. Для виходу з графічного режиму достатньо скористатися процедурою CloseGraph.

  1. Як спрямовані осі координат у графічному режимі мови Паскаль? Де розташоване початок координат?

Графічні оператори мови Паскаль дозволяють адресуватися до будь-якого елементу (пікселю) графічного вікна і управляти світністю цього елемента. Для вказівки пікселя використовується наступна система координат: початок координат (0,0) розташовується в лівому верхньому кутку екрану; горизонтальна координата Х збільшується зліва направо, вертикальна координата Y збільшується зверху вниз.

  1. Нехай Ваш екран має стандартну роздільну здатність 640х480 од. Які координати буде мати при цьому лівий верхній кут екрану, лівий нижній кут, правий верхній кут, правий нижній кут?

При стандартному графічному адаптері VGA (в режимі 640х480) правий нижній кут екрану має координати (639, 479), лівий верхній кут екрану - (0,0), лівий нижній кут - (0,479), правий верхній кут-(639,0) .

  1. Скільки основних кольорів можуть використовуватися мовою Паскаль 7.0? Наведіть приклади позначення кольорів.

Мова програмування Паскаль 7.0 підтримує 16 основних кольорів, що позначаються відповідно номерами від 0 до 15. 0 - чорний, 1 - синій, 2 - зелений, 3 - блакитний, 4 - червоний, 5 - фіолетовий, 6 - коричневий, 7 - світло-сірий, 8 - темно-сірий, 9 - яскраво-синій, 10 - яскраво- зелений, 11 - яскраво-блакитний, 12 - рожевий, 13 - малиновий, 14 - жовтий, 15 - білий.

  1. Які типи штрихування Вам відомі?

0 - немає штрихування, 1 - суцільна (заливка), 2 - горизонтальними лініями, 3 - похила вправо, 4 - похила вправо товстими лініями, 5 - похила вліво товстими лініями, 6 - похила вліво, 7 - у клітку за зразком + + + , 8 - у клітку за зразком ххх, 9 - штрихування в дрібну клітку, 10 - рідкісними точками, 11 - частими точками.

  1. Як на мові Паскаль встановити режим малювання фіолетовим кольором по рожевому фону?

Основними графічними операторами по роботі з кольорами є процедури модуля GRAPH під іменами SetBkColor (служить для установки кольору фону) і SetColor (для установки кольору малювання). Оператори SetBkColor (12) і SetColor (5).

  1. Які оператори мови Паскаль використовуються для малювання найпростіших геометричних фігур (прямокутника, зафарбованого прямокутника, кола). Назвіть їх формат.

До складу модуля GRAPH входить досить велика кількість підпрограм, що служать для виведення на екран різноманітних графічних об'єктів. Основними процедурами даного типу є: Rectangle (x1, y1, x2, y2: integer) - служить для малювання прямокутників, що задаються координатами двох своїх протилежних кутів; Bar (x1, y1, x2, y2: integer) - служить для малювання заштрихованих прямокутників, використовуючи при цьому поточний стиль і колір штрихування; Circle (x, y: integer; r: word) - малює коло радіуса r з центром в точці (x, y);

  1. Як вивести напис в задане місце екрану за допомогою операторів мови Паскаль?

OutTextXY (x, y: integer; TextString: string) - виводить техт TextString в заданий координатами (x, y) місце екрана.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Лабораторна робота
35.8кб. | скачати


Схожі роботи:
C Стандартні бібліотечні функції роботи з графікою
Знайомство з ОС Windows
Знайомство з MS DOS
Знайомство з MS-DOS
Знайомство з В Шукшиним
Знайомство з топологією
Знайомство з ОС Windows 2
Знайомство з Андрієм Білим
Знайомство Паратова і Карандишева
© Усі права захищені
написати до нас