Главная - Бах Ричард
Снежинка коха построение. Использование среды разработки приложений для создания снежинки коха. Объекты, обладающие фрактальными свойствами, в природе

    Геометрическая фигура снежинка Коха выглядит так

    Рисуют снежинку Коха так

    А есть еще и пирамида Коха

    Более подробно можно узнать по какой схеме рисуется снежинка Коха из нижеприведенного видео. Кто-то может и поймет, я пас.

    Для начала рассмотрим эту снежинку Коха. Лучше всего нам покажет схема, приведенная внизу.

    То есть для рисования данной снежинки нужно воспользоваться отдельными геометрическими фигурами, из которых и состоит этот геометрический фрактал.

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

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

    Пример, фото-рисунка картинки снежинки Коха с поэтапным черчением.

    На этой схеме можно подробно рассмотреть линии, с которых потом получится снежинка Коха.

    А это уже интерпретация новой снежинки на основе снежинки Коха.

    Прежде чем понять как рисовать снежинку Коха , надо определить что это вообще такое.

    Так вот, снежинкой Коха называют геометрическое изображение - фрактал.

    Полное определение понятия снежинка Коха дано на картинке ниже.

Всем привет! У всех студентов, и у меня в том числе, началась летняя сессия. Все сдают зачеты и лабы, закрывают пропуски и т.п.

Я давно сдал все лабы, и у меня осталось несколько программ, которые, думаю, многим еще пригодятся. Все они в основном на Паскале и Делфи. Я писал уже о . В этом посте пойдет речь о снежинке Коха на Паскале (Pascal).

Фракталы наверняка вам знакомы и я не буду писать о том, что это такое и с чем их "едят". Давайте просто сразу перейдем к коду. Он на языке Паскаль и адаптирован под PascalABC (скачать PascalABC можно с официального сайта ). Это не мой код, я нашел его на одном из форумов. Я лишь чуть-чуть изменил его, проще говоря, удалил лишнее.

Снежинка Коха на Паскале (Pascal)

uses GraphABC; procedure Draw(x, y, l, u: Real; t: Integer); procedure Draw2(Var x, y: Real; l, u: Real; t: Integer); begin Draw(x, y, l, u, t); x:= x + l*cos(u); y:= y - l*sin(u); end; begin if t > 0 then begin l:= l/3; Draw2(x, y, l, u, t-1); Draw2(x, y, l, u+pi/3, t-1); Draw2(x, y, l, u-pi/3, t-1); Draw2(x, y, l, u, t-1); end else Line(Round(x), Round(y), Round(x+cos(u)*l), Round(y-sin(u)*l)) end; begin SetWindowSize(425,500); SetWindowCaption("Фракталы: Снежинка Коха"); Draw(10, 354, 400, pi/3, 4); Draw(410, 354, 400, pi, 4); Draw(210, 8, 400, -pi/3, 4); end.

Вот такая снежинка у вас должна получиться:

Вкратце про параметры процедуры Draw:

1 и 2 параметр - это координаты начальной точки, откуда будет рисоваться линия;

3 - длина линии;

4 - полярный угол;

5 - количество шагов.

Можете поэкспериментировать с количеством шагов, и получится что-то вроде этого:

Кривая Коха на Паскале (Pascal)

Как вы поняли, снежинка рисуется из 3-х кривых Коха. И для того чтобы нарисовать кривую Коха, используем тот же код с разницей лишь той, что процедура Draw вызывается один раз и с другими параметрами.

Uses GraphABC; procedure Draw(x, y, l, u: Real; t: Integer); procedure Draw2(Var x, y: Real; l, u: Real; t: Integer); begin Draw(x, y, l, u, t); x:= x + l*cos(u); y:= y - l*sin(u); end; begin if t > 0 then begin l:= l/3; Draw2(x, y, l, u, t-1); Draw2(x, y, l, u+pi/3, t-1); Draw2(x, y, l, u-pi/3, t-1); Draw2(x, y, l, u, t-1); end else Line(Round(x), Round(y), Round(x+cos(u)*l), Round(y-sin(u)*l)) end; begin SetWindowSize(425,500); SetWindowCaption("Фракталы: Кривая Коха"); Draw(10, 254, 400, 0, 4); end.

Как видите, изменилось мало чего: полярный угол стал равен нулю и начальная точка смещена немного вверх. И вот что получилось:

