Вспомнил про свое давнее увлечение эээ... назовем это математическими узорами. Суть в том, чтобы создавать такие картинки путем проб задания различных функций цвета точки на некотором множестве точек. Получались различные узоры, градиенты. Сейчас с развитием графических программ это не так актуально, а вот во времена Windows 98 подобные узоры можно было рисовать только так.

На самом деле задумка очень простая. На прямоугольном поле для каждой точки (x,у) ставится в соответствие ее цвет (f(x,y)), который зависит от координат. При выборе такой функции "художник" совершенно свободен и ограничен лишь возможностями своей фантазии и своей математической смекалкой. Функции обычно берутся непрерывные (чтобы цвет плавно менялся) и часто переодические (чтобы узор мог повторяться).


Примеры таких картинок:

читать дальше

Примеры взяты отсюда: ссылка (чуть больше всего)

Или например немного другое: задается интервал и шаг и с помощью придуманных нами формул мы получаем координаты точек и линий. Можно получить, например, такие узоры:

читать дальше

Кто-нибудь увлекался таким творчеством?

@темы: фракталы

Комментарии
12.12.2008 в 10:24

Quod erat demonstrandum
Ух ты, какая прелесть! А в каких программах это лучше всего реализовать практически? Лапки чешутся попробовать :)
12.12.2008 в 10:31

А вот с этим сложнее... Любую среду программирования, начиная от Турбо Паскаля и заканчивая современными средствами разработки приложений, такими как Borland Delphi или Microsoft Visual Studio...

Собственно, если с этим совсем туго, можно использовать уже написанное чужое приложение, меняя лишь код, который отвечает за подсчет значений и при этом не трогать тот код, который отвечает за вывод графики на экран...
Второй вариант: есть программы (апплеты), которые работают по строго заданному алгоримту, но пользователь может изменять начальные коэффициенты.

Накряйняк можно на js набросать (тогда смотреть можно будет в обычном браузере), но js собственно для этого совсем не предназначен и поэтому код будет выглядить нелепо (долго подбирал слово).

Фрагменты кода есть по ссылкам, нужно только перевести под удобный тебе язык программирования.
12.12.2008 в 10:37

Quod erat demonstrandum
Trotil
Я знаю азы Паскаля, но там он выдает только 16 цветов, разве нет? С остальными у меня совсем туго... Попробую разобраться.
12.12.2008 в 10:55

Эх да, 16 цветов.
Тогда он не подходит, к сожалению :(
12.12.2008 в 11:02

На плечах гигантов, на спинах электронов
Trotil
У меня студент в прошлом году написал программу, рисующую все базовые фракталы.
Я сейчас не дома. А дома постараюсь отскриншотить и сюда выложить)))
Писал на си-шарп! По-моему самый подходящий для этого язык.
Там (у фракталов) принцип чуть другой, но получается тоже неплохо)))
Хоть и не всегда так "регулярно".

Диана Шипилова лучше тогда попробовать с Delphi разобраться)
12.12.2008 в 11:22

Quod erat demonstrandum
Дилетант
Ыыыы, по Delphi у меня вообще ничего нет...
12.12.2008 в 11:27

На плечах гигантов, на спинах электронов
Диана Шипилова
это объектный Паскаль))
то есть по крайней мере синтаксис операторов переучивать не надо)))
12.12.2008 в 19:22

Оч. темный ельф
Народ, а как же Маткад и матлаб? Там все как на духу...
12.12.2008 в 22:18

На плечах гигантов, на спинах электронов
MaxDagger
я не спец по картинкам в маткаде(
и цветные можно? Как номера 2 и 3 в посте?
12.12.2008 в 23:20

Простыми словами
Вот, например, дракон Хартера-Хэйтуэя.
Не слишком у меня получилось красиво... (Фон и цвет линий там можно задавать, но у меня с чувством прекрасного сегодня нелады))

12.12.2008 в 23:22

Простыми словами
Сорняк

