Вспомнил про свое давнее увлечение эээ... назовем это математическими узорами. Суть в том, чтобы создавать такие картинки путем проб задания различных функций цвета точки на некотором множестве точек. Получались различные узоры, градиенты. Сейчас с развитием графических программ это не так актуально, а вот во времена Windows 98 подобные узоры можно было рисовать только так.
На самом деле задумка очень простая. На прямоугольном поле для каждой точки (x,у) ставится в соответствие ее цвет (f(x,y)), который зависит от координат. При выборе такой функции "художник" совершенно свободен и ограничен лишь возможностями своей фантазии и своей математической смекалкой. Функции обычно берутся непрерывные (чтобы цвет плавно менялся) и часто переодические (чтобы узор мог повторяться).
Примеры таких картинок:
читать дальше
Примеры взяты отсюда: ссылка (чуть больше всего)
Или например немного другое: задается интервал и шаг и с помощью придуманных нами формул мы получаем координаты точек и линий. Можно получить, например, такие узоры:
читать дальше
Кто-нибудь увлекался таким творчеством?
На самом деле задумка очень простая. На прямоугольном поле для каждой точки (x,у) ставится в соответствие ее цвет (f(x,y)), который зависит от координат. При выборе такой функции "художник" совершенно свободен и ограничен лишь возможностями своей фантазии и своей математической смекалкой. Функции обычно берутся непрерывные (чтобы цвет плавно менялся) и часто переодические (чтобы узор мог повторяться).
Примеры таких картинок:
читать дальше
Примеры взяты отсюда: ссылка (чуть больше всего)
Или например немного другое: задается интервал и шаг и с помощью придуманных нами формул мы получаем координаты точек и линий. Можно получить, например, такие узоры:
читать дальше
Кто-нибудь увлекался таким творчеством?
Собственно, если с этим совсем туго, можно использовать уже написанное чужое приложение, меняя лишь код, который отвечает за подсчет значений и при этом не трогать тот код, который отвечает за вывод графики на экран...
Второй вариант: есть программы (апплеты), которые работают по строго заданному алгоримту, но пользователь может изменять начальные коэффициенты.
Накряйняк можно на js набросать (тогда смотреть можно будет в обычном браузере), но js собственно для этого совсем не предназначен и поэтому код будет выглядить нелепо (долго подбирал слово).
Фрагменты кода есть по ссылкам, нужно только перевести под удобный тебе язык программирования.
Я знаю азы Паскаля, но там он выдает только 16 цветов, разве нет? С остальными у меня совсем туго... Попробую разобраться.
Тогда он не подходит, к сожалению
У меня студент в прошлом году написал программу, рисующую все базовые фракталы.
Я сейчас не дома. А дома постараюсь отскриншотить и сюда выложить)))
Писал на си-шарп! По-моему самый подходящий для этого язык.
Там (у фракталов) принцип чуть другой, но получается тоже неплохо)))
Хоть и не всегда так "регулярно".
Диана Шипилова лучше тогда попробовать с Delphi разобраться)
Ыыыы, по Delphi у меня вообще ничего нет...
это объектный Паскаль))
то есть по крайней мере синтаксис операторов переучивать не надо)))
я не спец по картинкам в маткаде(
и цветные можно? Как номера 2 и 3 в посте?
Не слишком у меня получилось красиво... (Фон и цвет линий там можно задавать, но у меня с чувством прекрасного сегодня нелады))
Оно состоит из небольшого набора инструкций: сделай шаг вперед и оставь след, повернись (по или против часовой стрелки), сделай шаг (вперед/назад), рисуя (не рисуя), повернись, сделай шаг... Правило применяется в цикле много раз. Программа состоит из универсального интерпретатора правил. Можно задать абсолютно любое, и получить картинку))
Очень здорово!
да)))
теперь понимаю, что студента я не дохвалила!
Надо было больше хвалить! Классная программа вышла!
Интересно, что подоразумевается под базовыми фракталами. Это наиболее известные что ли?
"базовые" это я так выразилась коряво)
базовые имеется в виду: известные.
Они рисуются автоматически при выборе нужного из меню.
А можно самому задать руками любое порождающее правило (вписать в соответствующий текстбокс) и число итераций, и тогда тебе нарисуется твой личный фрактал)
(На самом деле, там не совсем так просто как я описала)))
не понял...
ты о чем?
программа работает как интерпретатор. Она сама интерпретирует входную строку, являющуюся порождающим правилом. Сама строка может быть любой (в рамках синтаксиса). Текст программы для этого трогать не надо)
о, это уже сложнее)
для ковра Серпинского:
аксиома: fxf--ff--ff
порождающее правило f: ff
порождающее правило х: --fxf++fxf++fxf--
количество итераций 7.
Вот такие входные данные)))
Подробно об этом можно почитать в книжке Кроновера: "Фракталы и хаос в динамических системах". В сети она есть))
С небольшим изощрением всяко разноцветно получается. twt.mpei.ac.ru/ochkov/MC&MC.book/Sovet/Advice_1... (tip 23. Color Cartesian graph)
большое спасибо!!!
Там есть все алгоритмы.
new-fractals.narod.ru/pages/lsystems_theory.htm
Не конкретно для Matlab, а их принципиальная реализация.