Разбираться в коде я не стал, но если возникнут вопросы - пишите в комментариях. Вместе разберемся.

Эта фигура - один из первых исследованных учеными фракталов. Она получается из трех копий кривой Коха, которая впервые появилась в статье шведского математика Хельге фон Коха в 1904 году. Эта кривая была придумана как пример непрерывной линии, к которой нельзя провести касательную ни в одной точке. Линии с таким свойством были известны и раньше (Карл Вейерштрасс построил свой пример еще в 1872 году), но кривая Коха замечательна простотой своей конструкции. Не случайно его статья называется «О непрерывной кривой без касательных, которая возникает из элементарной геометрии».

Как по шагам строится кривая Коха.

Первая итерация - просто начальный отрезок. Потом он делится на три равные части, центральная достраивается до правильного треугольника и затем выкидывается. Получается вторая итерация - ломаная линия, состоящая из четырех отрезков. К каждому из них применяется такая же операция, и получается четвертый шаг построения. Продолжая в том же духе, можно получать всё новые и новые линии (все они будут ломаными). А то, что получится в пределе (это уже будет воображаемый объект), и называется кривой Коха.

Основные свойства кривой Коха

1.О на непрерывна, но нигде не дифференцируема. Грубо говоря, именно для этого она и была придумана - как пример такого рода математических «уродцев».

2. Имеет бесконечную длину. Пусть длина исходного отрезка равна 1. На каждом шаге построения мы заменяем каждый из составляющих линию отрезков на ломаную, которая в 4/3 раза длиннее. Значит, и длина всей ломаной на каждом шаге умножается на 4/3 : длина линии с номером n равна (4/3)n–1 . Поэтому предельной линии ничего не остается, кроме как быть бесконечно длинной.

3. Снежинка Коха ограничивает конечную площадь. И это при том, что ее периметр бесконечен. Это свойство может показаться парадоксальным, но оно очевидно - снежинка полностью помещается в круг, поэтому ее площадь заведомо ограничена. Площадь можно посчитать, и для этого даже не нужно особых знаний - формулы площади треугольника и суммы геометрической прогрессии проходят в школе. Для интересующихся вычисление приведено ниже мелким шрифтом.

Пусть сторона исходного правильного треугольника равна a. Тогда его площадь. Сначала сторона равна 1, а площадь: . Что происходит при увеличении итерации? Можно считать, что к уже имеющемуся многоугольнику пристраиваются маленькие равносторонние треугольнички. В первый раз их всего 3, а каждый следующий раз их в 4 раза больше чем было в предыдущий. То есть на n-м шаге будет достроено Tn = 3 · 4n–1 треугольничков. Длина стороны каждого из них составляет треть от стороны треугольника, достроенного на предыдущем шаге. Значит, она равна (1/3)n. Площади пропорциональны квадратам сторон, поэтому площадь каждого треугольничка равна . При больших значениях n это, кстати, очень мало. Суммарный вклад этих треугольничков в площадь снежинки равен Tn · Sn = 3/4 · (4/9)n · S0 . Поэтому после n-го шага площадь фигуры будет равна сумме S0 + T1 · S1 + T2 · S2 + ... +Tn · Sn = . Снежинка получается после бесконечного числа шагов, что соответствует n → ∞ . Получается бесконечная сумма, но это сумма убывающей геометрической прогрессии, для нее есть формула: . Площадь снежинки равна .


Варианты построения снежинки Коха

Снежинка Коха «наоборот» получается, если строить кривые Коха внутрь исходного равностороннего треугольника.

Линии Чезаро. Вместо равносторонних треугольников используются равнобедренные с углом при основании от 60° до 90°. На рисунке угол равен 88°.


Квадратный вариант. Тут достраиваются квадраты.

Эта фигура - один из первых исследованных учеными фракталов. Она получается из трех копий кривой Коха , которая впервые появилась в статье шведского математика Хельге фон Коха в 1904 году. Эта кривая была придумана как пример непрерывной линии, к которой нельзя провести касательную ни в одной точке. Линии с таким свойством были известны и раньше (Карл Вейерштрасс построил свой пример еще в 1872 году), но кривая Коха замечательна простотой своей конструкции. Не случайно его статья называется «О непрерывной кривой без касательных, которая возникает из элементарной геометрии».

