ГоловнаСтаттіДерево Піфагора

Дерево Піфагора: Фрактал, Побудований на Основі Прямокутного Трикутника

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

mysimulator teamОновлено — червень 2026≈ 6 хв читання▶ Відкрити симуляцію

A fractal built from a right triangle

The Pythagoras tree is a plane fractal invented by Dutch mathematics teacher Albert E. Bosman in 1942. It starts from a single square. On top of that square, a right triangle is erected whose hypotenuse is exactly the square's top edge; two new, smaller squares are then built on the triangle's other two sides. Repeat that same construction on each new square, forever, and you get a tree-like branching fractal — and it is called the Pythagoras tree because the areas of the two child squares always add up to exactly the area of the parent square, which is simply the Pythagorean theorem, a² + b² = c², read as a statement about squares built on a triangle's sides rather than just their lengths.

жива демонстрація · пов'язана симуляція● LIVE

Рекурсія крок за кроком

Якщо правий кут трикутника розташований на відстані від краю верхнього боку квадрата (контролюється параметром кута), то два дочірні квадрати матимуть різну величину — менший і більший, що є причиною асиметричного, «з вітру» вигляду класичної піраміди Піфагора, на відміну від ідеальної симетрії. При 45° обидва дочірні квадрати рівні, і фрактал росте як симметричний подвійний спіраль замість того, щоб бути симетричним.

grow(square, depth): if depth == 0: return triangle = right_triangle_on_top_edge(square, angle) left_sq = square_on_side(triangle, side="left") right_sq = square_on_side(triangle, side="right") draw(square) grow(left_sq, depth - 1) grow(right_sq, depth - 1) Оскільки обидва дочірні квадрати зменшуються відносно батьківського (кожна сторона масштабується за допомогою синуса та косинуса кута фрактала), загальна площа, що додається на кожному рівні глибини, геометрично зменшується. Це означає, що нескінченне дерево — глибина йде до нескінченості — все ще займає кінцеву площу в цілому, що є характерною рисою багатьох класичних фракталів: нескінченна деталізація, упакована в обмежену область. Приблизно на 45° ця межа обчислюється як точно вдвічі більша за площу початкового квадрата, один із більш чистих результатів у розваг-фрактальній геометрії.

grow(square, depth):
    if depth == 0: return
    triangle = right_triangle_on_top_edge(square, angle)
    left_sq  = square_on_side(triangle, side="left")
    right_sq = square_on_side(triangle, side="right")
    draw(square)
    grow(left_sq,  depth - 1)
    grow(right_sq, depth - 1)

Глибина, нахил та чому це виглядає органічно

Глибина контролює кількість рекурсивних рівнів, які малюються — кожен додатковий рівень приблизно подвоює кількість квадратів на екрані, тому глибина 10 вже означає понад тисячу нових квадратів на найдетальнішому рівні само по собі, що й пояснює, чому більшість реалізацій обмежують глибину десь від 12 до 14, перш ніж квадрати стануть меншими за піксель і додавання більше не змінює зображення. Невелика випадкова тремтіння, додане до кута на кожному рекурсивному виклику — це поширення, яке часто використовується за межами оригінального строгого буття Босмана — те, що робить згенеровані дерева Піфагора виглядати як справжні розгалужені рослини, а не жорстку, механічно повторювану форму; справжні дерева, папоротники та річкові дельти показують цю саму статистичну самоспівідповідність, де кожен гілка нагадує ціле, але ніколи точно.

Frequently asked questions

Чому це називається «Дерево Піфагора»?

Кожен етап побудови будує прямокутний трикутник із квадратом на кожній з його трьох сторін, і за теоремою Піфагора площі двох менших квадратів завжди дорівнюють точно площі більшого квадрата, такий самий зв’язок a² + b² = c² описує для довжин сторін.

Чи коли-небудь зупиняється ріст цього дерева?

Математично побудова може продовжуватися назавжди, додаючи нескінченну кількість квадратів, але оскільки площу кожного покоління зменшують із фіксованим співвідношенням, загальна площа, яку покриває, збігається до кінцевого числа, а не росте без обмежень — під кутом 45°, цей ліміт становить точно вдвічі площу першого квадрата.

Чому зміна слайдера кута так сильно змінює форму дерева?

Кут визначає, де знаходиться прямокутний кут кожного рекурсивного трикутника вздовж верхнього краю батьківського квадрата. Кут 45° дає два рівних дочірні квадратів і симетричне дерево подвійної спіралі; відхилення від 45° робить один дочірній квадрат більшим за інший, що створює нерівномірний, «повітряний» вигляд класичного дерева Піфагора.

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте Pythagoras Tree і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію Pythagoras Tree

Що ви знайшли?

Додати кроки відтворення (опційно)