Калмыков Лев Вячеславович Член-корр. Физтех-Академии Лаборатория компьютерной бионики, Пущинская средняя общеобразовательная школа РАО, 11а класс 142290, город Пущино, Московской области, м-н АБ, дом 24, кв. 229 Научный руководитель к.б.н. Калмыков Вячеслав Львович, Институт биофизики клетки РАН, E-mail: kalmykov@psn.ru Содержание 1. Введение Стр. 1 . 2. Клеточные автоматы Стр. 2 3. L-системы Стр. 10 4. Фрактальные изображения Стр. 16 5. Трехмерный рендеринг изображений Стр. 19 5.1. 3DSMax 4.0 Стр. 19 5.2. Maya 4.0 Стр. 20 5.3. Bryce 3d Стр. 22 5.4. Poser Стр. 25 6. Графическое отображению музыки Стр. 26 7. Обсуждение Стр. 31 7.1. Информатика и компьютерная графика в Стр. 31 школе 7.2. Математическая эстетика? 8. Литература Стр.33 Стр. 34 1 Введение В 2001 году бывший советский инженер Михаил Коркин был занесен в Книгу Рекордов Гиннеса, как создатель самого большого искусственного мозга. Речь идет о проекте “Мозг – клеточно-автоматная машина ” (Cellular Automate Maсhine Brain–). Около десяти лет назад М. Коркин эмигрировал в США и создал фирму Genobyte (www.genobyte.com). Построенный под его руководством искусственный мозг умещается на столе и эквивалентен по вычислительной мощности кластеру из 10 000 Pentium III 500MHz. Технология клеточных автоматов использована в CAM-Brain для создания эволюционирующей трехмерной структуры нейросетевых модулей. Эволюция структуры hardware в CAM-Brain стало возможным использованию специальных переконфигурируемых микропроцессоров фирмы Xilinx. CAM-Brain ярко демонстрирует актуальность как технологий клеточных автоматов и нейрональных сетей, лежащих на стыке биологии и информатики. L - системы (системы Линденмаера), наряду с клеточными автоматами, являются еще одним эффективным методом моделирования формообразования (морфогенеза) сложных структур. Технологии генетических алгоритмов, фрактальной графики, автономных агентов и искусственной жизни дополняют перечисленные подходы в новейших методах современной информатики. Все они имеют определенное сходство со свойствами биологических процессов и систем и находят разнообразное применение в создании самых передовых компьютерных технологий. В Лаборатории компьютерной бионики нашей школы мы знакомились с перечисленными подходами и пытались получить собственные оригинальные результаты по компьютерному моделированию сложных систем. Живые организмы можно представить себе как векторные графические трехмерные анимации, нарисованные молекулами. При этом аналогом генома служат математические формулы, на основе которых происходит генерация этих векторных графических систем. С другой стороны и компьютеры могут быть объектами изучения биологов т.к. и те и другие относятся к специфическому миру информационных процессов и к миру сложных систем одновременно. Современное научное направление «искусственная жизнь» рассматривает живое независимо от типа элементной базы его реализации (www.alife.org). Предполагается перенос логики организации, поведения и эволюции живого на кремниевую основу. Компьютерная графика может быть отнесена к области моделирования сложных процессов и систем. Этим объясняется столь большое внимание к данной области исследований в настоящей работ. Кроме того, многие результаты автоматической генерации графики (по алгоритмам эволюции живого!) весьма красивы. Критерии красоты традиционно являются критериями истинности и в физике и в математике. Жизнь саму по себе можно, по-видимому, рассматривать как организованное порождение все более красивых структур. В задачи настоящего исследования входило исследовательское знакомство с возможностями технологий клеточных автоматов, L-систем, генераторов фрактальных изображений и более сложных современных программ компьютерного моделирования сложных систем. Главной целью настоящего исследования было получение собственных новых результатов в этой области. Главными объектами моделирования были биоподобные системы, а также процессы биоподобного поведения, морфогенеза и эволюции. Рабочей гипотезой было предположение что, экспериментируя с принципами и программами создания сложных красивых объектов, можно понять возможности формализации принципов красоты и совершенства, лежащих в основе жизни. Ожидалось также, что «изнутри» компьютерной графики удастся сделать шаг в понимании 2 возможности и перспектив математической эстетики. Математическая эстетика может быть основой автоматизации отбора наиболее красивых решений в любых областях. Клеточные автоматы Теория клеточных автоматов берет свое начало с сер.50-х годов, когда Дж. фон Нейман поставил перед собой задачу доказать возможность существования самовоспроизводящихся автоматов. К классу клеточных автоматов относится известная игра Джона Конвэя (J. Conway), созданная им в 1970 г. Простота ее правил и богатство возникающих вариантов не уступают по красоте фрактальным образам и L- системам. Клеточным автоматом называют сеть из элементов, одновременно меняющих состояния всех клеток сети в дискретные моменты времени в зависимости от состояния самого элемента и его ближайших соседей в предшествующий момент времени. Клеточный автомат состоит из трех составляющих: 1. Структуры, состоящей из ячеек типа квадратов на шахматной доске. 2. Набора состояний в которых может находиться каждая из ячеек. 3. Набора правил, описывающих, как одно состояние автомата (т.е. специфическая конфигурация ячеек, находящихся в определенных состояниях) должно быть преобразовано при переходе системы к следующему такту (поколению). Все ячейки одномоментно (мультипараллельно) меняют свои состояния при переходе к следующему такту (поколению). В мире клеточных автоматов имеется классификация, согласно которой все автоматы делятся на четыре класса, в зависимости от типа динамики изменяющихся состояний. Автоматы первого класса по истечении конечного времени достигают однородного состояния, в котором значения всех элементов одинаковы и не меняются со временем. Ко второму классу автоматов относятся системы, приводящие к локализованным структурам стационарных или периодических во времени состояний элементов. Третий класс составляют “блуждающие” автоматы, которые с течением времени посещают произвольным (непериодическим) образом все возможные состояния элементов, не задерживаясь ни в одном из них. И, наконец, четвертый класс составляют “странные” автоматы, характер динамики которых зависит от особенностей начального состояния элементов. Некоторые начальные состояния приводят к однородному вырождению автомата, другие - к возникновению циклической последовательности состояний, третьи к непрерывно меняющимся (как “по системе”, так и без видимой системы) картинам активности элементов. К автоматам четвертого типа относится знаменитая игра “Жизнь” Дж. Конвея. Каждый элемент (организм) колонии “Жизни” может находиться в состоянии покоя или активности. Ближайшими к данному элементу объявляются четыре его соседа на квадратной решетке. Покоящийся элемент может возродиться к активности, если рядом с ним находится ровно три активных соседа. Активный элемент сохраняет “жизнеспособность” при двух активных соседях. Если соседей больше чем два, то элемент гибнет от тесноты, а если их меньше, чем два, то гибель наступает от скуки. Активность популяции элементов автомата может также описывать такие сложные явления, как рост кристаллов из зародышевых состояний, диффузию и миграцию жидкости в неоднородной пористой среде, особенности возникновения и развития турбулентности о потоках жидкостей и газов, распространение импульса в нервной системе, рост опухоли в 3 биологической ткани, развитие лесных пожаров и другие явления. Описание разнообразных применений клеточных автоматов заслуживает отдельного пристального внимания. Познакомимся подробнее с игрой "Жизнь", относящейся к категории так называемых моделирующих игр - игр, которые в той или иной степени имитируют процессы, происходящие в реальной жизни. Жизнь, как естественный процесс - явление настолько сложное и увлекательное, что тысячи ученых пытались раскрыть ее тайны. Свой вклад в решение этой проблемы внес и человек, не имевший к биологии никакого отношения, английский математик Джон Хортон Конвей. Возникающие в процессе придуманной им игры ситуации очень похожи на реальные процессы, происходящие при зарождении, развитии и гибели колонии живых организмов. Они рождаются при благоприятном сочетании соответствующих факторов и умирают, когда условия их существования становятся невыносимыми. Условия рождения и смерти определяются исключительно взаимным расположением участников. Действие игры происходит на плоскости, разделенной на клетки. Каждая клетка окружена 8 такими же клетками (так называемая окрестность Мура) и может находиться в двух состояниях - живом или мертвом (быть пустой). Гибель и рождение всех организмов происходит одновременно. На состояние любой клетки оказывают влияние только состояния соседних с ней клеток. Во времени эти состояния дискретно изменяются в соответствии со следующими правилами (генетическими законами Конвея). 1. Выживание или гибель. Если живая клетка имеет менее 2 или более 3 соседей в окрестности из 8 клеток, то в следующем поколении она умирает (моделирование реальных условий - недостатка питания или перенаселенности), в противном случае она выживает. 2. Рождение. В пустой клетке появляется новая живая клетка, если у нее ровно 3 соседа. Записывается это следующим образом: 23/3 (т.е. число соседей когда живая клетка выживает/число соседей, когда клетка рождается). Изменение этих правил создает новый клеточный автомат. Обычно игра сводится не к изменению этих правил (это уже создание новой игры), а к изменению взаимного расположения клеток при одних и тех же правилах. Основная идея игры состоит в том, чтобы, начав с некоторого расположения живых клеток, проследить за ее эволюцией. Популяция клеток постоянно претерпевает необычные изменения. Иногда колония клеток постепенно вымирает, однако произойти это может не сразу, а лишь после того, как сменится очень много поколений. В большинстве своем исходные конфигурации либо переходят в устойчивые и перестают изменяться, либо навсегда переходят в колебательный режим. При этом, конфигурации, не обладавшие в начале симметрией, обнаруживают тенденцию к переходу в симметричные формы, которые в процессе эволюции не утрачиваются. Методика. Компьютер, на котором я работал над созданием данной работы- Pentium I 166 мгц , 40 mb RAM. Первые шаги по освоению клеточных автоматов были осуществлены в бесплатнойц свободнораспространяемой программе FAMLife (www.famlife.narod.ru). Программа создана студентами Уфимского Государственного Нефтяного Университета А. Мозжухиным и А. Фетисовым (ФАМ – сочетание их инициалов). Это программа очень удобна и позволяет легко создавать разнообразные модели клеточных автоматов, моделируя их как в рамках правил игры "Жизнь", так и выходя за их пределы. 4 Наиболее простыми и интересными результами, полученными мною в программе FAMLife в результате отклонений от правил Конвея можно считать 18 новых правил генерации красивых ковровых покрытий из одной точки: 2/1; 2/12; 2/123; 23/1; 23/123; 23/1234; 23/12345; 23/123456; 23/1234567; 23/12345678; 23/1345; 25/1678; 2/12348; 2/1234; 24/134; 2/1235678; 34/1; 4/1. Ковры, автоматически рождаемые клеточными автоматами из одной точки (или любой другой фигуры) не повторяются и зачастую весьма красивы. Каждому поколению соответствует уникальный узор. В ходе создания узора можно переходить к другим правилам генерации и получать практически неповторимые узоры. Напрашивается использование этих узоров в дизайне. Многие из них так и хочется отослать на ковровую фабрику. Приведем иллюстрации некоторых узоров, полученных по подобранным мною правилам. Еще раз подчеркну, что это результаты автоматической генерации начиная с одной точки. На данной таблице приведены 6 узоров одной размерности поколений (50) при различных правилах генерации клеточных автоматов: Таблица 1. Ковровые узоры, полученные методом клеточных автоматов в программе FAMLife в результате изменения правил (23/3) Конвея (автор Л.В. Калмыков) Рис. 1 Правила - 23/12345 поколение 50 Рис. 2 Правила - 23/1345 поколение 50 Рис. 3 Правила - 23/123456 поколение 50 Рис. 4 Правила - 23/1234567 поколение 50 5 Рис. 5 Правила - 23/12345678 поколение 50 Рис. 6 Правила - 25/1678 поколение 50 При значительном увеличении числа поколений в большинстве случаев получается узор, напоминающий узор электронных микросхем. На данной таблице приведены узоры соответствующие двум поколениям -50 и 5000 при правилах 23/1234. Возможно это случайное совпадение, но можно предположить и то, что при большом количестве поколений узор отражает очень сложные структурные взаимоотношения между элементами, столь характерные для электронных микросхем. Рис. 7 Правила - 23/1234 поколение 50 Рис. 8 - Элемент узора при тех же правилах 23/1234, но при поколении 5000 6 Следующим шагом стало освоение программы с гораздо большими возможностями – MСell – “Mirek's Cellebration” (www.mirekw.com). Это также бесплатная и свободно распространяемая программа. Создана она поляком Мареком Выйтовичем. Данная программа позволяет создавать клеточные автоматы на основе самых разнообразных типов известных правил клеточных автоматов и обладает намного большим набором функций чем FAMLife. Результаты приведенные далее, получены именно в ней. Эта программа обладает значительно более широкими возможностями для моделирования и генерации клеточных автоматов чем FAMLife и огромным количеством демонстрационных примеров. Можно сказать, что Mirek's Cellebration это музей правил генерации клеточных автоматов. В MСell можно самому придумывать правила “игры”, а также использовать наиболее известные из уже открытых. Так мною был получен клеточный автомат, который я назвал “Star Wars” , по имени правила генерации исходной структуры. В процессе развития данный автомат переживает очень красивые метаморфозы и в общем целом напоминает космическую станцию к которой приходят и уходят глайдеры. В конце- концов автомат стабилизируется в динамике. Это можно увидеть на представленных ниже фрагментах. Рис. 9 Рис. 10 Рис. 11 7 Рис. 12 Рис. 13 (автомат в стабильной динамике) При создании “Star Wars” вначале было нарисовано кольцо, состоящее из множества клеток, а затем использована генерация с правилами “Star Wars”. Как я уже говорил, MСell обладает большим числом исходных правил, которые меняются в зависимости от того, какой клеточный автомат необходимо построить. Также можно выбрать “семью” для вашей системы (всего их 14, в том числе и “Жизнь” с классическими правилами Конвея). К сожалению, полное представление о каком- либо клеточном автомате можно получить, находясь в соответствующей программе или, из анимации (по минимуму). Другой клеточный автомат состоит из двух окружностей разного радиуса и соприкасающихся между собой, и в конечной фазе представляет восьмиугольник, внутри которого живет динамично изменяющийся автомат. Правила стандартные - семья Life, Walled Cities (2345/45678). Рис. 14 Рис. 15 8 Рис. 16 Рис. 17 Конвейер планеров. Основываясь на правилах 345/2/6 семьи правил “generations” программы Mirek's Cellebration (MCell) v.4.20 я сконструировал клеточно-автоматную машину-конвейер, поточно производящая глайдеры (автономно перемещающиеся планеры). Структурные предпосылки самоорганизация клеточно-автоматной виртуальной машиныконвейера: 18-21. В этой последовательности клеточных автоматов показаны элементы анимации с яркой динамической. К сожалению, в программе Mirek's Cellebration отсутствует функция автоматической записи анимации динамики клеточного автомата. В представляемой нами выборочной презентации из последовательности рисунков 18-21 можно в общих чертах представить процессы, происходящие на экране. Он представляет автомат, создающий колонию частиц пересылаемую на другую структуру. При этом образуется новая система, изменяется направление движения. Плюс сверху падает поток частиц. Все это дает бесконечную последовательность, повторяющихся через равные промежутки времени, систем. Файл GliderConveyor.mcl , запускающий эту модель приведен в приложении к данной работе. Рис. 18 Конвейер планеров. Кадр 1. Рис. 19 Конвейер планеров. Кадр 2. 9 Рис. 20 Конвейер планеров. Кадр 3. Рис. 21 Конвейер планеров. Кадр 4. Я очень советую читателю, незнакомому с технологиями клеточных автоматов, скачать любую программу клеточных автоматов из Интернет и посмотреть, что из себя они представляют. Это очень увлекательно. Фантастическое разнообразие графических объектов и их анимаций, которые можно получить в этих программах позволяет понять почему эта технология была использована Михаилом Коркиным при создании трехмерной эволюционирующей структуры самого мощного искусственного мозга. L-системы В основе L –систем лежит принцип самоподобия и на этом основании их можно отнести к фракталам. Создание все более красивых биологически подобных L-систем является вкладом как в биологическое моделирование, так и в освоение компьютерами (пока еще с помощью человека) мира эстетики. L-системы являются упрощенными, но наиболее прямыми и наиболее адекватными математическими моделями биологического морфогенеза. L-системы иначе называются переписываемыми алгоритмами генерации математических структур. Данный тип алгоритмов был предложен в 1904 году математиком Хельгой фон Кох (генерация кривой, огибающей снежинку). В конце пятидесятых годов Хомский использовал эти алгоритмы для описания формальных грамматик, а в 1968 году биолог Аристид Линденмаер (по имени которого и были названы L-системы) использовал генерацию структур на основе последовательно (итерационно) перезаписываемых правил для моделирования морфогенеза растений. В 1975 году подобные структуры были названы Бенуа Мандельбротом «фракталами». L-системы, получающиеся на каждом из последовательных этапов генерации масштабируются к исходно заданным размерным ограничениям («чувствительны к окружающей среде»). Главные свойства графических объектов L-структур - симметрия и фрактальность (самоподобие). Красота (сложная симметрия) и фрактальность лежат, по-видимому, в основе мира живого. Актуальность создания новых L-систем связана не только с поисками решения проблем биологического морфогенеза, но и с возможностями использования биологических идей в информатике. L-системы могут быть отнесены к «искусственной жизни». Эта область воспроизводит с помощью компьютеров характерные свойства живого. Создаваемые сегодня системы искусственного интеллекта осваивают последнюю пока еще «чисто 10 человеческую» функцию – сравнительную эстетическую оценку случайно генерируемых решений. Создание все новых и новых, все более красивых и все более биологически подобных L-систем является вкладом в освоение компьютерами (пока еще с помощью человека) мира эстетики, лежащего в основе принятия человеком наиболее сложных решений. Целью данного раздела работы было создание новых L-систем с использованием генетических алгоритмов. Задачами данного раздела работы было создание новых L-систем - как биологически подобных, так и просто красивых (сложносимметричных). Методика. Использовалась относительно простая, бесплатная и свободно распространяемая (с www.rechka.ru) Java-программа моделирования L-систем - «MKokh». Существуют два способа получения новых L-систем. Первый способ - логический. Этот способ можно назвать логическим проектированием. Lсистема строится по задуманному плану. Предварительно проводится расчет углов и проектируются формулы подстановки фигур в элементы формулы-аксиомы. Такой принцип работы приводит к более или менее запланированному результату, который в дальнейшем редактируется для получения наиболее совершенной системы. Яркий пример логического проектирования – работа моих коллег по Лаборатории компьютерной бионики Бариновой Веры и Калмыкова Андрея «Фракталы», опубдикованная в газете «Биология» издательства «Первое сентября»- http://bio.1september.ru/2002/28/14.htm Второй метод создания новых L-систем можно назвать методом генетических алгоритмов. Этот метод был заимствован у живых организмов. Он включает в себя в основном механизмы кроссинговера, который происходит в живых клетках при мейозе и заключается в перетасовке материнского и отцовского наборов хромосом. В качестве «хромосом» (генотипа) L-систем выступают записи формул алгоритмов, на основании которых происходит генерация графического объекта. В качестве фенотипов нами рассматриваются генерируемые графические объекты. Интересна и обратная аналогия – живые организмы могут рассматриваться как графические объекты, нарисованные молекулами. Кроме механизма кроссинговера, метод генетических алгоритмов включает весь набор возможных способов модификации генома: точечные мутации (замена единичных букв алфавита, возникновение разрывов), выпадения (делеции) или вставки отдельных сегментов генетической записи, в том числе и чужеродной для данного генома (взятой из другой хромосомы, из другого вида организмов или из формулы другой L-системы), инверсии (перевороты отдельных сегментов), мультипликации (удвоения, утроения, ...) отдельных сегментов или целых хромосом. В отличие от логического проектирования Lсистемы, при котором она строится предопределенным образом (как результат проектирования), использование генетических алгоритмов зачастую приводит к неожиданным результатам. Разработчик (или природа) отбирает из полученных результатов лучшие и может использовать их для дальнейшего генетического скрещивания. В данной работе я использовал оба подхода создания новых L-систем, отдавая предпочтение методу генетических алгоритмов. Это предпочтение связано с тем, что в случае сложных L-систем, предсказание всех возможных вариантов их дальнейшего совершенствования затруднительно из-за слишком большого объема переборов. Применение генетических алгоритмов позволяет идти большими шагами в пространстве возможных структурных переборов и получать самые неожиданные результаты. Наилучшие полученные результаты можно «скрещивать» друг с другом, ускоряя достижение искомого результата. Этот метод можно использовать даже не зная формального языка построения L-систем. Однако, использование логического проектирования L-систем иногда необходимо для окончательной доводки полученных результатов. 11 Результаты, полученные мною в данном исследовании приведены в виде графических Lсистем в таблице 1. Созданы 12 новых L-систем, отличающихся уникальным биоподобием и особо высокой симметричностью. Эти структуры были отобраны из большого числа сгенерированных L-систем. В частности, из прототипа «Венок», взятого мною из стандартных образцов программы MKokh приемами генетических алгоритмов получены последовательно: Морской конек, Симметризация морского конька, Коралл, Еловая ветка. Рассмотрим создание «Сферы с эдельвейсом» - Табл. 3, рис. 28 . На Рис. 22 начальном этапе создания этой L-системы, я логически спроектировал симметричный лист (см. рис. 22 справа). После этого, в аксиоме была написана другая формула, в которой на место каждой линии, задаваемой командой F подставлялся лист с поворотом на определенный угол. Такими шагами и была получена данная L-система. Метод создания этой графической структуры можно определить как логическое проектирование. «Паутинка» была получена далее из «Сферы с эдельвейсом» двухкратным увеличением угла поворота. Кроме того, были созданы такие L-системы, как: «Цветок», «Паук», «Раковина», «Моток волос» (см. табл. 4; рисунки 30-32). «Цветок», «Паук», «Раковина» получены последовательным преобразованием друг в друга по принципам генетических алгоритмов. «Моток волос» - результат длительной свободной генетической игры. Генетические алгоритмы и отбор получаемых результатов производились мною «вручную» т.е. без участия специальной программы автоматического модифицирования «генома». Главным направлением дальнейших исследований планируется попытка найти возможность программным образом автоматизировать как генерацию новых L-систем на основе генетических алгоритмов, так и отбор лучших вариантов на основе формализованных эстетических решений. Если автоматизация генетических алгоритмов является в принципе уже решенной задачей и существует множество программ в этой области, то формализация и автоматизация эстетического выбора среди случайно сгенерированных решений является нерешенной задачей, стоящей перед компьютерными науками. Возможно, в решении последней задачи окажутся полезными методы функционального программирования, использующие аппарат теории категорий, и теории групп (т.е. формальных теорий красоты), а также нейрональные сети, уже применяемые сегодня для построения целевых функций отбора случайных решений. 12 Таблица 2 Основные этапы создания L-системы «Еловая ветка» (цветом отмечено генетическое перекомбинирование исходной формулы генерации путем модификации - синим, путем добавления - красным) Рис. 23 «Венок» (образец, прилагаемый к Рис. 24 «Морской конек» (автор Л.В. Калмыков) программе MKokh) Axiom: New F: F F F+F-[F-F+[F]]+[F-F+[F]] XY угол pi: 1\7 F+F-[F-F+[F]]+[F-F+[F]]---F+F-[F-F+[F]]+[F-F+[F]]---1\7 Число шагов: 4 3 Рис. 25 «Симметризация Морского конька» Рис. 26 «Коралл» (автор Л.В. Калмыков) (автор Л.В. Калмыков) Axiom: New F: XY угол pi: Число шагов: F ++F+F-[F-F+[F]]+[F-F+[F]]---F+F-[F-F+[F]]+++[F-F+[F]]---1\7 4 F ++F+F-[F-F+++[F]]+++[F-F+[F]]---F+F-[F-F+[F]]+++[F-F+[F]]---1\7 4 Рис. 27 «Еловая ветка» (автор Л.В. Калмыков) 3 шаг перезаписи. Масштаб увеличен. Axiom: F++F+F-[F+F[F]]-++[F-F+[F]]--F+F-++[F-F+[F]]++[F-F+[F]]--F+F+F-[F+F[F]]-+[F-F+[F]]--F+F-++[FF+[F]]-+[F-F+[F]]---New F: +F+F-[F+F[F]]-++[F-F+[F]]---F+F+[F-F+[F]]+++[F-F+[F]]---XY угол pi: 1/9 Количество шагов: 3 13 Таблица 3. L-система «Сфера с эдельвейсом» её преобразование в L-систему «Паутинка» Рис. 28 Сфера с эдельвейсом (автор Л.В. Рис. 29 Паутинка (автор Л.В. Калмыков) Калмыков) Тип значений Значения L-системы «Сфера с эдельвейсом» автор – Калмыков Л.В. Параметры L-системы «Паутинка» Axiom: [F++F++F++F++F++F++F++F++F++F++F++F++F ++F++F++F++F++F++F++ F++F++F++F++F++F++F++F++F++F++F++F++F+ +F++F++F++F++F++F++F+ +F++F++F++F++F++F++F++F++F++F++F++F++F ++F]-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-FF-F-F-F-F-F-F-F-F-F [F+++++++++++F+++++F+++F++F+F++F++F][F----------F-----F---F--F-F--F--F] 1/10 [F++F++F++F++F++F++F++F++F++F++F++ F++F++F++F++F++F++F++F++ F++F++F++F++F++F++F++F++F++F++F++F ++F++F++F++F++F++F++F++F+ +F++F++F++F++F++F++F++F++F++F++F++ F++F++F]-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-FF-F-F-F-F-F-F-F-F-F-F-F-F-F-F [F+++++++++++F+++++F+++F++F+F++F++ F][F-----------F-----F---F--F-F--F--F]] 1/20 1 2 New F: XY угол pi: Количество шагов: автор – Калмыков Л.В. Таблица 4 Новые L-системы: «Цветок», «Паук», «Раковина», «Моток волос» Рис. 30 «Цветок» (автор Л.В. Калмыков) Axiom: New F: New X: New Y: Угол поворота: Число шагов: FF++XX---YYFF++XX---YYFF--XX++YYFF++XX---YYFF++XX---YYFF--XX++YY [FXYF-F+++F-FFX][--] [YY++XX++FFFXYF-F++F-FFXYF-F++F-F] FFXF++FFXF 1\10 3 Рис. 31 «Паук» (автор Л.В. Калмыков) Axiom: FF++XX---YYFF+++XX---YYFF---XX+++YY New F: New X: New Y: Угол поворота: Число шагов: [FXYF-F++++F-FFX][--] [YY++XX++FFFXYF-F++F-FFXYF] FFXF++FFXF 1\10 3 14 Рис. 32 «Раковина» (автор Л.В. Калмыков) Рис. 33 «Моток волос» (автор Л.В. Калмыков) Axiom: FF++XX---YYFF+++XX--YYFF---XX+++YY Axiom: New F: FFYYXX FFXY New F: [FXYF-F++++F-FFX][--] New X: New X: Y[[XY]+X]+F[+FX]+XF+F+F+X New Y: [YY++XX++FFFXYF-F++FFFXYF-F++F-F] FFXF++FFXF New Y: FF[-][[YX]+Y]+F[+FY]+F+F+Y Угол поворота: 1/12 Угол поворота: 1/8 Число шагов: 3 Число шагов: 5 Еще две новые L-системы: Рис. 34 «Колос» автор – Калмыков Л.В. Рис. 35 «Треугольник с капиллярами» автор – Калмыков Л.В. Axiom: FFFF New F: F[F-F[F-- F]][F+F[F+++F]][F-F[F]][F+F[F]]Угол поворота: 36/24 Число шагов: 3 Axiom: F++F++F New F: F[+F]F[-F] XY угол pi: 1/3 Количество шагов: 6 15 Фрактальные изображения Наряду с L-системами, существует множество других видов фрактальных изображений. Своеобразным музеем и мощным редактором практически всех типов известных сегодня фракталов является бесплатная и свободно распространяемая программа ChaosPro (www.chaospro.de). Её автор – немецкий программист Martin Pfingstl. Программа позволяет легко модифицировать форму и цветовую гамму фракталов, создавать анимации. Ниже приведены мои результаты по трехмерному преобразованию известных фракталов. Рис. 36 Трехмерное преобразование фрактала Мандельброта: Калмыков Л.В. Рис. 37 «Гжель» - трехмерное преобразование фрактала«Плазма» автор – Калмыков Л.В. Рис. 38 «Даль» Калмыков Л.В. - трехмерное преобразование фрактала«Плазма» автор – Калмыков Л.В. 16 Рис. 39 «Лавовое озеро» Калмыков Л.В. - трехмерное преобразование фрактала«Плазма» автор – Калмыков Л.В. Рис. 40 «Ночь» Калмыков Л.В. - трехмерное преобразование фрактала«Плазма» автор – Калмыков Л.В 17 Рис. 41 «Рождение нового мира» - трехмерное преобразование фрактала«Плазма» автор – Калмыков Л.В. Рис. 42 Известный фрактал «Плазма». Преобразованием этого фрактала мною были получены пять предыдущих художественных изображений. 18 Трехмерный рендеринг изображений Графические структуры на основе клеточных автоматов, L-систем и фракталов генерируются на основе довольно простых логических и математических закономерностей. В течении 98 лет после создания Хельгой фон Кох в 1904 году алгорима генерации кривой, огибающей снежинку происходило накопления разнообразных алгоритмов генерации сложных изображений. Сегодня эти алгоритмы объединяются в рамках больших универсальных графических систем. Различные достижения современной векторной графики позволяют создавать сложные виртуальные модели нашего мира. В данном разделе приводятся мои работы в четырех лучших современных программ компьютерной визуализации (рендеринга) сложных изображений. . Рендеринг (rendering, визуализация) – процесс в ходе которого компьютер рассчитывает освещенность всех объектов сцены с учетом источников света и создает перспективную проекцию изображения сцены с заданной точки наблюдения. Результирующее изображение может быть как статической картиной, так и кадром анимационной последовательности. 3DSMax 4.0 Оборудование: компьютер Pentium I (166 MHz), Windows 98. Данная программа является наиболее популярной в трехмерном моделировании. Рис. 43 «Эльф-орк» (3DStudio Max) автор – Калмыков Л.В. 19 Голова этого “эльфа-орка” была получена в программе 3DStudio Max с использованием двух плагинов. Первый- создание 3d персонажей- позволяет эффективно собирать людей и гуманоидов, второй- нанесение на поверхность реалистичной “грязи” или других похожих эффектов. В данном случае я использовал его для эффекта схожести модели со скульптурой. Рис. 44 Кадр из анимации «Летающая тарелка» (3DStudio Max) автор – Калмыков Л.В. В процессе изучения этой программы, я научился создавать такие эффекты как блики линз, сияние выбранного объекта, звездное небо и другие яркие композиции. На данном примере я хочу показать работу с фильтрами, поэтому я создал анимацию летающей тарелки. В работе представлен только один кадр из проекта и я думаю что он лучше всего показывает сущность анимации, хотя в движении все выглядит гораздо лучше и реалистичнее. Maya 4.0 Оборудование: Работы с Maya 4.0 были выполнены на компьютере Pentium III с операционной системой Windows XP. Maya работает только под операционной системой Windows NT и выше. Больше всего при работе с 3d редакторами мне хотелось создать реалистичное отображение мира при минимальных затратах на рендеринг композиции и времени его создания. Отчасти решению данной задачи поспособствовало освоение Maya- программы, с помощью которой были созданы все спецэффекты к фильмам «Терминатор I», «Терминатор II», «Матрица» и к ряду других известных фильмов. Это высокопрофессиональная программа, обладающая наибольшими возможностями по моделированию и анимированию 3d сцен. Данная работа (Гроза) создана при помощи модуля Paint Effects. Конечно эта работа далека от реальности, но хорошо отображает бесконечные возможности компьютерной реальности. За 5-6 минут я получил при помощи этого модуля следующую картину… 20 Рис. 45 «Гроза» (Maya 4) автор – Калмыков Л.В. « Несколько слов о принципе ее создания. Модуль Paint Effects обеспечивает нанесение текстуры по линии, рисуемой мной в рабочей сцене. Это уменьшает затраты времени на рендеринг готовой 3d работы, так как в ней отсутствуют полигоны (грани объектов). На них, как и на визуализацию текстур, тратится вся мощность вашего компьютера и отсутствие их ускоряет получение готовой работы. Рис. 46 Цветы (Maya 4) автор – Калмыков Л.В. 21 Рис. 47 Звездное небо” (Maya 4) автор – Калмыков Л.В. И последняя картина, созданная в Maya, посвящена полигональному моделированию структур. В данном случае это интерьер “Комната”. Рис. 48 «Комната» (Maya 4) автор – Калмыков Л.В. 22 Bryce 3d Оборудование: компьютер Pentium I (166 MHz), Windows 98. Bryce 3d – программа для моделирования 3d ландшафтов. Это самая простая и в тоже время мощная дизайнерская студия в которой я работал. В ней были созданы мною три последние работы. Рис. 49 “Остров” (Bryce 3d) автор – Калмыков Л.В. Рис. 50 “Море” (Bryce 3d) автор – Калмыков Л.В. 23 Рис. 51 “Скалистый oстров”( Bryce 3d) автор – Калмыков Л.В. Poser 5 Оборудование: компьютер Pentium I (166 MHz), Windows 98. Poser 5 – программа, созданная для моделирования движения различных фигур. Здесь представлены два кадра из моей трехмерной анимации парящей девушки, созданной в этой программе. В работе использовался Компьютер Pentium III 700 MHz с операционной системой Widows XP SP1. Рис. 52-53 «Парящая девушка» (Poser 5) автор – Калмыков Л.В. 24 Графическое отображение музыки К чести Франции, Луи Бертран Кастель впервые в мире заявил саму идею "видения" музыки. Великим русским композитором А.Н.Скрябиным был сделан следующий шаг, причем уже на пути реального воплощения светомузыкального синтеза. В 1910 году он создал первое в мире оригинальное светомузыкальное произведение "Прометей" (второе его название - "Поэма огня"). В партитуре этого симфонического сочинения, наряду с партиями обычных инструментов есть необычная световая строка "Luce", предназначенная для исполнения на некоем световом органе - "tastiera per luce". В световой строке "Luce" представлены изменения цветов, которые обозначены нотными знаками. (Галлеев, 1988). Сегодня идея трансляции музыки в графику («визуализация музыки») получила значительное развитие. Наряду с цветом в визуализации участвуют и программы-генераторы графических структур. Оборудование, программы и метод работы: Компьютер Pentium III 700 MHz, операционная система Widows XP, программа Windows Media Player 9.00.00.2926, алгоритм визуализации Alchemy Random. Визуализация музыки требовательна к мощности компьютера если ставится задача достаточно точного совпадения музыки и графических визуализаций. Художник, использующий музыкальные визуализации в дизайне может работать и на мене мощных компьютерах. Очень легко фотографировать понравившиеся кадры. Для этого нужно нажать клавишу Print Screen и копия изображения экраны оказывается в буфере. Именно так я поступал при выполнении данной работы. При использовании клавиши Print Screen, однако, разрешение несколько ухудшается. Если желательно передать изображение с точностью до пиксела, можно применять специальные программы захвата изображения экрана (например HyperSnap-DX). В Windows Универсальном проигрывателе 9 серии (как и целый ряд других подобных программ) встроен графический дисплей, который изменяется в ответ на аудио сигнал. Причем это не просто цветомузыка, а сложный генератор графики, работой которого управляет аудио сигнал. Они никогда не повторяются! После небольшой художественной оптимизации в Photoshop 7, я получил приводимые ниже 10 художественных изображений. Эта графика интересна и может быть предметом художественного творчества в школе и дизайне вообще. 25 Рис. 54 Кадр аудиовизуализации (Windows Media Player 9, алгоритм Alchemy Random) автор – Калмыков Л.В. Рис. 55 Кадр аудиовизуализации (Windows Media Player 9, алгоритм Alchemy Random) автор – Калмыков Л.В. 26 Рис. 56 Кадр аудиовизуализации (Windows Media Player 9, алгоритм Alchemy Random) автор – Калмыков Л.В. Рис. 57 Кадр аудиовизуализации (Windows Media Player 9, алгоритм Alchemy Random) автор – Калмыков Л.В. 27 Рис. 58 Кадр аудиовизуализации (Windows Media Player 9, алгоритм Alchemy Random) автор – Калмыков Л.В. Рис. 59 Кадр аудиовизуализации (Windows Media Player 9, алгоритм Alchemy Random) автор – Калмыков Л.В. 28 Рис. 60 Кадр аудиовизуализации (Windows Media Player 9, алгоритм Alchemy Random) автор – Калмыков Л.В. Рис. 61 Кадр аудиовизуализации (Windows Media Player 9, алгоритм Alchemy Random) автор – Калмыков Л.В. 29 Обсуждение Информатика и компьютерная графика в школе В последнее время много говорят о важности информатики как школьного предмета. Главной целью ставится обучение компьютерной грамотности. В основном это понимается как изучение языков программирования – таких, как Pascal, Basic, С++. С моей точки зрения, таким же важным моментом в компьютерном образовании является овладение основами графического моделирования и анимации. Графика гораздо больше соответствует естественному образному восприятию мира ребенком, чем сухая абстрактная информатика, основанная на изучении формального программирования. К сожалению, в школе компьютерная графика изучается очень слабо, а на мой взгляд, она является таким же важным компонентом информатики, как и изучение языков программирования. Я считаю, что изучение трехмерного компьютерного дизайна дало бы хороший старт для изучения черчения и геометрии (стереометрии) в старших классах. При работе с программами трехмерного моделирования ученик овладевает такими понятиями, как линия, проекция, трехмерные фигуры (куб, конус, сфера, пирамида…) учится видеть и представлять в своем воображении эти и более сложные фигуры в пространстве, а так же такие понятия полигонального моделирования, как вершины, грани, ребра. Происходит знакомство и с такими понятиями векторного моделирования, как кривые Безье и сплайны. Было бы очень интересно иметь в школе хотя бы факультатив по этому разделу. К тому же, в отличии от программирования, для изучения которого тратится очень много времени, в 3D дизайне можно получить результат в гораздо более сжатые сроки. Однако, я не хочу сказать, что программирование чем-то хуже, чем «визуальный» дизайн. При изучении обоих дисциплин ученик поймет, как создаются компьютерные игры и даже сможет создавать их сам. В этом для меня состоит главная привлекательность данного направления. Для ребят начальной школы всегда интересно смотреть компьютерные анимации. Они хотят создавать их сами. Когда я был в 6-8 классах мне всегда хотелось научиться создавать спецэффекты , цифровые модели реального мира с помощью компьютера и я думал что с решением этой проблемы можно справиться изучив язык программирования. Далеко не сразу я узнал, что по-настоящему моделировать реальные объекты, события можно с использованием только функциональных языков программирования самого высокого уровня, - таких, например, как HASKELL. Для изучения такого типа языков требуется знание высшей математики – в частности теории категорий (а я ее не знал), поэтому я решил пойти по более реальному пути и занялся освоением «визуальных» графических редакторов. С первых шагов на компьютере я, как и все, был знаком со стандартной и самой простой графической программой, которая есть на каждом компьютере – с программой Paint. В этой программе можно было получать только растровый тип картин, не обладающих реалистичностью и высокой точностью отображения. Поэтому, я перешел на наиболее известную программу по созданию 2D изображений Photoshop компании Adobe. Это прекрасная программа необходима каждому профессиональному дизайнеру для создания текстур, сцен, оптимизации и модификации фотографий и самых различных изображений. Большой интерес для меня представило графическое моделирование в специальных программах создания L-систем, фракталов и клеточных автоматов. Некоторые полученные мною результаты в этих программах приведены в данной работе. Моей главной мечтой было создание мультфильма по собственному сценарию, - и я решил эту задачу пари помощи программы Director компании Macromedia. В этой программе я создал свое первое анимированное изображение, которое, к сожалению, было далеко от совершенства. На первых порах 30 неестественное “дергание” кадров и использование 2D изображений портило впечатление. Конечно, в первую очередь это было потому, что я плохо разбирался в самой программе и не был профессиональным художником, но все же после создания мультфильмов я понял, что мне сделать для достижения своей цели. Очень упростило создание мультфильмов знакомство с технологией Flash и программой Flash MX той же компании. Эта программа может (и должна) использоваться в начальной школе. Целым открытием стало знакомство с дизайнерской студией “3D Studio Max”. Я сразу же понял, что без специального руководства по пользованию этой программы ничего не смогу там сделать. И я даже не понимал как в ней что-либо можно делать. Спустя некоторое время у меня уже была книга с азами трехмерного моделирования (Винклер, 1999). За несколько месяцев я уже в достаточной степени ее освоил, но, к сожалению, в этой программе отсутствует множество профессиональных средств разработки для 3D- моделирования, таких как электрические эффекты, тени, реалистичное создание ткани, волос и так далее. Все это можно установить с помощью плагинов, которые не входят в состав самой программы. Это несовершенство “3D Studio Max” побудило меня взялся за самую мощную профессиональную графическую программу 3D моделирования - Maya. В этой программе были созданы спецэффекты к таким известным фильмам как “Терминатор”, ”Терминатор 2 - Судный день ”, “Матрица”. Эту программу Я изучаю до сих пор. И в этой работе Вы смогли увидеть некоторые мои результаты. Кроме этой программы, я также с большим интересом работал в специализированных графических программах “Bryce” и “Poser”. “Bryce” позволяет создавать удивительные ландшафтные изображения, а “Poser” – специальная программа для моделирования движния фигур людей, роботов и животных. Благодаря удобному и очевидному («интуитивно ясному») интерфейсу обоих программ можно очень быстро научиться создавать собственные виртуальные миры даже ученикам начальной школы. Важно, что в данном случае на начальном этапе можно обойтись и без изучения специальных учебников. Профессиональная работа с этой программой, конечно же, предполагает углубленное изучение соответствующей теории. В частности может быть очень интересно моделировать сложные системы, такие как клеточные автоматы и L- системы с помощью простых программ. Математическая эстетика? Наука – это сочетание логического и интуитивного. Научное творчество всегда в той или иной мере связано с эстетическими переживаниями. Известно глубокое внимание Эйнштейна к искусству – к художественной литературе и музыке, известны его слова о том, что Достоевский дает ему больше, чем математик Гаусс. Эйнштейн непосредственно ощущал неразрывную связь науки и искусства, задачи которых в конечном счете едины – они сводятся к познанию и отображению гармонии реального мира. Связь науки и искусства одновременно означает связь науки и эстетики. Другой большой ученый нашего века, Дирак, считал эстетический критерий первостепенным в научном творчестве. Эстетика – высший критерий научной истины. Значение, интуиции в науке и искусстве проанализировано в книге известного советского физика-теоретика, членакорреспондента АН СССР E.Л. Фейнберга «Кибернетика, логика, искусство». Интуиция есть или догадка или прямое усмотрение истины, то есть усмотрение объективной связи вещей, не опирающееся на логическое доказательство. Интуитивное суждение имеет синтетический характер, и то время как дискурсивное суждение аналитично. Математическая эстетика могла бы быть одной из основных вершин науки. Математическая эстетика могла бы стать реальной основой реального искусственного интеллекта. Можно ли сегодня заменить человека в проектировании и отборе произведений искусства математическими критериями? Возможно ли логикой мерять гармонию и уровень сложности? Такие критерии уже предложены в работах А.Н. 31 Колмогорова, А. П. Левича и ряда других авторов. В данной работе продемонстрированы способности современных компьютеров в области искусства. Интересно, что многие красивые сложные системы получаются как автоматическое следствие реализации математических алгоритмов. При этом рост сложности графических структур пропорционален количеству математических операций по генерации данной графической структуры. Количество математических операций по генерации данной графической структуры может рассматриваться полным специфическим алгоритмом её автоморфизма. Это наглядно и очевидно демонстрируют наши эксперименты с клеточными автоматами и L-системами. Данный вывод совпадает с критериями сложности, предложенным А.Н. Колмогоровым и А. П. Левичем. 32 Литература 1. Баринова В.О. и Калмыков А.В. «Фракталы. Использование фрактальной графики на уроках биологии», Биология, N27-28; 2002 г., Издательство «Первое сентября» http://bio.1september.ru/2002/28/14.htm 2. Винклер П. Изучаем трехмерный дизайн с 3D Studio MAX 2.5/3.0. Издательство ДМК, Москва, 1999, 381 стр. 3. Галлеев Б.М. Что же это такое светомузыка?-Музыкальная жизнь, 1988, № 4, с. 12-14. http://prometheus.kai.ru/cast-skr_r.htm#1) 4. Колмогоров А.Н., Гельфанд И.М., Яглом А.М. К общему определению количества информации//Доклады Академии наук СССР. 1956. Т. 111. С.745. 5. Левич А.П. Теория множеств, язык теории категорий и их применение в теоретической биологии. М.: Изд-во Моск. ун-та. 1982. 190 с. 6. Левич А.П. Энтропия как мера структурированности сложных систем // Труды семинара "Время, хаос и математические проблемы". Вып.2. 2000. М.: Институт математических исследований сложных систем. С.163-176. 7. Lindenmayer A (1968). Mathematical models for cellular interaction in development I. Filaments with one-sided inputs. Journal of Theoretical Biology 18:280-289 8. Тимофей Струнков, PC Week RE, 19/1999 Что такое генетические алгоритмы 9. Пайтген Х.-О., Рихтер П.Х. Красота фракталов. М.: Мир, 1993. (1986 - оригинал) 176 с. 10. Prusinkiewicz, P. and Hammel, M. (1995) Visual Models of Morphogenesis: A Guided Tour http://www.cpsc.ucalgary.ca/projects/bmv/vmm/intro.html, Department of Computer Science, University of Calgary 11. Т.Тофроли, Н. Марголус. Машины клеточных автоматов. М.: Мир, 1991. 12. Федер Е. Фракталы. Пер. с англ.-М.: Мир,1991.-254с. (Jens Feder, Plenum Press, NewYork, 1988) 13. Фейнберг E.Л. Кибернетика, логика, искусство. «Радио и связь», М. 1981. 14. Шубников А. В., Копцик В. А. Симметрия в науке и искусстве, М., 1972 15. Харовас П., Кундерт-Гиббс Дж., Ли П. Мауа Complete. (2001) Уроки мастерства: Перю с англ. – М.: ДМК Пресс, 784 с. 33