12.12.2008 в 23:26

Простыми словами
Кусочек ковра Серпинсткого

12.12.2008 в 23:30

На плечах гигантов, на спинах электронов
Строится это заданием порождающего правила.
Оно состоит из небольшого набора инструкций: сделай шаг вперед и оставь след, повернись (по или против часовой стрелки), сделай шаг (вперед/назад), рисуя (не рисуя), повернись, сделай шаг... Правило применяется в цикле много раз. Программа состоит из универсального интерпретатора правил. Можно задать абсолютно любое, и получить картинку))
12.12.2008 в 23:31

Quod erat demonstrandum
Amicus Plato
Очень здорово!
12.12.2008 в 23:32

Простыми словами
Диана Шипилова
да)))
теперь понимаю, что студента я не дохвалила!
Надо было больше хвалить! Классная программа вышла!
13.12.2008 в 04:21

Неизвестный смайлик.
Amicus Plato Гм, вовремя, я как раз месяца два назад закончил программу на паскале с фракталами. В одной программе сделал семь различных фракталов, разное оформление (цвет-чб) и разные размеры.
Интересно, что подоразумевается под базовыми фракталами. Это наиболее известные что ли? :)
13.12.2008 в 14:22

Простыми словами
Паломник Оптимизма
"базовые" это я так выразилась коряво)
базовые имеется в виду: известные.
Они рисуются автоматически при выборе нужного из меню.
А можно самому задать руками любое порождающее правило (вписать в соответствующий текстбокс) и число итераций, и тогда тебе нарисуется твой личный фрактал)
(На самом деле, там не совсем так просто как я описала)))
13.12.2008 в 15:01

Неизвестный смайлик.
Amicus Plato Ну если знать код или понаставлять коментов, то это можно легко сделать :)
13.12.2008 в 15:05

На плечах гигантов, на спинах электронов
Паломник Оптимизма
не понял...
ты о чем?
программа работает как интерпретатор. Она сама интерпретирует входную строку, являющуюся порождающим правилом. Сама строка может быть любой (в рамках синтаксиса). Текст программы для этого трогать не надо)
13.12.2008 в 15:27

Неизвестный смайлик.
А, это уже сложнее. А пример можно? (пример ввода и вывода)
13.12.2008 в 15:35

На плечах гигантов, на спинах электронов
Паломник Оптимизма
о, это уже сложнее)
для ковра Серпинского:
аксиома: fxf--ff--ff
порождающее правило f: ff
порождающее правило х: --fxf++fxf++fxf--
количество итераций 7.
Вот такие входные данные)))
Подробно об этом можно почитать в книжке Кроновера: "Фракталы и хаос в динамических системах". В сети она есть))
13.12.2008 в 16:02

Неизвестный смайлик.
О_о сурово. я то наивно думал колличество итераций и какой-то закон типа синус к примеру )
17.12.2008 в 17:03

Оч. темный ельф
Дилетант,

С небольшим изощрением всяко разноцветно получается. twt.mpei.ac.ru/ochkov/MC&MC.book/Sovet/Advice_1... (tip 23. Color Cartesian graph)
17.12.2008 в 21:20

Простыми словами
MaxDagger
большое спасибо!!! :)
17.04.2013 в 16:50

задали одз по теории фракаталам, учусь на ПМ, подскажите пожалуйста код на Matlab для "Сорняка" )
17.04.2013 в 16:59

На плечах гигантов, на спинах электронов
[email protected], вот здесь цитируется кусок книги Кроновера "Фракталы и хаос в динамических системах".
Там есть все алгоритмы.
new-fractals.narod.ru/pages/lsystems_theory.htm
Не конкретно для Matlab, а их принципиальная реализация.
18.04.2013 в 04:27

Дилетант, спасибо БОЛЬШОЕ, нашла все что нужно!!!)
18.04.2013 в 12:00

На плечах гигантов, на спинах электронов
[email protected], замечательно! :)