Написание функции, которая рекурсивно вызывает себя, является одним из способов генерации фрактальной диаграммы на экране. Однако, что, если вы хотите, чтобы строки в вышеуказанном Канторе устанавливались как отдельные объекты, которые можно было перемещать независимо? Рекурсивная функция проста и изящна, но это не позволяет вам многое сделать, кроме простого создания самого шаблона.

Вот правила. Кривую Коха и другие фрактальные узоры часто называют «математическими монстрами». Это связано с нечетным парадоксом, который возникает, когда вы применяете рекурсивное определение бесконечно много раз. Если длина исходной стартовой линии равна единице, первая итерация кривой Коха даст длину линии четыре трети. Сделайте это снова, и вы получите шестнадцать-девятый. По мере того как вы итерируете в бесконечность, длина кривой Коха приближается к бесконечности. Тем не менее, он вписывается в крошечное конечное пространство, предоставленное прямо здесь, на этой бумаге!

Первые этапы построения кривой Коха

Рисунок и анимация отлично показывают, как по шагам строится кривая Коха. Первая итерация - просто начальный отрезок. Потом он делится на три равные части, центральная достраивается до правильного треугольника и затем выкидывается. Получается вторая итерация - ломаная линия, состоящая из четырех отрезков. К каждому из них применяется такая же операция, и получается четвертый шаг построения. Продолжая в том же духе, можно получать всё новые и новые линии (все они будут ломаными). А то, что получится в пределе (это уже будет воображаемый объект), и называется кривой Коха.

Поскольку мы работаем на Земле обработки конечных пикселей, этот теоретический парадокс не будет для нас фактором. Мы могли бы действовать так же, как и с канторским множеством, и писать рекурсивную функцию, которая итеративно применяет правила Коха снова и снова. Тем не менее, мы будем решать эту проблему по-другому, рассматривая каждый отрезок кривой Коха как отдельный объект. Это откроет некоторые возможности дизайна. Например, если каждый сегмент является объектом, мы можем позволить каждому сегменту двигаться независимо от его исходного местоположения и участвовать в физическом моделировании.

Основные свойства кривой Коха

1. Она непрерывна, но нигде не дифференцируема. Грубо говоря, именно для этого она и была придумана - как пример такого рода математических «уродцев».

2. Имеет бесконечную длину. Пусть длина исходного отрезка равна 1. На каждом шаге построения мы заменяем каждый из составляющих линию отрезков на ломаную, которая в 4/3 раза длиннее. Значит, и длина всей ломаной на каждом шаге умножается на 4/3: длина линии с номером n равна (4/3) n–1 . Поэтому предельной линии ничего не остается, кроме как быть бесконечно длинной.

Кроме того, мы могли бы использовать случайный цвет, толщину линии и т.д. Чтобы отображать каждый сегмент по-разному. Чтобы выполнить нашу задачу обработки каждого сегмента как отдельного объекта, мы должны сначала решить, что должен делать этот объект. Какие функции он должен иметь?

Давайте рассмотрим, что у нас есть. С приведенными выше элементами, как и где мы применяем правила Коха и принципы рекурсии? В этом симуляции мы всегда следили за двумя поколениями: текущими и последующими. Когда мы закончили вычислять следующее поколение, теперь стало актуальным, и мы перешли к вычислению нового следующего поколения.

3. Снежинка Коха ограничивает конечную площадь. И это при том, что ее периметр бесконечен. Это свойство может показаться парадоксальным, но оно очевидно - снежинка полностью помещается в круг, поэтому ее площадь заведомо ограничена. Площадь можно посчитать, и для этого даже не нужно особых знаний - формулы площади треугольника и суммы геометрической прогрессии проходят в школе. Для интересующихся вычисление приведено ниже мелким шрифтом.

Мы будем применять подобную технику здесь. Вот как выглядит код. Разумеется, вышеприведенное исключает настоящую «работу» здесь, которая определяет эти правила. Как мы разбиваем один сегмент линии на четыре, как описано правилами? Построение фрактала основано на концепции бесконечности. Шаг 2: Мы разделим этот сегмент на три равные части, а на центральной части поднят равносторонний треугольник. Шаг 3: На четырех новых сегментах мы выполним шаг.

Пересеките инструмент между двумя объектами, щелкните по окружности. Снежинка Коха - это особая фрактальная кривая, построенная математиком Коха, начиная с кружева Коха. Это кривая, построенная по сторонам равностороннего треугольника. Кружева Коха построены на каждой из сторон треугольника.

