: Разработка программы на языке LISP для построения кривых Серпинского i-го порядка
МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ РФ
МОСКОВСКИЙ ИНСТИТУТ РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ
Курсовой проект
Тема:
лРазработка программы на языке LISP
для построения кривых Серпинского i-го порядка
Факультет: | ВАВТ |
Дисциплина: | ФПО |
Студент: | |
Группа: | |
Специальность: | 2202 |
Преподаватель: | Яшин Л.З. |
МОСКВА
декабрь 2006
Оглавление
Задание........................................................................3
Формализация задачи............................................................4
Схема алгоритма................................................................6
Текст программы................................................................8
Руководство пользователя......................................................11
Тест программы................................................................12
Литература....................................................................14
Задание
Оригинальный узор на рисунке 1 состоит из суперпозиции четырех кривых. Эти
кривые соответствуют некоторому регулярному образу. Алгоритм для построения
этих кривых на экране монитора или на графопостроителе под управлением
вычислительной машины описан в [1].
Задача проекта Ц реализовать этот алгоритм в виде программы на
функциональном языке программирования Lisp.
Рисунок 1
Формализация задачи
Анализируя рисунок 1, можно обнаружить, что он получен путем наложения друг на
друга нескольких кривых. Первые две из них показаны на рисунке 2. Кривая S
i называется
кривой Серпинского i-го порядка.
Необходимо выяснить, какова рекурсивная схема этих кривых.
Рисунок 2
Главная особенность кривой Серпинского состоит в том, что она замкнута и в
ней нет пересечений. Это означает, что основная рекурсивная схема должна
давать разомкнутую кривую линию, четыре части которой соединяются линиями, не
принадлежащими самому рекурсивному образу. И действительно, эти замыкающие
линии представляют собой отрезки прямых в четырех внешних углах, на рисунке 2
они выделены жирными линиями. Можно считать, что они принадлежат к непустой
начальной кривой S Ц квадрату, лстоящему на одном углу. Теперь достаточно
легко составить рекурсивную схему.
Четыре составляющих образа, для наглядности, обозначим через
A,
B
,
C,
D, а процедуры, рисующие соединительные прямые, будем
обозначать стрелками, указывающими соответствующем направлении. Надо отметить,
что четыре рекурсивных образа по существу идентичны, но лишь повертываются на
90