7 октября 2018 г.

Треугольник Серпинского методом хаоса. Программа на C# с исходным кодом.

Предыстория


Просматривая youtube, я наткнулся на интересное видео, в котором был показан пример создания фракталов используя очень простые правила:
  1. Мы имеем несколько опорных точек на плоскости. Все они пронумерованы.
  2. Устанавливаем начальную произвольную точку с которой начнётся построение. Будем её называть текущей точкой.
  3. Возьмём генератор случайных чисел в дапозоне от 1 до количества опорных точек. В зависимости от сгенерированного числа выбираем опорную точку под этим номером, после чего строим новую точку по середине (1/2 расстояния) от текущей до опорной точки. Это будет новая текущая точка для следущей итерации, после чего операцию повторяем действия до бесконечности.
Ссылка на то видео:




Треугольник Серпинского методом хаоса.


Если следовать этим правилам, то на трёх точках мы получим достаточно интересный результат. Для этого мной было написано приложение, которое даёт возможность потестировать это, и увидеть воочию построение. Вот записанное видео с результатом:


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


И я считаю это удивительно получить столь изящную фигуру выбрасыванием случайного числа.

Правила и примеры.


Теперь представьте, что мы берём не середину расстояния (1/2) а к примеру треть (1/3), тогда можно увидеть не менее интересные картинки.

Построение для 3 точек:


Построение для 4 точек:


Построение круга с 1 центральной точкой и отступом 1/6:


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

Спасибо за внимание!

4 комментария:

  1. Поточечное прорисовывание электронами интерференционной картины за двумя щелями в эксперименте В. А. Фабриканта "отдыхает". В Википедии по поводу треугольника Серпинского есть ссылка на мою статью в журнале "В мире науки" (1989, №9.) Я с помощью элементарной цветографической символики в полной мере и геометрически наглядно вскрыл фрактальную организацию простых делителей в арифметическом треугольнике Паскаля. Так вот, точки единичных актов в построении т-ка Серпинского методом хаоса ложатся на "бесцветные перемычки" в цветографическом представлении распределения простого делителя 2 по степеням. То есть, на числа треугольника Паскаля, где он отсутствует. А в целом, построение т-ка Серпинского методом хаоса на элементарном (и потому особо ценном) уровне показывает, что такое нынешняя органичная фрактальная геометризация теории вероятностей. Ведь вероятность попадания очередного акта (очередной точки) на плоскости непосредственно выражается через фрактальную размерность т-ка Серпинского.

    ОтветитьУдалить
  2. Я сам не программист, но есть одно предположение. Хотелось бы проверить. Можете сделать так, что бы последовательность случайных чисел (от 1 до 42) подгружалась из отдельного файла (например *.txt). А вершины треугольника можно было бы нумеровать несколькими цифрами: Вершина А (1,2,...14), вершина В (15,16...28), вершина С (29,30...42).

    ОтветитьУдалить