Сделал фракталы в 3D — Transcript

Видео рассказывает о фракталах, их свойствах и алгоритмах построения, включая кривую дракона, дерево Пифагора и треугольник Серпинского.

Key Takeaways

  • Фракталы создаются с помощью простых рекурсивных алгоритмов, которые повторяются бесконечно.
  • Кривая дракона и дерево Пифагора — классические примеры двумерных фракталов, которые можно программировать.
  • Треугольник Серпинского можно получить разными способами, включая деление фигур и моделирование состояний игры.
  • Фракталы находят применение в математике, программировании и визуализации сложных структур.
  • Для изучения и создания фракталов полезны знания Python, JavaScript и понимание рекурсии.

Summary

  • Объяснение понятия фракталов как бесконечно самоподобных объектов с примерами двумерных и трёхмерных фракталов.
  • Демонстрация построения кривой дракона с помощью складывания бумаги и программирования на Python с библиотекой черепашки.
  • Рассмотрение алгоритмов генерации фракталов, таких как дерево Пифагора и треугольник Серпинского, с возможностью изменения углов.
  • Обсуждение связи фракталов с математическими объектами и играми, например, с головоломкой Ханойская башня и множеством Жюлиа.
  • Показ, как простые алгоритмы и рекурсия создают сложные фрактальные структуры.
  • Упоминание онлайн-конференции Skillbox по профессиям будущего с участием экспертов из крупных компаний.
  • Объяснение, что фракталы можно строить не только из треугольников, но и из кругов и других форм.
  • Приведение примеров использования фракталов в программировании и визуализации.
  • Пояснение, что фракталы не всегда строго самоподобны и могут иметь отличия.
  • Обзор различных методов визуализации и генерации фракталов, включая клеточные автоматы и раскраску множеств.

Full Transcript — Download SRT & Markdown

