Это видео решения домашней работы для 3 юнита
среднего уровня.
В вопросах от нас требуется составить
фрактал используя начальный сегмент линии
а затем добавить еще 3 отрезка,
к нему чтобы получить такую форму.
Фрактал очень похож на
кривую Коха. Это просто добавляет еще один
сегмент линии, но делит
начальный сегмент линии
на три части и тогда добавляет
дополнительные части.
Размерность Хаусдорфа
для очертания будет логарифм 5 делить на логарифм 3
который равен, грубо, 1.46.
Теперь запустим модель NetLogo
и строит это.
Я открываю
модель кривой Коха в NetLogo,
нажимаем Setup, затем Step/
И вы можете итерировать Кривую коха
и количество раз.
Теперь нажмите кнопку Code.
В закладке есть код программы.
Просмотрим процедуру "to iterate"
где выбрана кривая Коха.
И мы изменим ее
на нашу форму
которая похожа с ней
но позволяет менять от 60 до 90
И тогда поменяем на 90.
Затем нам нужно проделать это снова.
Т.о. я собираюсь вырезать и вставить этот кусок.
И тогда наш последний этам
это 90 слева.
Давайте посмотрим как это работает.
Я собираюсь проверить код
и посмотреть, что все хорошо.
Код выглядит нормально.
Т.о. я собираюсь вернуться к интерфейсу
и запустить программу, нажав "Setup".
потом "Step" и "Iterate" несколько раз.
Это выглядит как то не так.
Что происходит с этой формой на самом деле,
форма уходит из вида.
Она больше чем наше окно.
Идем в настройки и пробуем увеличить
координату Y для нашего окна,
максимальное Y.
Сделаем его равным 90
Нажимаем Ok.
И затем смотрим как это работает.
Setup, Step.
Мне нужно прокрутить вниз
чтобы ввести форму.
Итиреруем несколько раз
Это похоже на правду.
Следующий шаг в домашней работе
снова определим форму
в нашей программе.
Затем проверим размерность
используя box-counting и сравнивая
с размерностью Хаусдорфа.
Здесь у нас есть размерность box-counting/
открываем NetLogo модель.
Нажимаем кнопку помеченную как Кривая коха
и нажимаем кнопку для итераций.
И вы можете видеть знакомую нам форму Кривой Коха
итиреруя несколько раз
Эта программа также позволяет вам
анализировать размерность box-counting
для отдельной формы, которую мы выполняем
во второй, го для начала установка
кнопка кривой Коха для нашей кнопки
домашнего задания.
Т.о. Я собираюсь перетащить курсор к
кнопке кривой Коха,
правый клик и нажимаем Edit.
И тогда мы будем изменять отображаемое имя
Кривая Коха на HW-3 для 3-его домашнего задания.
И нам так же нужно изменить эту линию.
Установим пример фрактал
вместо кривой Коза, HW-3.
Убедитесь, что вы сохраните скобки.
HW-3, и нажимаем Ok.
Затем нажимаем кнопку установки для
формы нашего домашнего задания.
Т.о нам нужно изменить эту
процедуру сделав правильную форму.
Т.о. выбираем кнопку Code,
находим процедуру setup/
И в этой линии где говорится
"if fractal example=koch-curve"
мы изменяем koch-curve на HW-3 .
И тогда находим процедуру кривой Коха
и снова изменяем
koch-curve to HW-3
И нам нужно перепрограммировать наши направления
Снова это похоже на первую часть
домашнего задания
Мы поворачиваем влево на 90
Затем нам нужно будет повернуть вправо на 90
И потом нам нужно сделать все это снова.
Т. о я собираюсь вырезать и вставить эту секцию.
Повернуть вправо на 90 снова и вернуться
к оригинальному сегменту линии.
И тогда в самом конце мы
повернем влево на 90.
И проверим это
Вернемся к интерфейсу.
Нажимаем домашнее задание 3 и итерируем
Сей час мы можем видеть форму итераций домашнего задания.
Т.о я собираюсь итерировать 3 раза.
Посмотрим вниз на Box-Counting Controls
и нажмем кнопку Box-Counting Setup
И нажимаем Box-Counting Go
И мы можем видеть выполнение
программы в окне подсчета нашей формы.
И мы поработаем некоторое время, пока сделаем
по крайней мере полдюжины или около того итераций.
Это работает медленно.
Я собираюсь попробовать ускорить это
немного
Посмотрим если это поможет.
И мы можем видеть график Box-Counting
построенный по точкам на каждом шаге.
Т. о подсчитывается количество клеток
и сравним с размером каждой клетки.
И мы остановиться, зайдя в Tools
и выбираем Halt/
И тогда нажимаем Find Best Fit Line.
И это показывает нам, что мы получаем
box-counting размерность 1.254,
и мы можем сравнить с нашей
размерность Хаусдорфа 1.465
и можем видеть относительную точность,
но вероятно не такую хорошую как хотелось бы.
Т.о мы могли бы изменить размер нашей начальной длины
и так же изменить наш инкремент
и играть с этим и увидеть если мы можем получить
боле подходящую размерность.
Но Я оставлю эксперименты вам.
И это заключение
Промежуточной домашней работы для модуля 3.