» » » » Коллектив Авторов - Цифровой журнал «Компьютерра» № 79


Авторские права

Коллектив Авторов - Цифровой журнал «Компьютерра» № 79

Здесь можно скачать бесплатно "Коллектив Авторов - Цифровой журнал «Компьютерра» № 79" в формате fb2, epub, txt, doc, pdf. Жанр: Прочая околокомпьтерная литература. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Рейтинг:
Название:
Цифровой журнал «Компьютерра» № 79
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Цифровой журнал «Компьютерра» № 79"

Описание и краткое содержание "Цифровой журнал «Компьютерра» № 79" читать бесплатно онлайн.



ОглавлениеСтатьи

После шаттла: космические амбиции Китая Автор: Юрий Ильин

SNIPER: светлое будущее кремниевой нанофотоники Автор: Евгений Лебеденко, Mobi.ru

После шаттла: удастся ли реализовать программу МАКС? Автор: Юрий Ильин

Как взламывают мобильные платформы: взгляд экспертов Автор: Андрей Письменный

Интервью

Александр Симонов (СО РАН) о топливных элементах Автор: Алла Аршинова

Терралаб

По щучьему веленью: компьютер за рулём Автор: Олег Нечай

StructureSynth: сыграйте мне про архитектуру Автор: Радий Фиш

Альтернативные браузеры для iOS Автор: Андрей Федив

Колумнисты

Кафедра Ваннаха: Хеширование знаний Автор: Ваннах Михаил

Василий Щепетнёв: История попаданца Автор: Василий Щепетнев

Кафедра Ваннаха: Гауссиана, образование, социум Автор: Ваннах Михаил

Дмитрий Шабанов: Планетарный кофе Автор: Дмитрий Шабанов

Василий Щепетнёв: Попаданец в чистилище Автор: Василий Щепетнев

Кивино гнездо: Для всех и даром Автор: Киви Берд

Кафедра Ваннаха: Забытый футуролог Автор: Ваннах Михаил

Голубятня-Онлайн

Голубятня: Анонс публикаций Автор: Сергей Голубицкий

Голубятня: Агора №27 Автор: Сергей Голубицкий

Голубятня: Анбоксинг iBasso D4 «Mamba» Автор: Сергей Голубицкий






Вслед за его исследованиями последовало большое количество практических приложений и научных публикаций, часть из которых удачно совпала с бумом на фракталы, теорию хаоса и динамические системы в начале 90-х, благо генерация сложной графики стала доступна не только на специализированных мейнфреймах, а любому кодеру-энтузиасту с Amiga или PC. (Интересующимся можно посоветовать прочитать некоторые из его, весьма наглядных и интересных трудов, переводами которых занимаются, к примеру на Хабрахабре).

Основной интерес к L-системам вызван тем, что, как несложно уже догадаться, они представляют собой один из самых простых и наглядных вариантов фракталов (вместе с треугольником Серпинского и кривой Коха). Для понимания принципов подобных изображений не требуется погружаться в бездны комплексного анализа и топологии, достаточно разве что вспомнить школьную геометрию.

Методы L-систем нашли множество как художественных, так и практических применений. Например для создания высокореалистичных текстур, ландшафтов и растений, практически неотличимых на изображении от реальных.

Из числа арт-программ 2000-х одной из самых известных и канонических де-факто стал открытый проект ContextFreeArt:



Неудивительно, что после столь эффектных изображений в 2d, энтузиасты обратились к третьему измерению, благо современные мощности позволяют визуализировать сложнейшие сцены почти в реальном времени. Собственно проект Structure Synth и стал первой известной программой такого рода.

Единственный его автор — Микаель Хвидтфельд Кристенсен (Mikael Hvidtfeld Christensen) в одиночку развивает проект в течение нескольких последних лет (с 2007 г.).

Кликните по изображению чтобы перейти на галерею изображений, полученных с помощью Structure Synth.

Проект распространяется по GPL и написан на C++ под OpenGL и QT, что позволяет портировать приложение на любые платформы (кроме разве что мобильных, для которых поддержка этих фреймворков если и появилась, то совсем недавно).

В числе свежайших нововведений — поддержка javascript и встроенный рендерер, позволяющий обходиться без дополнительного экспорта в другую среду моделирования или рейтрейсинга.

Основы формальных грамматик

Идеи, лежащие в основе формальных грамматик одновременно и очень просты и очень мощны. Объем теории по машинным языкам очень велик и изучается на многих специальностях, но в первом приближении нам понадобятся только аксиомы.

Для определения “языка” — то есть всех возможных цепочек символов — требуется задать:

1. Множество конечных символов

Множество самых базовых объектов, из которых строится структура или язык. Для естественного или машинного языка это символы, буквы, цифры, для двумерной фигуры это точки на плоскости, прямые, кривые, для трехмерной — соответственно точки в трехмерном пространстве, полигоны, векторы, поверхности.

2. Множество правил

Правило — это некая формальная запись, в которой определяется, как из одной структуры получается другая структура. Правила могут состоять из других правил.

Весьма условный пример правил для русского языка:

СЛОВО = “один или несколько слогов” СЛОГ = “согласная”+”гласный” СОГЛАСНАЯ = {б,в,г,д,ж, …, щ} ГЛАСНЫЙ = {a, е, о, .., я}

Для трехмерной структуры:

