Как вы могли заметить, после задания стартового символа и правила выполнения, мы нигде не указываем, когда это прекратится. Как уже было неоднократно сказано, правила допускают рекурсивное вложение и перекрестные ссылки. И более того, это и есть основа основ построения всех фрактальных объектов, которые, теоретически, бесконечны.
Для борьбы с бесконечностью действует ряд ограничений, которые могут применяться явно или неявно:
- глобальный лимит числа объектов на сцене (maxobjects)
- предел числа поколений фигур (maxdepth).
Они как заданы по умолчанию, так и могут быть переопределены в начале скрипта, комбинируя их разные сочетания, можно получать интересные и часто неожиданные эффекты.
Для более тонкой настройки, к правилу могут быть приписаны локальные ограничения (maxdepth), что позволяет строить замысловатые фигуры, которые, к примеру, растут в длину больше, чем в ширину.
Также есть ограничители на максимальный (maxsize) и минимальный размер (maxsize) объекта в текущей трансформации. Если объект не удовлетворяет критерию, то не отображается, но следующая итерация может отобразиться нормально, если объект на ней снова попадает в рамки. Эти настройки, к примеру, позволяют строить хитрые паттерны с выпадающими фрагментами.
Даже с этими настройками наш язык кажется черезчур детерминированным и фигура будет черезчур упорядоченной и симметричной. Для борьбы с этим добавлена “игра хаоса”, выраженная в том, что имена различных правил могут повторяться. При выполнении будет выбираться случайно то или иное правило на основе генератора случайных чисел. К одинаковым правилам может быть приписан вес (weight), повышающий или понижающий его вероятность. Именно в этом месте и начинают получаться фигуры, похожие на живую природу, ведь в ней очень редко встречается строгая упорядоченность.
В итоге добавляется случайность выбора цвета, задаваемая одной из нескольких встроенных схем.
ИтогРассмотренная программа является с одной стороны очень простой, с другой — очень сложной. Для полноценного творчества в ней требуется не только хорошее пространственное воображение, но и знание основ 3D-графики и школьной стереометрии с тригонометрией. Фигуры ведут себя непредсказуемо, уходят не туда, куда надо, бывают скучны и банальны, в общем демонстрируют все известные проблемы творческого процесса.
Полученные объекты могут быть прекрасными (или унылыми) как сами по себе, так и усилены экспортом в популярные среды типа Blender, в котором они являют обычный набор полигонов, к которым могут быть сопоставлены модели освещения, тумана, амбиентности, а также шейдеры. Также существует плагин для популярной среды реалтаймового видео VVVV, позволяющий сделать из скрипта интерактивную 3D-инсталляцию.
Можно предположить будущее таких программ. Развитие аппаратной поддержки 3D-языки описания шейдеров и модель вычислений CUDA, а также популярные библиотеки физического моделирования могут неимоверно украсить сцены, добавив туда “игру” не только с плоским цветом, но и с поверхностями, тенями, эффектами и искажениями перспективы. Именно “игру” как набор трансформаций внутри сцены, а не более реалистичный рендер средствами рейтрейсинга типа SunFlow.
Сейчас это всего лишь набор полигонов или кубиков, рисуемых, чего греха таить, сильно отстающей от современных возможностей видеокарт, библиотекой OpenGL, что в итоге не сильно отличается от первой 3D-графики начала 1990-х.
Добавление четвёртого измерения — времени — позволит строить меняющиеся на ходу ландшафты, и, в принципе, некоторые намеки на это есть уже сейчас: встроенные примеры показывают, как сделать анимацию пошагового разрастания фигуры-дерева.
К оглавлению
Альтернативные браузеры для iOS
Андрей Федив
Опубликовано 29 июля 2011 года
Если на первых порах распространяемые через App Store браузеры не предлагали сколько-нибудь заметные преимущества, являясь, по сути, надстройками над движком Safari Webkit, то существующие ныне варианты способны если не заменить, то хотя бы составить конкуренцию браузеру по умолчанию. Часть их использует модные теперь «облачные» технологии. В частности, это касается браузеров, предоставляющих некоторое подобие поддержки технологии Flash. Рассмотрим самые удачные из них.
Puffin Web BrowserБраузер, который предлагается за символический доллар, позволяет быстро получить доступ к Flash-контенту. Для удобства взаимодействия с ним есть отдельный режим прокрутки экрана, который включается в настройках. В этом режиме страница не прокручивается, а прикосновения к экрану обрабатываются как одинарные и длинные нажатия. Это позволяет перетаскивать объекты в области Flash-приложения. Конечно, в сложные Flash-игры в таком режиме не поиграешь, но для просмотра медиаматериалов этот браузер подходит.
Ещё одним его важным преимуществом является поддержка воспроизведения аудио. С этой задачей Puffin справляется хорошо, позволяя использовать различные музыкальные Flash-сервисы. Есть функция полноэкранного проигрывания Flash-видео, которая хорошо работает в большинстве случаев.
Если учитывать особенности облачной реализации браузера, он хорошо справляется с обработкой сложных веб-страниц. В тесте на поддержку HTML5 Puffin набирает 274 балла. Примечательно, что встроенный Safari в iOS 5 получает уже 303 балла. Кроме этого, важно помнить, что месторасположение пользователя и его IP-адрес будут распознаваться как находящийся в США, что удобно для доступа к иностранным ресурсам, но часто вызывает подозрения у веб-сервисов СНГ и социальных сетей; в частности, Facebook, «Вконтакте» и Gmail будут предупреждать о доступе с нетипичного IP-адреса и требовать дополнительной авторизации пользователя.
Универсальное приложение для iPhone и iPad доступно за 0,99 доллара.
iSwifterВторой облачный браузер использует экзотический способ загрузки и отображения всевозможного контента, в том числе Flash. Страницы загружаются на удалённый сервер и отображаются на экране в виде своеобразного «видеопотока», точно таким же образом, как это реализовано в сервисе Onlive. Начиная с версии 3.0 этот браузер перешёл на систему платной подписки, позволяя за три доллара в месяц пользоваться сервисом без ограничений. Но в текущей версии 4.0 разработчики вернулись к системе одноразовой подписки, предоставив, кроме прочего, эту подписку всем, кто использовал iSwifter ранее на условиях абонентской платы. В браузере есть возможность загружать Flash-игры отдельно, есть доступ к играм Facebook, популярным видеохостингам и видеподкастам. Аудиопоток iSwifter передаёт, как и Puffin, но в целом работа браузера требует определённого привыкания. Во время прокрутки происходит подгрузка контента, нажатия курсора обрабатываются с задержкой. Ощущения от работы с браузером напоминают использование OperaMini для iOS.
Важным недостатком, сводящим на нет преимущества iSwifter для пользователей из СНГ, является невозможность ввода символов кириллицы во Flash-приложениях. Версия программы на русском языке также недоступна.
Это приложение запускается только на iPad. Оно бесплатно предоставляет тридцать минут сёрфинга, а заказ единоразовой подписки на сервис Flash-браузинга стоит пять долларов.
AlwaysOnPC for iPad/iPhoneНастоящий комбайн облачных сервисов, где кроме браузера пользователь получает в своё распоряжение классический Linux-декстоп, с полноценным Google Chrome, OpenOffice, Firefox и машиной Java. Вызывает удивление только то, что версии программ далеки от актуальных; например, используется Firefox версии 3.6, а Chrome — 9. Чем руководствовались разработчики, предоставляя именно такой набор программ без возможности их обновления, остаётся загадкой. Сервера приложения находятся как в Европе (Болгария), так и в США.
Уместным будет сравнить это приложение с другим браузером от этой же компании, который не вошёл в этот обзор, — Cloud Browse. Из-за высокой нагрузки на сервера он был доступен только для пользователей из США и Канады, а сейчас для не премиум-пользователей время сессии ограничено до десяти минут. Версия Firefox, к которой предоставляется доступ, тоже далека от актуальной, но аудиопоток Cloud Browse передаёт. К сожалению, качество его работы оставляет желать лучшего и кардинально не улучшилось даже с версией программы 3.0.1.
Также можно заметить, что приложение передаёт изображение в шестнадцатибитном режиме. Это тоже не добавляет комфорта. На русском языке интерфейса нет. Тем не менее использование этого (весьма недешёвого — в полной комплектации он стоит 24 доллара) пакета мало чем отличается от работы по подключению VNC к настоящему PC. Браузер отображает и Flash, и Java-приложения, но с одним весьма досадным ограничением: передача аудио не реализована. Скорее всего, это ограничение технологии VNC, которая используется для работы. Несмотря на обещания реализовать передачу аудипотока, от версии к версии ничего не меняется. Использовать «настольный» браузер в качестве мобильного оправданно только в случае необходимости доступа к Flash, Java или сложным веб-страницам, которые неправильно отображаются в мобильных браузерах.