Особенности
Одним из свойств дерева Пифагора является то, что если площадь первого квадрата равна единице, то на каждом уровне сумма площадей квадратов тоже будет равна единице.
Если в классическом дереве Пифагора угол равен 45 градусам, то также можно построить и обобщённое дерево Пифагора при использовании других углов. Такое дерево часто называют обдуваемое ветром дерево Пифагора . Если изображать только отрезки, соединяющие каким-либо образом выбранные «центры» треугольников, то получается обнаженное дерево Пифагора .
Примеры
Pythagoras tree 1.gif
Классическое дерево Пифагора
Pythagoras tree 2.gif
Обдуваемое ветром дерево Пифагора
Pythagoras tree 3.gif
Обнаженное дерево Пифагора
Pythagoras tree 4.gif
Обнаженное обдуваемое ветром дерево Пифагора
См. также
Напишите отзыв о статье "Дерево Пифагора"
Отрывок, характеризующий Дерево Пифагора
Приходило ощущение обморока, но, посмотрев в сияющие гордостью глаза Анны, всё плохое вдруг куда-то исчезло... Как же светла и красива была в этот страшный момент моя дочь!..– Вы сошли с ума, мадонна! Неужели вы сможете так просто послать свою дочь в подвал?.. Вы ведь прекрасно знаете, что её там ждёт! Опомнитесь, Изидора!..
Вдруг, Анна вплотную подошла к Караффе и звонким ясным голосом произнесла:
– Ты не судья и не Бог!.. Ты всего лишь – грешник! Потому и жжёт Перстень Грешников твои грязные пальцы!.. Думаю, он одет на тебя не случайно... Ибо ты самый подлый из них! Ты не испугаешь меня, Караффа. И моя мать никогда не подчинится тебе!
Анна выпрямилась и... плюнула Папе в лицо. Караффа смертельно побледнел. Я никогда не видела, чтобы кто-то бледнел так быстро! Его лицо буквально в долю секунды стало пепельно-серым... а в его жгучих тёмных глазах вспыхнула смерть. Всё ещё стоя в «столбняке» от неожиданного поведения Анны, я вдруг всё поняла – она нарочно провоцировала Караффу, чтобы не тянуть!.. Чтобы скорее что-то решить и не мучить меня. Чтобы самой пойти на смерть... Мою душу скрутило болью – Анна напомнила мне девочку Дамиану... Она решала свою судьбу... а я ничем не могла помочь. Не могла вмешаться.
– Ну что ж, Изидора, думаю вы сильно пожалеете об этом. Вы плохая мать. И я был прав насчёт женщин – все они порождение дьявола! Включая мою несчастную матушку.
– Простите, ваше святейшество, но если ваша мать порождение Дьявола, то кем же тогда являетесь вы?.. Ведь вы – плоть от плоти её? – искренне удивившись его бредовым суждениям, спросила я.
Привет, друзья, интересующиеся фракталами и не только. Начиная с этого момента, я запускаю серию постов, в которых буду объяснять принципы построения простейших фракталов. Изучать всегда интересно и я помогу вам в этом: отныне мы будем знать многие и многие фракталы. Аттрактор Лоренца в статье про хаос был тому примером. А сегодня я расскажу вам про дерево Пифагора.
Итак, что это такое? Дерево Пифагора – это простейший фрактал, который можно начертить на бумаге. Но почему этот фрактал называется деревом Пифагора? Дело в том, что здесь есть связь с теоремой Пифагора – одной из основ евклидовой геометрии. Помните ее? Я напомню: а2 + b2 = c2 (сумма квадратов длин катетов равна квадрату длины гипотенузы). Эта теорема известна с древности, доказательств теоремы в настоящее время насчитывают более 400, и только Пифагор впервые доказал ее геометрически. Он построил такую фигуру: взял прямоугольный треугольник и на его сторонах нарисовал квадраты. Такая фигура еще называется «Пифагоровы штаны»:
Если продолжить данную конструкцию рекурсивно, то мы получаем в итоге дерево Пифагора:
1 итерация (в нашем дереве Пифагора угол равен 45 градусам):
Вторая итерация:
Третья итерация:
Десятая итерация:
Важное свойство дерева Пифагора: если площадь первого квадрата равна единице, то на каждом уровне сумма площадей квадратов тоже будет равна единице.
Если угол изменить с 45 градусов, то можно построить и другие типы дерева Пифагора.
Вот, к примеру, так называемое «обдуваемое ветром дерево Пифагора»:
В некоторых генераторах фрактальной графики реализована формула построения фрактала на основе дерева Пифагора. Эта реализация очень напоминает IFS – системы, особенно если заменить квадраты на прямоугольники или вытянутые фигуры.
На сегодня всё, до следующих встреч, в которых будет много других интересных фракталов)
Сейчас, читая про свободные абелевы группы, наткнулась на граф Кэли, а через него вышла на дерево Пифагора
.
Не смогла пройти мимо.
Быть может, все он нем знают.... Но вдруг кто-то всё же не знает.
Дерево Пифагора
- разновидность фрактала, основанная на фигуре, известной как «Пифагоровы штаны».
Сами пифагоровы штаны вот:
А поскольку фракталы всегда получаются итерациями чего-то очень простого, то немудрено, что построив на сторонах квадратов новые треугольники и повторив всё заново, мы должны получить самоподобную структуру...
Сначала приведу сведения из Википедии.
История
Пифагор, доказывая свою знаменитую теорему, построил фигуру, где на сторонах прямоугольного треугольника расположены квадраты. В наш век эта фигура Пифагора выросла в целое дерево. Впервые дерево Пифагора построил А. Е. Босман (1891-1961) во время второй мировой войны, используя обычную чертёжную линейку.
Особенности
Одним из свойств дерева Пифагора является то, что если площадь первого квадрата равна единице, то на каждом уровне сумма площадей квадратов тоже будет равна единице.
Если в классическом дереве Пифагора угол равен 45 градусам, то также можно построить и обобщённое дерево Пифагора при использовании других углов. Такое дерево часто называют обдуваемое ветром дерево Пифагора . Если изображать только отрезки, соединяющие каким-либо образом выбранные «центры» треугольников, то получается обнаженное дерево Пифагора .
Примеры
Классическое дерево Пифагора:
Обдуваемое ветром дерево Пифагора:
Обнаженное дерево Пифагора:
Обнаженное обдуваемое ветром дерево Пифагора:
Интересные ссылки
1. На этом сайте те же картинки, что и в Википедии с программами на Паскале, рисующими все эти фракталы: fractalworld.xaoc.ru/Pythagoras_tree
Дерево Пифагора - один из видов фрактала, который основан на фигуре, известной под именем «Пифагоровы штаны».
Доказывая свою знаменитую теорему, Пифагор построил фигуру, в которой на каждой стороне прямоугольного треугольника были расположены квадраты. Спустя время эта фигура Пифагора превратилась в целое дерево. Первым дерево Пифагора построил в период второй мировой войны А. Босман, пользуясь обычной чертежной линейкой.
Одним из основных свойств дерева Пифагора считается то, что когда площадь первого квадрата составляет единицу, то на каждом из уровней сумма площадей квадратов также будет равна единице. Классическое дерево Пифагора имеет угол, равный 45 градусам, но также можно построить обобщённое дерево Пифагора, используя другие углы. Такое дерево называют обдуваемым ветром деревом Пифагора. Если изобразить только отрезки, которые соединяют каким-либо образом определенные «центры» треугольников, тогда получится обнаженное дерево Пифагора.
Следующим примером может быть известное "Пифагорово дерево". Оно часто изображается так, как показано на рис. 3.2. Каждый из прямоугольных треугольников в этом дереве имеет внутренний угол, равный 45°.
Опять воспользуемся генератором случайных чисел для создания более общей программы, которая может сформировать не только рис. 3.2, но также генерировать и менее регулярные деревья. Углы, задаваемые равными 45° для рис. 3.2, в общем случае будут задаваться случайным образом в пределах между (45 - delta) ° и (45 + delta) °, где значение delta задается в качестве входного параметра вместе с параметром n, определяющим глубину рекурсии. Регулярная версия, изображенная на рис. 3.2, получается при задании delta = 0 и n = 7. На рисунке параметр п определяет количество треугольников на пути от корня до листьев дерева. Сердцевиной программы будет рекурсивная функция square_and_triangle ("квадрат и треугольник") с параметром n, определяющим глубину рекурсии, в качестве первого аргумента. В случае если значение параметра n больше нуля, то задачей функции square_and_triangle, как это определяется названием, будет вычертить квадрат и над ним треугольник, а затем еще дважды обратиться к самой себе с соответствующими новыми аргументами, первый из которых задается равным n-1. Размер и положение квадрата полностью определяются четырьмя параметрами: X0,Y0, а и j (см. рис. 3.3). Для вычерчивания треугольника крайне важно знать угол a. Этот угол, выраженный в градусах, равен 45+deviation , где deviation равно одному из целых чисел ряда -delta, -delta+I, ... , delta, выбираемому случайным образом. На рис. 3.3 необходимые точки пронумерованы последовательными числами 0,1,2,3,4. Координаты X0 , Y0 точки О задаются в обращении к функции. Для вычисления остальных точек вначале рассмотрим более простую ситуацию при j = 0 , то есть когда сторона 0 1 квадрата занимает горизонтальное положение.
/* PYTH_TREE: Вариант дерева Пифагора */
#include "math.h"
#include "stdlib.h"
#include "time.h"
#define pi 3.1415927
#include "stdio.h"
struct {float xx; float yy; int ii;} s;
void pfopen(){ fp=fopen("scratch", "wb"); }
void pmove(float x,float y)
{ s.xx=x; s.yy=y; s.ii=0; /* 0 = pen up */ /* 0 = перо поднято */
fwrite(&s, sizeof s, 1, fp);
void pdraw(float x,float y)
{ s.xx=x; s.yy=y; s.ii=1; /* 1 = pen down */ /* 1 = перо опущено */
fwrite(&s, sizeof s, 1, fp);
void pfclose(){ fclose(fp); }
void square_and_triangle(int n,float x0,float y0, float a, float phi)
{ float x, y, xx, yy, cphi, sphi, c1, c2, b, c,
alpha, calpha, salpha;
int i, deviation; /* phi and alpha in radians */
/* delta in degrees */
if(n==0) return; /* углы phi и alpha в радианах */
/* угол delta в градусах */
deviation=rand()%(2*delta+1)-delta;
alpha=(45+deviation)*pi/180.0;
x=x=x0; x=x=x0+a;
y=y=y0; y=y=y0+a;
calpha=cos(alpha); salpha=sin(alpha);
c=a*calpha; b=a*salpha;
/* Rotation about (x0, y0) through angle phi ; */
/* Поворот вокруг точки (x0, y0) на угол phi;*/
cphi=cos(phi); sphi=sin(phi);
c1=x0-x0*cphi+y0*sphi;
c2=y0-x0*sphi-y0*cphi;
for (i=0; i<5; i++)
{ xx[i]=x[i]*cphi-y[i]*sphi+c1;
yy[i]=x[i]*sphi+y[i]*cphi+c2;
for (i=0; i<5; i++) pdraw(xx[i],yy[i]);
square_and_triangle(n-1, xx, yy, c, phi+alpha);
square_and_triangle(n-1, xx, yy, b, phi+alpha-0.5*pi);
pfopen(); time(&seed); srand((int)seed);
printf (" Задайте угол delta в градусах (0 < delta < 45) ");
scanf("%d", &delta);
printf(" Задайте глубину рекурсии n "); scanf("%d", &n);
square_and_triangle(n, 0.0, 0.0, 1.0, 0.0);
Эта программа формирует файл SCRATCH, который должен быть обработан программой GENPLOT из лекции 2. Графический результат работы программы для delta = 30 и п = 7 показан на рис. 3.4.