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.

 


 

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

23533. НЕМЕЦКО-РУССКИЙ ФРАЗЕОЛОГИЧЕСКИЙ СЛОВАРЬ 181 KB
  Фразеологизмы компоненты которых в качестве лексем являются грамматическими омонимами также разрабатываются в отдельных гнездах причем при вокабуле дается на это указание: ALTE der die ALTE das Указание на часть речи дается также при вокабулах имеющих омографическое начертание в связи с выделением их прописным шрифтом: LEBEN v . Расположение фразеологизмов в словаре а При наличии в компонентном составе одного существительного искать фразеологизм нужно под ним: großer Bahnhof под Bahnhof jn mit anderen Augen ansehen под Augen...
23534. Турецкий язык за 12 уроков 706.5 KB
  Начальный курс турецкого языка, разработан на основе пособия “Mehmet Hengirmen, 30 Derste Türkçe” для школы иностранных языков. В турецком все читается, как пишется, за исключением одной нечитаемой буквы. Имеет 8 гласных. Непривычных букв всего несколько:
23535. Турецкий язык за 30 уроков 765 KB
  Урок 1 Здравствуйте Ольга: Merhaba Здравствуйте Эрол: Merhaba Здравствуйте Ольга: Adınız ne Как вас зовут имя Ваше как Эрол: Adım Erol. Ольга: Nasılsınız Как поживаете как вы Эрол: Teşekkür ederim iyiyim. А у вас как дела Ольга: Teşekkür ederim ben de iyiyim. 1В Знакомство Ольга: Adınız ne Как вас зовут Эрол: Adım Erol.
23536. УЧЕБНИК ТУРЕЦКОГО ЯЗЫКА 3.45 MB
  18 Гласный а 18 Гласный ı 18 Согласные l m n s 18 Согласные b d r 18 УПРАЖНЕНИЯ 19 Гласный i 19 Гласный e 19 О СМЯГЧЕНИИ СОГЛАСНЫХ unsuz yumuşaması 20 УПРАЖНЬНИЯ 20 СЛОВАРЬ 22 НЕОПРЕДЕЛЕННЫЙ АРТИКЛЬ 23 ПРИНЦИП НЕБНОГО ПРИТЯЖЕНИЯ 24 АФФИКС МНОЖЕСТВЕННОГО ЧИСЛА çoğul eki 24 УПРАЖНЕНИЯ 25 ОПРЕДЕЛИТЕЛЬНАЯ ГРУППА belirtme grupu 25 УПРАЖНЕНИЯ 16 АФФИКСЫ ПРИНАДЛЕЖНОСТИ iyelik ekleri 27 Аффикс принадлежности 1го лица единственного числа birinci kişi tekil iyelik eki 27Аффикс принадлежнocmu 2го лица единственного...
23537. ГРАММАТИКА ШВЕДСКОГО ЯЗЫКА 401 KB
  Неопределённый артикль который ставится перед существительным для общего рода en а для среднего рода ett например: en flicka девочка en dag день ett hus дом ett regn дождь. Это происходит по схеме: существительное неопределённый артикль en ett например: Dag en – dagen hus ett – huset. Определённый артикль среднего рода с существительными на согласный имеет вид –et а на безударный гласный –t например: hus – huset öga – ögat глаз. например: den långa dagen – долгий день det långa borget – длинный стол de långa...
23538. ЭКСПРЕСС–КУРС ЯПОНСКОГО ЯЗЫКА 678.5 KB
  Перед тем, как приступить непосредственно к урокам, необходимо овладеть каной. Кана – слоговая азбука, возникшая в VII в. нашей эры в результате графического сокращения и преобразования китайских иероглифов в знаки алфавита. Существует два вида каны – хирагана и катакана. Хирагана предназначена для записи собственно японских слов и китаизмов
23539. Учебник языка эсперанто 888 KB
  В отличие от русского языка в настоящем времени глаголсвязка estas 'есть' 'является' 'имеется' 'находится' от глагола esti 'быть' не опускается: Nia celo estas demokratio. Marso estas planedo. Формы множественного числа слов оканчивающихся на o или a образуются прибавлением окончания j: novaj frazoj; niaj geografiaj kartoj; Vi estas juna 'Ты молод'; Vi estas junaj 'Вы молоды'. Глагол havi всегда требует винительного падежа глагол esti – никогда; Li havas elegantan palton; Lia palto estas eleganta.
23540. ГРАММАТИКА ИСПАНСКОГО ЯЗЫКА 1.02 MB
  1 Имя существительное – Nombre sustantivo В испанском языке существительные бывают: собственные Rosa Роза Carmen Кармен нарицательные la mesa стол el árbol дерево одушевленные el hombre мужчина el gato кот неодушевленные el bosque лес la silla стул конкретные la cara лицо el techo потолок абстрактные el tiempo время el aire воздух собирательные la biblioteca библиотека la muchedumbre толпа 1. Существительные которые оканчиваются в единственном числе на согласные z и x меняют их во множественном числе на c:...
23541. НЕМЕЦКИЙ ЯЗЫК. УНИВЕРСАЛЬНЫЙ СПРАВОЧНИК 3.34 MB
  2] К ЧИТАТЕЛЮ [1] Язык DIE SPRACHE [1. Die Anwendung des Zeitwortes [2.2] Префиксы die Vorsilben er ent ver.3] Никаких сложносоставных существительных die Substantivkopellungen.