Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Реалізація в Matlab алгоритмів побудови фрактальних об'єктів

Реферат Реалізація в Matlab алгоритмів побудови фрактальних об'єктів





значення з стека видаляються. У пакеті MATLAB виявляється більш зручним використовувати матрицю з перемінним числом стовпців:


В 

причому координати кожної нової точки розгалуження додаються в новий стовпець матриці M. Після закриття гілки змінним (x, y ,?) присвоюються значення, лічені з останнього стовпця матриці M, потім цей стовпець видаляється.

Таким чином, розгалуження задається двома символами:

[- відкрити гілку: додати вектор

] - закрити гілку: присвоїти змінним

(x, y ,?) значення координат вектора, який є останнім стовпцем матриці M.

Приклад фрактала, побудованого за допомогою операції розгалуження, представлений на малюнку 24. Нижче наводиться лістинг файлу Flower.m, що містить опис функції, що повертає зображення квітки, відповідно до описаної вище L-системою. br/>

.3.1 Код програми "Flower.m"


% Лістинг файлу Flower.m

function [X, Y] = Flower (Lmax)

% функція, що повертає зображення квітки

% Lmax - порядок квітки

% породжують правила

Axiom = 'F [+ F + F] [-FF] [+ + F] [-F] F';

Newf = 'FF [+ + F] [+ F] [F] [-F] [-F]';

teta = pi/16; = pi/2; = [0, 0];% початкова точка

Coord (p, Lmax, Axiom, Newf, alpha, teta);

% звернення до функції, що повертає

% зображення квітки

function z = Coord (p, Lmax, Axiom, Newf, alpha, teta)

% функція, що повертає зображення квітки = FlowerString (Lmax, Axiom, Newf, 1, '');

% завдання L - системи (1); hold on; = length (Rule), L = 0; x0 = p (1); y0 = p (2); i = 1: MRule ( i) == 'F'% крок вперед = x0 + cos (alpha); y1 = y0 + sin (alpha); = [x0, x1]; Y = [y0, y1]; x0 = x1; y0 = y1; (X, Y, 'Color', 'k'); end

if Rule (i) == '+'% збільшення кута, що задає напрямок руху

alpha = alpha + teta; Rule (i) == '! '% Зменшення кута, що задає напрямок руху

alpha = alpha-teta; Rule (i) == '[';% відкрити ветвьL == 0 St = [x0; y0; alpha], L = 1; else St = cat (2 , St, [x0; y0; alpha]); endRule (i) == ']'% закрити гілку = size (St, 2); R = St (1:3, M: M); = R (1) ; y0 = R (2); = R (3); St = St (1:3,1: M-1); offz = FlowerString (Lmax, Axiom, Newf, n, tmp)

% функція, що повертає L - сістемуn <= Lmax

if n == 1 = Axiom; n = n +1; else = strrep (tmp, 'F', Newf); = n +1; tmp = Fl...


Назад | сторінка 13 з 19 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Докладне вивчення роботи фінансової функції ДАТАКУПОНДО, яка повертає число ...
  • Реферат на тему: Діалектна лексика у творах Г.Ф. Квітки-Основ'яненка
  • Реферат на тему: Історико-психологічний аспект поеми Т. Шевченка &Катерина& і &Сердешна Окса ...
  • Реферат на тему: Розробка програми з використанням OpenGL для динамічного зображення тривимі ...
  • Реферат на тему: Constitutional justice is in the Ukrainian system of state rule