КУБ = “Полигон с координатами (0,0,0), (0,1,0), (0, 0, 1)”, “Полигон с координатами (0, 0, 0), (1, 0, 0), (1,1,0) и т.д.

Понятно, что в формальной теории или реальных приложениях правила записываются более строго и могут быть очень сложными (например Perl-синтаксис регулярных выражений). Для них существует множество теорем, которыми мучают студентов старших курсов.

3. Стартовое правило

порождение структуры не может начаться просто так, мы должны объявить базовый объект или базовое правило, с которого начнется построение, исходный шаг рекурсии.

Язык Structure Synth

Трехмерные фигуры как грамматики описываются в текстовых файлов специального формата .es (EisenScript).

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

Правила и трансформации оперируют с базовыми геометрическими фигурами (примитивами) в трехмерном пространстве. У фигур, помимо 3d-координат, есть только цвет (но, к сожалению, не текстура, не материал и т.п.).

Очень хочется, но нельзя в качестве базовой фигуры взять уже готовую 3d-фигуру или сцену (хотя при желании и умении это можно добавить в код, например в документации заявлены, но не реализованы несколько примитивов типа цилиндра и конуса).

Результат выполнения — трехмерная полигональная сцена с базовой моделью освещения, которая может быть экспортирована в другие форматы или сохранена как растровое изображение. Её также можно просто покрутить, увеличить или уменьшить в редакторе в окне предпросмотра, программа достаточно быстра на современных PC и начинает притормаживать на сценах от ста тысяч объектов.

Итак, посмотрим, как в Eisenscript реализованы формальные грамматики.

1. Базовые примитивы

Алфавит среды — исходные строительные блоки, из которых создается фигура. Это шар, куб, вектор, прямоугольник, точка, поверхность.

Для описания примитива достаточно написать зарезервированное кодовое слово.

Пример примитивов:

box

sphere

grid

line

dot


2. Трансформации

Трансформации описывают всевозможные действия, применяемые к текущему состоянию (примитиву): сдвиг по осям x, y, z, повороты по трем осям, изменение цвета (абсолютное значение в RGB, смешивание текущего цвета с другим, изменение параметров тона-яркости-насыщенности (HSV), изменение альфа канала), масштабирование объекта в трех осях, зеркальное отражение, применение матрицы поворота.

Трансформации записываются в фигурных скобках и выглядят как буква (сокращение названия трансформации) и числовое значение-аргумент. Аргумент идет обязательно после пробела.

Аргументом является или число с плавающей запятой или целочисленное значение, зависит от типа.

Изменение в 3d-координатах это float, модификация цвета — integer.

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

Также трансформации могут быть заданы рандомным числом.

Примеры:

{ x 1} // сдвигает текущее состояние по оси x на единицу

{x 2 y 2 z 2} // равномерно сдвигает состояние на 2 единицы по трем осям

{rx 30} // поворачивает относительно оси x на 30 градусов

{sat 10 hue -30} //изменяет атрибуты цвета

{x 1 x 1 x 1} // равно {x 3 }

Трансформации записываются сразу перед примитивами (или правилами). Либо это одна трансформация, либо их список, но со знаком умножения, который означает повторение трансформации N раз (итерация).

Пример:

1 * { hue 30 x 1 } // равно { hue 30 x 1}

10 * { x 1 hue 36 } 10 * { y 1 sat 0.9 } 10 * { z 1 b 0.9 } box

Итерация из примера выше является важным элементом языка.

Запись N * { transform t }, где N и t — некоторые числа, а transform — некоторая трансформация, эквивалентна N записям вида:

{ transform t} …

{ transform t*2} …

{ transform t*3} …

{ transform t*N} …

Как пример

3 * { x 2 } box

это то же самое, что и

{ x 2 } box

{ x 4 } box

{ x 6 } box


3. Правила

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

Неявным правилом является последовательная запись трансформации и примитива из примеров выше, формально это тоже правило языка, только без кодового слова.

Правило состоит из ключевого слова rule, названия (цифробуквенный идентификатор), открывающих и закрывающих фигурных скобок, внутри которых перечислены примитивы, трансформации и другие правила.

R1

rule R1 {

{ x 0.9 rz 6 ry 6 s 0.99 sat 0.99 } R1

{ s 2 } sphere

}

4. Стартовое правило

Если не объявить, какое из правил или примитивов вызывается первым, то мы получим пустое изображение. Порядок объявления не имеет значения, главное поставить хотя бы одно из них, в примере выше это R1.

Удивительно, но на этом практически и всё. Конечно, в языке имеется множество тонкостей, связанных с 3-d изображениями, ограничениями количества вычислений, генерацией последовательности цветов и т.д., но фактически достаточно изучить только набор примитивов, способы их трансформаций и запись этого всего в правила, чтобы начать создавать фигуры.

Рекурсия

Как вы могли заметить, после задания стартового символа и правила выполнения, мы нигде не указываем, когда это прекратится. Как уже было неоднократно сказано, правила допускают рекурсивное вложение и перекрестные ссылки. И более того, это и есть основа основ построения всех фрактальных объектов, которые, теоретически, бесконечны.


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Цифровой журнал «Компьютерра» № 79"

Книги похожие на "Цифровой журнал «Компьютерра» № 79" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Коллектив Авторов

Коллектив Авторов - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Коллектив Авторов - Цифровой журнал «Компьютерра» № 79"

Отзывы читателей о книге "Цифровой журнал «Компьютерра» № 79", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.