Пусть сторона исходного правильного треугольника равна a . Тогда его площадь. Сначала сторона равна 1, а площадь: . Что происходит при увеличении итерации? Можно считать, что к уже имеющемуся многоугольнику пристраиваются маленькие равносторонние треугольнички. В первый раз их всего 3, а каждый следующий раз их в 4 раза больше чем было в предыдущий. То есть на n -м шаге будет достроено T n = 3 · 4 n–1 треугольничков. Длина стороны каждого из них составляет треть от стороны треугольника, достроенного на предыдущем шаге. Значит, она равна (1/3) n . Площади пропорциональны квадратам сторон, поэтому площадь каждого треугольничка равна . При больших значениях n это, кстати, очень мало. Суммарный вклад этих треугольничков в площадь снежинки равенT n · S n = 3/4 · (4/9) n · S 0 . Поэтому после n -го шага площадь фигуры будет равна сумме S 0 + T 1 · S 1 + T 2 · S 2 + ... +T n · S n = . Снежинка получается после бесконечного числа шагов, что соответствует n → ∞. Получается бесконечная сумма, но это сумма убывающей геометрической прогрессии, для нее есть формула: . Площадь снежинки равна.

В следующей таблице приведены первые шаги построения кривой. Чтобы получить фрактал, вам просто нужно вставить три копии кривой вдоль сторон треугольника. Обратите внимание, что вторая фигура - звезда Давида. Конечным результатом является замкнутая кривая, построенная на равностороннем треугольнике. Можно отметить, что фритта содержит шестиконечную звезду. Конструкция очень похожа на фрактальную пятиугольную.

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

4. Фрактальная размерность равна log4/log3 = log 3 4 ≈ 1,261859... . Аккуратное вычисление потребует немалых усилий и подробных разъяснений, поэтому здесь приведена, скорее, иллюстрация определения фрактальной размерности. Из формулы степенной зависимости N(δ) ~ (1/δ)D, где N - число пересекающихся квадратиков, δ - их размер, D - размерность, получаем, что D = log 1/δ N. Это равенство верно с точностью до прибавления константы (одной и той же для всех δ ). На рисунках изображена пятая итерация построения кривой Коха, зеленым закрашены квадратики сетки, которые с ней пересекаются. Длина исходного отрезка равна 1, поэтому на левом рисунке длина стороны квадратиков равна 1/9. Закрашено 12 квадратиков, log 9 12 ≈ 1,130929... . Пока не очень похоже на 1,261859... . Смотрим дальше. На среднем рисунке квадратики в два раза меньше, их размеры 1/18, закрашено 30. log 18 30 ≈ 1,176733... . Уже лучше. Справа квадратики еще вдвое меньше, закрашено уже 72 штуки. log 72 30 ≈ 1,193426... . Еще ближе. Дальше нужно увеличивать номер итерации и одновременно уменьшать квадратики, тогда «эмпирическое» значение размерности кривой Коха будет неуклонно приближаться к log 3 4, а в пределе и вовсе совпадет.

Варианты

Снежинка Коха «наоборот» получается, если строить кривые Коха внутрь исходного равностороннего треугольника.

Линии Чезаро . Вместо равносторонних треугольников используются равнобедренные с углом при основании от 60° до 90°. На рисунке угол равен 88°.

Квадратный вариант . Тут достраиваются квадраты.

Трехмерные аналоги . Пространство Коха.

 


Читайте:



Сочинение My working day на английском с переводом

Сочинение My working day на английском с переводом

«Распорядок дня на английском языке» – одна из самых востребованных тем. Пожалуй, одна из первых, изучаемых в школе и повторяемых в ВУЗе. Будни или...

Star wars: история далекой-далекой галактики - легенды и сказания

Star wars: история далекой-далекой галактики - легенды и сказания

Кратко о статье: Расширенная вселенная давно развивается независимо от своих непосредственных создателей. Дабы не путаться в хронологии событий,...

ю Высшие и центральные государственные учреждения

ю Высшие и центральные государственные учреждения

В эпоху Петра I в России продолжились и усилились серьезные изменения в политической, экономической и культурной жизни России, начавшиеся еще в...

Духовно-рыцарские ордена – кратко

Духовно-рыцарские ордена – кратко

Орден госпитальеров — самый знаменитый и прославленный из духовно-рыцарских орденов. Полное его наименование — Суверенный Военный Орден...

feed-image RSS