Отношения с числами. Игра в хаос.

топ 100 блогов ali-ben-saef — 19.07.2024

Задание #6 от nely_snork вернуло меня во времена сорокалетней давности, когда я преподавал информатику в школе в качестве факультатива.

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

1. Треугольник
1. Треугольник

Все это всяко проще, чем построение последовательности Фибоначчи, о которой пишет Нелли.

Итак, возьмем три точки на плоскости, не лежащие на прямой.

Они образуют треугольник ABC.

Выберем произвольную точку X0 внутри треyгольника.

Построим последовательность точек X1, X2, X3, ... следующим образом.

Имея точку Xn, выберем случайным образом одну из точек A, B, C.

Следующая точка последовательности вычисляется как середина отрезка, соединяющего Xn с этой случайно выбранной вершиной A,  B или C.

На рисунке 1 точка X1 — это середина отрезка (X0,C), точка X2 — середина отрезка (X1,B), и т.д....


На первый взгляд, кажется, что точки последовательности будут хаотично разбросаны внутри треугольника ABC;  однако, это не так.

На самом деле получается фигура, называемая треугольником Серпинского:

Отношения с числами. Игра в хаос. 2.
2.

Программа на Паскале, которая строит последовательность и отображает ее на экране, выглядит так:

3. Треугольник Серпинского на Turbo Pascal
3. Треугольник Серпинского на Turbo Pascal

В те былинные времена, сорок лет назад, среда TurboPascal была популярна; ностальгирующие могут скачать бесплатную работающую под современным Windows версию здесь.

Для юных поколений в конце поста будет реализация на KOTLIN под Android, а также GeoGebra.


Вернемся к треугольнику Серпинского.

За этим построением лежит весьма  серьезная математика, но в данном конкретном случае все можно объяснить на пальцах.

Это проще пареной репы.

Итак, отметим середины сторон треугольника, и соединим их отрезками.

4. Четыре маленьких треугольника в одном большом.
4. Четыре маленьких треугольника в одном большом.

Где бы ни находилась точка X0 внутри ABC, X1 и все последующие могут оказаться в одном из треугольников AED, EBF, или DFC, но никак не в EDF.

В самом деле, если выбрана вершина A, то следующая точка будет внутри AED; если вершина B — то мы попадем внутрь EBF; наконец, в случае выбора C, на следующем этапе мы окажемся внутри DFC.


На следующем шаге отметим середины маленьких треугольников и соединим их отрезками.

5. Много маленьких треугольников.
5. Много маленьких треугольников.

Нетрудно убедиться, что, поскольку X1 находится в одном из треугольников AED, EBF, или DFC, то X2 и все последующие точки последовательности никак не попадут в HGI, KJM, MNO — они, как и EDF, окажутся пустыми для всех следующих членов последовательности.

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


Вот, собственно, и все.

Как было показано выше, программа для построения треугольника Серпинского составляет 25 строчек.

На KOTLIN она примерно такой же длины.

6. Треугольник Серпинского на KOTLIN Android
6. Треугольник Серпинского на KOTLIN Android


Надо, конечно, определить вспомогательный класс class cBoardView, который позволяет видеть все происходящее в реальном времени.

Но этот класс скорее котлино-андроидовский, чем математический.

На платежном терминале это выглядит довольно забавно.

7. Треугольник Серпинского на платежном терминале Android
7. Треугольник Серпинского на платежном терминале Android

Можно все это смоделировать и на GeoGebra — тыц:

8. Треугольник Серпинского на GeoGebra.
8. Треугольник Серпинского на GeoGebra.


После такого начала детки начинают внимательно слушать.

Далее таким же манером строятся и более замысловатые фигуры.

9. Дракон
9. Дракон

Здесь всего лишь нужно поменять коэффициенты сжатия и добавить повороты в преобразования.

10. Дракон на терминале
10. Дракон на терминале

Для построения листа папоротника Барнсли требуется четвертое преобразование.

Отношения с числами. Игра в хаос. 11. Fern Bernsley
11. Fern Bernsley

После таких построений начинаешь смотреть на природу другими глазами.

12. Папоротник на терминале.
12. Папоротник на терминале.

Оказывается, что и кривые можно строить таким же точно способом.

13. Кривая Фон Коха
13. Кривая Фон Коха
Отношения с числами. Игра в хаос. 14.
14.

И, совершенно неожиданно, кривые Безье можно получить из игры в хаос.

15. Кривая Безье
15. Кривая Безье

Здесь верхняя кривая построена классическим вычислением по формуле через равные интервалы.

Посередине применялся алгоритм Кастельжо.

А нижняя кривая — результат игра в хаос.


Напоследок — еще один результат игры в хаос, в котором читатель без труда узнает вейвлет Daubechies D4:

16. Вейвлет Daubechies D4
16. Вейвлет Daubechies D4

Дети слушали меня с интересом.

Были такие, кто выбрал профессию в области информатики после моего кружка.

Некоторые из учеников добились успеха в жизни.

Кто-то работает в Калифорнии, кто-то в Англии.

А одна девушка даже завоевала главный приз в германском аналоге конкурса «А ну-ка, девушки».

Справедливости ради, не всеми своими достижениями они обязаны мне.

Оставить комментарий

Архив записей в блогах:
Не устаёт меня радовать программа Давай Поженимся... Она давно уже стала самой главной программой на русиянском ТВ... И вот на днях выпуск о депутате, ищущем себе даму... Точнее там на программе было сразу два депутата и их друг, в итоге все трое нашли себе по половинке... Сначала пред ...
...
Это настоящая война в которой рядовой потребитель должен становиться жертвой. Сегодня заправлялся на Лукойле и без задней мысли взял на кассу две баночки пепси. Я прекрасно понимаю, что на заправках всё дороже, но не в три раза, это же не ночной клуб, да ещё в придачу полное незнание ...
Что интересного, весёлого и не очень, происходит сегодня там, за окном, в стране и в мире? Обсуждаем последние новости из СМИ. Главная скандальная новость СМИ: Премьер Армении усомнился в боеспособности российских «Искандеров» Во время войны в Нагорном Карабахе осенью 2020 ...
                           А.Богдановскому Вы любите грозу? – нет, не в начале мая, А где-нибудь в конце, под занавес весны, Когда сплошной поток, подробности смывая, Несется наобум – и улицы тесны. И с треском полотна, ...