00:00
Speaker A
Всем привет! Сегодня хочу рассказать о фракталах, то есть о таких бесконечно самоподобных объектах, ну короче, красивых картинках. Посмотрим на двумерные фракталы, трехмерные фракталы или даже на логарифм 3 делить на логарифм 2-мерные фракталы. Но для начала я возьму вот эту полосочку из бумаги и сложу ее пополам.
00:17
Speaker A
полосочку из бумаги и сложу ее пополам после того как я ее сложил на ней остается такой вот уголок но что будет если ею сложу теперь второй раз а потом 3 а потом еще и 4 после того как я
00:34
Speaker A
После того как я ее сложил, на ней остается такой вот уголок. Но что будет, если я ее сложу теперь второй раз, а потом третий, а потом еще и четвертый? После того как я разверну эту бумажку, на ней будет много уголков, но возможно эти уголки будут повернуты каким-то необычным образом, так как каждый раз, когда я складываю бумажку пополам, все уголки внутри тоже переворачиваются в другую сторону. В результате могут получиться такие вот ступеньки, а может быть эти уголки будут повернуты еще каким-то необычным образом. Можете над этим подумать.
00:50
Speaker A
ступеньки а может быть эти уголки будут повернуты еще каким-то необычным образом можете над этим подумать но я начинаю уже разворачивать эту бумажку и смотрим что у нас получается а получается у нас что то вот такое вот кривое но это не просто что-то кривой а эта
01:07
Speaker A
Но я начинаю уже разворачивать эту бумажку, и смотрим, что у нас получается. А получается у нас что-то вот такое вот кривое. Но это не просто что-то кривое, а эта фигура носит название кривая дракона. Кстати, я могу попробовать сложить эту бумажку еще раз и сделать это еще пять раз, но дальше пять раз уже не получится ее согнуть. И вот теперь раскладываем ее, и получается такая еще более кривая кривая дракона. Но при этом общая форма у нее как будто сохраняется.
01:26
Speaker A
этом общая форма у нее как будто сохраняется когда я сложил бумажку в первый раз у нее появился один уголок обозначим его как поворот вправо когда я сложил бумажку во второй раз то добавилась в два раза больше поворотов но при этом остались предыдущие в данном
01:41
Speaker A
Когда я сложил бумажку в первый раз, у нее появился один уголок, обозначим его как поворот вправо. Когда я сложил бумажку во второй раз, то добавилось в два раза больше поворотов, но при этом остались предыдущие, в данном случае один поворот вправо. Когда я сложил бумажку в третий раз, опять скопировались все повороты, перевернулись и добавился опять же поворот вправо. И то же самое происходит на каждом шаге складывания.
01:56
Speaker A
библиотеки с черепашкой сначала генерируем последовательность поворота вправо и влево а потом запускаем черепашку которая должна пройти по этому пути все это делается вот таким вот простым кодом на питоне который я изначально взял уфу 52 из видео про л
02:11
Speaker A
Все это можно легко реализовать с помощью Python и библиотеки с черепашкой. Сначала генерируем последовательность поворотов вправо и влево, а потом запускаем черепашку, которая должна пройти по этому пути. Все это делается вот таким вот простым кодом на Python, который я изначально взял у ufu52 из видео про L-системы и ним, но упростил. Запускаем этот код, и рисуется та же самая фигура, что получалась из бумаги.
02:27
Speaker A
форма кривой дракона становится все более и более четкой для той же черепашки можно сгенерировать огромную последовательность поворотов вправо-влево и запустить ее по этому пути она нарисую ту же самую кривую дракона еще интересным фракталом является дерево пифагора берем линию
02:51
Speaker A
Существует еще много разных алгоритмов для получения кривой дракона, но довольно простым и красивым является такое вот разворачивание линии с каждой итерацией. Форма кривой дракона становится все более и более четкой. Для той же черепашки можно сгенерировать огромную последовательность поворотов вправо-влево и запустить ее по этому пути. Она нарисует ту же самую кривую дракона.
03:05
Speaker A
попробовать разные углы кстати фракталы еще интересна тем что для их создания как правило используется очень простые алгоритмы например для рисования этого дерева пифагора я написал такой вот простой код на java script а если ты тоже хочешь разбираться в новых трендах в программировании
03:33
Speaker A
Еще интересным фракталом является дерево Пифагора. Берем линию, которая делится на две линии, каждая из которых делится еще на две линии, а каждая из них делится еще на две линии. Таким образом у нас получается вот такое вот дерево. Угол между двумя новыми линиями каждый раз 90 градусов, но можно попробовать разные углы.
03:50
Speaker A
из крупных компаний таких как сбер индекс aliexpress mail.ru wargaming delivery club и microsoft а также мастер-классы от экспертов программирование дизайне разработке игр маркетинге и даже киноиндустрии но чтобы получить доступ к занятиям нужно перейти по ссылке в описании зарегистрироваться
04:08
Speaker A
Кстати, фракталы еще интересны тем, что для их создания, как правило, используются очень простые алгоритмы. Например, для рисования этого дерева Пифагора я написал такой вот простой код на JavaScript. А если ты тоже хочешь разбираться в новых трендах в программировании, горишь идеями, хочешь реализовывать крутые проекты, то самое время узнать, что весь декабрь онлайн университет Skillbox проводит онлайн конференцию по профессиям будущего.
04:28
Speaker A
проделать это действие бесконечное количество раз то получится треугольник который состоит из бесконечного количества бесконечно малых треугольников на интересно тут то что необязательно использовать именно треугольники мы можем взять круг и поделить его на 3 круга а потом каждый из кругов поделить еще на 3 круга и в
04:45
Speaker A
Там вы узнаете, как выбрать актуальную в будущем профессию, например, как стать Java или Python разработчиком. Вас ждут топовые спикеры из крупных компаний, таких как Сбер, Яндекс, AliExpress, Mail.ru, Wargaming, Delivery Club и Microsoft, а также мастер-классы от экспертов по программированию, дизайну, разработке игр, маркетингу и даже киноиндустрии.
05:01
Speaker A
треугольник серпинского минуту назад я сказал что еще вернусь к дереву пифагора так вот неожиданный результат получается если мы возьмем дерево пифагора которая на каждом шаге делится ни на 2 ветви она 3 в какой-то момент она внезапно превращается в треугольник серпинского
05:21
Speaker A
Но чтобы получить доступ к занятиям, нужно перейти по ссылке в описании, зарегистрироваться. Участие бесплатное. Где реву мы еще вернемся, а сейчас давайте посмотрим на один из моих самых любимых фракталов — треугольник Серпинского. Берем треугольник и делим его на три треугольника таким вот образом. Для каждого из полученных треугольников проделываем ту же самую операцию.
05:35
Speaker A
жюлиа а потом они опять образуют треугольник серпинского есть такая головоломка ханойская башня целью является переложить все диски с одного стержня на другой при условии что нельзя класть большие диски на меньше из-за того что большие диски нельзя сверху класть на меньшие приходится долго
05:54
Speaker A
Если проделать это действие бесконечное количество раз, то получится треугольник, который состоит из бесконечного количества бесконечно малых треугольников. Что интересно, тут то, что необязательно использовать именно треугольники. Мы можем взять круг и поделить его на три круга, а потом каждый из кругов поделить еще на три круга, и в конце концов получится тот же самый треугольник.
06:11
Speaker A
же превратится в треугольник серпинского при этом чем больше у нас дисков тем более детальный будет треугольник victa запросу им видео про фракталы рассказывал как треугольник серпинского можно построить определенным образом случайно раскидывая точки треугольник серпинского в математике можно встретить буквально повсюду
06:29
Speaker A
В предыдущем видео я показывал, как можно этот треугольник получить с помощью одномерного клеточного автомата. А еще если нарисовать одну большую линию в игре "Жизнь", то она тоже начинает превращаться в такой вот симметричный треугольник Серпинского.
06:47
Speaker A
самые числа встречаются в комбинаторике если подсчитать количество вершин получаемых при разрезе многомерного куба то тоже получается треугольник pascal он появляется даже в шахматах если мы поставим короля в угол и будем считать количество возможных кратчайших путей до других клеток но если в треугольнике
07:06
Speaker A
Минуту назад я сказал, что еще вернусь к дереву Пифагора. Так вот, неожиданный результат получается, если мы возьмем дерево Пифагора, которое на каждом шаге делится не на две ветви, а на три. В какой-то момент оно внезапно превращается в треугольник Серпинского.
07:25
Speaker A
фракталов мы еще дойдем а сначала давайте посмотрим на множество жюлиа о нем я более подробно рассказывал в своем видео про комплексные числа но если коротко то каждую точку комплексной плоскости возводим в квадрат прибавляем некоторую константу c полученный результат опять возводим в квадрат опять
07:43
Speaker A
А теперь возьмем три дерева Пифагора, которые вот так вот расположены, и все ветви у них теперь крутятся не в противоположные стороны, а все вместе по часовой стрелке. В какой-то момент они начинают напоминать кривую дракона, в другой момент они похожи на множество Жюлиа, а потом они опять образуют треугольник Серпинского.
07:58
Speaker A
выбранной константы при этом на этой картинке есть еще много разных цветов они зависят от того как мы раскрашиваем этот фрактал раскрашиваем мы не сама множество окружающей его точки на основании того как быстро . уходит в бесконечность получается что на многих этих картинках
08:15
Speaker A
Есть такая головоломка — ханойская башня. Целью является переложить все диски с одного стержня на другой при условии, что нельзя класть большие диски на меньшие. Из-за того, что большие диски нельзя сверху класть на меньшие, приходится долго перекладывать диски с одного стержня на другой.
08:33
Speaker A
раскраску сначала я пытался найти формулу которая даст похожие цвета но потом нашел гораздо более простой способ просто открываем photoshop пипеткой выбираем цвета создаем из них градиент и сохраняем это все в длинную тонкую картинку потом своей программе которая рисует фрактал просто берем цвета из
08:51
Speaker A
Если мы обозначим буквами, на каком стержне находится какой диск, а потом нарисуем схему всех возможных состояний игры или не имея, соединим те состояния, между которыми можно перейти, переложив диск, то внезапно эта схема тоже превратится в треугольник Серпинского. При этом чем больше у нас дисков, тем более детальный будет треугольник.
09:10
Speaker A
множество жюлиа будет становиться все более и более четким и вот так вот она будет выглядеть примерно после сотни повторений и так как форма множество жюлиа зависит от выбранной точке то мы можем построить такую вот в таблицу из разных множество жюлиа для разных точек
09:25
Speaker A
В видео про фракталы я рассказывал, как треугольник Серпинского можно построить определенным образом, случайно раскидывая точки. Треугольник Серпинского в математике можно встретить буквально повсюду.
09:44
Speaker A
впервые получил кусочек изображения множество мандельброта он решил что у них просто сломался принтер мы можем бесконечно приближаться в это множество мандельброта и находить там все новые и новые узоры но тут есть одна проблема говорят что фракталы это сама подобные объекты но у
10:00
Speaker A
А еще очень часто встречается треугольник Паскаля. По краям расставляем единицы, а пустые клетки заполняем суммой двух верхних клеток. Когда мы возводим (a + b) в n-ную степень, то полученные коэффициенты будут равны числам из треугольника Паскаля.
10:15
Speaker A
грань является лиану подобным или не подобным не будем же мы обучать нейросеть чтобы она отвечала является ли это точно подобным или нет потому что хоть она и похоже все таки отличие у него есть то есть фракталы не всегда
10:28
Speaker A
Те же самые числа встречаются в комбинаторике. Если подсчитать количество вершин, получаемых при разрезе многомерного куба, то тоже получается треугольник Паскаля. Он появляется даже в шахматах, если мы поставим короля в угол и будем считать количество возможных кратчайших путей до других клеток.
10:42
Speaker A
квадрат в то его площадь увеличивается в четыре раза если же мы увеличим в два раза куб то его объем возрастет в 8 раз например если мы возьмем квадрат и увеличим его в два раза то у нас получится 4 таких же квадрата а если мы
10:57
Speaker A
Но если в треугольнике Паскаля взять и выделить только нечетные числа, то образуется треугольник Серпинского. Получается, что треугольник Серпинского можно найти где угодно: при складывании чисел, при игре в шахматы, в ханойской башне, многомерных фигурах, даже в других фракталах.
11:12
Speaker A
где-то посередине между одномерными и двумерными объектами он получится примерно полтора мерный или если более точно посчитать его размерность это будет логарифм 3 делить на логарифм 2 но на самом деле под определение фигуры с дробной размерностью попадают далеко не все фракталы то же самое множество
11:30
Speaker A
А еще его можно построить в 3D. Но до 3D фракталов мы еще дойдем. А сначала давайте посмотрим на множество Жюлиа. О нем я более подробно рассказывал в своем видео про комплексные числа. Но если коротко, то каждую точку комплексной плоскости возводим в квадрат, прибавляем некоторую константу c, полученный результат опять возводим в квадрат, опять прибавляем c, и так далее много-много раз, в идеале до бесконечности.
11:46
Speaker A
эта анимация 2006 года и наверное сейчас можно сделать лучше и вот я сделал трехмерное множество жилья по моему она похожа на эклер двумерная версии множество жюлиа строилась с помощью комплексных чисел то есть чисел с двумя параметрами тут же нам нужно
12:03
Speaker A
Если после всех этих возведений в квадрат значения точки не стремятся к бесконечности, то она принадлежит множеству Жюлиа, и закрашиваем эту точку черным. Множество выглядит по-разному в зависимости от выбранной константы.
12:20
Speaker A
точки и смотреть как будет меняться это множество еще можно посмотреть на это множество в разрезе при этом в его центре будет обычное множество жюлиа [музыка] точно так же мы можем построить 4d множество мандельброта потом взять его трехмерный срез и на экране посмотреть
12:52
Speaker A
При этом на этой картинке есть еще много разных цветов. Они зависят от того, как мы раскрашиваем этот фрактал. Раскрашиваем мы не само множество, а окружающие его точки на основании того, как быстро они уходят в бесконечность.
13:20
Speaker A
степени [музыка] множество мандельброта вас нам выглядит таким красивым из-за раскраски окружающих точек но без этой раскраске она выглядит слишком однообразным уже по сравнению с трехмерной версии множество мандельброта еще интересным фракталом является кривая гилберта берем отрезок и превращаем его вот в такую вот буква п
14:02
Speaker A
Получается, что на многих этих картинках само множество даже исчезает, его вообще нет. Есть только точки, которые раскрашены, которые находятся вокруг множества. Так как само множество здесь красятся черным цветом. Раскраску окружающих точек я взял с Википедии. Мне понравилось, как там раскрашены фракталы. Я попытался повторить такую же раскраску.
14:19
Speaker A
плоскость 1 мерная линия превращается в двумерную плоскость и так как эта линия заполняет собой всю плоскость то она уже не бесконечна кривая как другие фракталы поэтому уже четвертым и на этот раз уже точным определением фрактала будет фигура у которой и их а у здорового
14:36
Speaker A
Сначала я пытался найти формулу, которая даст похожие цвета, но потом нашел гораздо...
14:51
Speaker A
ещё не рассказал про такой интересный клеточный автомат как песчаная куча действует он по следующим правилам в каждой клетке может находиться некоторое число песчинок при этом если песчинок в клетке 4 или больше то мы отнимаем от количество песчинок в клетке 4 и распределяем эти
15:06
Speaker A
четыре клетки по окружающим клеткам то есть по верхней нижний правый и левый то есть песчаная куча как бы рассыпается по окружающим клеткам если мы поставим в одной клетке 100 пищи на кто они будут рассыпаться вот таким вот образом на
15:20
Speaker A
каждом кадре будет образовываться какой-нибудь интересный узор и в конце концов получится такой вот кружок а если в одной клетке расположить сразу тысячу пищи на кто кружок получится больше если я положу 100 песчинок тысячу песчинок 10000 песчинок 100000 песчинок
15:36
Speaker A
или миллион песчинок видно что картинка примерно одна и та же меняется только и и детальность при большом количестве песчинок проявляется фрактальная структура этого рисунка а если хотите более подробно узнать прописанные кучи и разные другие фракталы которых я сейчас рассказывал то
15:52
Speaker A
в описании я оставлю ссылки на разные видео статьи где более подробно этом рассказывается ну а на сегодня все всем пока [музыка]
Topics:фракталыкривая драконадерево Пифагоратреугольник Серпинскогомножество ЖюлиапрограммированиеPythonJavaScriptрекурсияалгоритмы

Frequently Asked Questions

Что такое кривая дракона и как её построить?

Кривая дракона — это фрактал, который можно получить, многократно складывая бумажную полоску пополам и разворачивая её. Также её можно программно сгенерировать с помощью последовательности поворотов вправо и влево на Python с библиотекой черепашки.

Какие алгоритмы используются для построения дерева Пифагора?

Дерево Пифагора строится рекурсивно: линия делится на две линии, каждая из которых снова делится на две, с фиксированным углом между ветвями. Угол можно менять для получения разных форм дерева.

Как связаны фракталы и головоломка Ханойская башня?

Состояния игры Ханойская башня можно представить в виде графа, который по структуре напоминает треугольник Серпинского. Чем больше дисков, тем более детальной становится эта фрактальная структура.

Get More with the Söz AI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →