16306

Построить фрактал треугольник Серпинского

Домашняя работа

Информатика, кибернетика и программирование

Построить фрактал треугольник Серпинского Самым знаменитым примером площадного геометрического фрактала является треугольник Серпинского строящийся путем разбиения треугольника необязательно равностороннего – средними линиями на четыре подобных треугольника и

Русский

2013-06-20

40.5 KB

18 чел.

Построить фрактал треугольник Серпинского

Самым знаменитым примером площадного геометрического фрактала является треугольник Серпинского , строящийся путем разбиения треугольника, необязательно равностороннего – средними линиями на четыре подобных треугольника, исключением центрального и рекурсивного разбиения угловых треугольников до получения площадных элементов желаемого разрешения.

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

Алгоритм построения треугольника Серпинского довольно прост:
1) строится большой внешний треугольник (А);
2) строится треугольник, получающийся при соединении середин сторон большого треугольника (Б);
3) строятся треугольники, получающиеся аналогично элементу Б, но в качестве большого треугольника берутся треугольники,
образованные элементами А и Б.
Изображение состоит из однотипных элементов, связанных между собой зависимостью каждого следующего элемента от координат предыдущего.

Данная программа позволяет рисовать изображение в зависимости от введённого пользователем n уровней.

Uses Crt,Graph;

{$S+}

Var x1,y1,x2,y2,x3,y3, a,b,n: integer;

{процедура, которая делит внешний треугольник на части в зависимости от заданного n. Эта процедура выполняется до тех пор пока n не станет равное 0}

PROCEDURE TRI(x1,y1,x2,y2,x3,y3, N: integer);  

Var x12,y12,x23,y23,x31,y31: integer;

Begin If N=0 then EXIT;

 

      x12:=(x1+x2) div 2;    y12:=(y1+y2) div 2; { вычисление координат нового треугольника}

      x23:=(x2+x3) div 2;    y23:=(y2+y3) div 2;

      x31:=(x3+x1) div 2;    y31:=(y3+y1) div 2;

      setcolor(15-n); delay(25000);

MoveTo(x31,y31); LineTo(x12,y12); {выводна экран нового треугольника}

                LineTo(x23,y23);

                LineTo(x31,y31);

if keypressed then halt;

TRI(x1,y1,x12,y12,x31,y31, N-1);

TRI(x2,y2,x12,y12,x23,y23, N-1);

TRI(x3,y3,x31,y31,x23,y23, N-1)

 end;

Begin write('n= ');readln(n);  {пользователем вводится колличество уровней n}

     a:=detect;b:=detect;     {подключение графики}

     InitGraph(a,b,'c:\lg\bgi');

x1:=320; y1:=0; x2:=639; y2:=479; x3:=0; y3:=479; {координаты боьшого внешнего треугольника (А)}

Moveto(x1,y1);   Lineto(x2,y2);     {на экран выводится внешний треугольник}

                LineTo(x3,y3);

                LineTo(x1,y1);

outtextxy(10,10,'Press any key for exit ...');

TRI(x1,y1,x2,y2,x3,y3, n);   {вызов процедуры}

ReadKey;  CloseGraph; end.

 


 

А также другие работы, которые могут Вас заинтересовать

67425. СТРАХУВАННЯ ТА СТРАХОВИЙ РИНОК 46 KB
  Економічна сутність страхування та його функції Основні поняття у страховій справі Галузі страхування та їх роль в житті суспільства Страховий ринок як особлива сфера грошових відносин Доходи та видатки страховика Фінансові результати страхових операцій.
67426. ВВЕДЕНИЕ В ЭКОНОМИЧЕСКИЙ АНАЛИЗ. ПРЕДМЕТ, СОДЕРЖАНИЕ И СВЯЗЬ С ДРУГИМИ НАУКАМИ 564 KB
  Предметом экономического анализа может быть экономика объектов от страны в целом и до отдельного рабочего места. Чаще всего предметом такого анализа является экономика отдельного предприятия фирмы которая рассматривается во взаимодействии с технической стороной производства и экономической политикой государства.
67427. АНАЛИЗ ИСПОЛЬЗОВАНИЯ И ЭФФЕКТИВНОСТИ СРЕДСТВ ТРУДА 97.5 KB
  Классификация оборудования Активная часть основных производственных фондов энергетическое и производственное оборудование играет определяющую роль в производственном процессе и как следует из схемы на рис. Кроме двигателей в состав энергетического оборудования входят котлы...
67428. Анализ трудовых ресурсов 67 KB
  Анализ трудовых ресурсов один из основных разделов анализа работы предприятия. Достаточная обеспеченность предприятий трудовыми ресурсами высокий уровень производительности труда имеют большое значение для увеличения объемов производства. Основные задачи анализа трудовых ресурсов...
67429. АНАЛИЗ МАТЕРИАЛЬНЫХ РЕСУРСОВ ПРЕДПРИЯТИЯ 55 KB
  Материальные затраты составляют значительную долю всех затрат на производство продукции работ услуг Рациональное использование материалов один из важнейших факторов роста производства и снижения себестоимости продукции следовательно роста прибыли и уровня рентабельности.
67430. АНАЛИЗ ЗАТРАТ НА ПРОИЗВОДСТВО ПРОДУКЦИИ 104 KB
  Цели задачи и виды анализа затрат на производство продукции Выявление роли себестоимости продукции в условиях применения свободных договорных цен имеет существенное практическое значение для всех производственных структур. Предприятия должны самостоятельно планировать свою деятельность...
67431. АНАЛИЗ ОБЪЕМА ПРОИЗВОДСТВА И РЕАЛИЗАЦИИ ПРОДУКЦИИ 140 KB
  Основные задачи анализа объема производства и реализации продукции: оценка динамики основных показателей объема структуры и качества продукции; проверка сбалансированности и оптимальности намечаемого вида продукции а также оценка реальности и напряжённости производственных показателей...
67432. АНАЛИЗ ФИНАНСОВЫХ РЕЗУЛЬТАТОВ ДЕЯТЕЛЬНОСТИ ПРЕДПРИЯТИЯ 221 KB
  Сумма прибыли и уровень рентабельности являются основными показателями, характеризующими финансовые результаты предприятия. Чем больше величина прибыли и выше уровень рентабельности, тем эффективнее функционирует предприятие и устойчивее его финансовое состояние.
67433. ОБОСНОВАНИЕ УПРАВЛЕНЧЕСКИХ РЕШЕНИЙ НА ОСНОВЕ МАРЖИНАЛЬНОГО АНАЛИЗА 146.5 KB
  Сущность и значение маржинального анализа Большую роль в обосновании управленческих решений в бизнесе играет маржинальный анализ методика которого базируется на изучении соотношения между тремя группами важнейших экономических показателей: издержки объем производства реализации продукции...