Компьютерная графика

Пиксель как основа растрового представления графики. Программы векторной графики, форматы файлов. Основной принцип построения графических объектов. Применение и виды фракталов, виды программ для 3D графики. Интеграция детерминированных фракталов и хаос.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 13.12.2009
Размер файла 259,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

2

Содержание

  • Растровая графика
    • Векторная графика
    • §1. Программы векторной графики
    • §2. Форматы файлов компьютерной графики
    • §3. Основной принцип построения графических объектов
    • §4. Применение векторной графики
    • Заключение
    • Фрактальная графика
    • §1. Понятие "фрактал"
    • §2. Применение фракталов
    • §3. Интеграция детерминированных фракталов и хаос
    • §4. Виды фракталов
    • §4.1 Решётка Серпинского
    • §4.2 Треугольник Серпинского.
    • §4.3 Кривая Коха
    • §4.4 Фрактал Мандельброта
    • §4.5 Кривая Дракона
    • §4.6 Множество Мандельброта
    • §4.7 Множество Жюлиа
    • §4.8 Дерево Фейгенбаума
    • §4.9 Дерево Фейгенбаума и Множество Мандельброта
    • Заключение
    • 3D графика
    • §1. Текстуры
    • §2. Эффекты
    • §3. Виды программ
    • Анимация
    • §1. Что такое анимация вообще?
    • §2. Что такое флэш анимация?
    • §3. Назначение анимации как таковой
    • §4. Области применения флэш анимации

Растровая графика

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

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

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

Кроме того, качество характеризуется еще и количеством цветов и оттенков, которые может принимать каждая точка изображения. Чем большим количеством оттенков характеризуется изображения, тем большее количество разрядов требуется для их описания. Красный может быть цветом номер 001, а может и - 00000001. Таким образом, чем качественнее изображение, тем больше размер файла.

Растровое представление обычно используют для изображений фотографического типа с большим количеством деталей или оттенков. К сожалению, масштабирование таких картинок в любую сторону обычно ухудшает качество. При уменьшении количества точек теряются мелкие детали и деформируются надписи (правда, это может быть не так заметно при уменьшении визуальных размеров самой картинки - т.е. сохранении разрешения). Добавление пикселей приводит к ухудшению резкости и яркости изображения, т.к новым точкам приходится давать оттенки, средние между двумя и более граничащими цветами. Распространены форматы. tif,. gif,. jpg,. png,. bmp,. pcx и др.

Таким образом, выбор растрового или векторного формата зависит от целей и задач работы с изображением. Если нужна фотографическая точность цветопередачи, то предпочтительнее растр. Логотипы, схемы, элементы оформления удобнее представлять в векторном формате. Понятно, что и в растровом и в векторном представлении графика (как и текст) выводятся на экран монитора или печатное устройство в виде совокупности точек. В Интернете графика представляется в одном из растровых форматов, понимаемых браузерами без установки дополнительных модулей - GIF, JPG, PNG.

Без дополнительных плагинов (дополнений) наиболее распространенные браузеры понимают только растровые форматы - .gif, .jpg и .png (последний пока мало распространен). На первый взгляд, использование векторных редакторов становится неактуальным. Однако большинство таких редакторов обеспечивают экспорт в .gif или .jpg с выбираемым Вами разрешением. А рисовать начинающим художникам проще именно в векторных средах - если рука дрогнула и линия пошла не туда, получившийся элемент легко редактируется. При рисование в растровом режиме Вы рискуете непоправимо испортить фон.

Из-за описанных выше особенностей представления изображения, для каждого типа приходится использовать отдельный графический редактор - растровый или векторный. Разумеется, у них есть общие черты - возможность открывать и сохранять файлы в различных форматах, использование инструментов с одинаковыми названиями (карандаш, перо и т.д.) или функциями (выделение, перемещение, масштабирование и т.д.), выбирать нужный цвет или оттенок... Однако принципы реализации процессов рисования и редактирования различны и обусловлены природой соответствующего формата. Так, если в растровых редакторах говорят о выделении объекта, то имеют в виду совокупность точек в виде области сложной формы. Процесс выделения очень часто является трудоемкой и кропотливой работой. При перемещении такого выделения появляется "дырка". В векторном же редакторе объект представляет совокупность графических примитивов и для его выделения достаточно выбрать мышкой каждый из них. А если эти примитивы были сгруппированы соответствующей командой, то достаточно “щелкнуть" один раз в любой из точек сгруппированного объекта. Перемещение выделенного объекта обнажает нижележащие элементы.

Тем не менее, существует тенденция к сближению. Большинство современных векторных редакторов способны использовать растровые картинки в качестве фона, а то и переводить в векторный формат части изображения встроенными средствами (трассировка). Причем обычно имеются средства редактирования загруженного фонового изображения хотя бы на уровне различных встроенных или устанавливаемых фильтров.8-я версия Illustrator'a способна загружать. psd-файлы Photoshop'a и использовать каждый из полученных слоев. Кроме того, для использования тех же фильтров, может осуществляться непосредственный перевод сформированного векторного изображения в растровый формат и дальнейшее использование как нередактируемого растрового элемента. Причем, все это помимо обычно имеющихся конвертеров из векторного формата в растровый с получением соответствующего файла.

Некоторые растровые редакторы способны грузить один из векторных форматов (обычно .wmf) в качестве фона или сразу переводить их в растр с возможностью непосредственного редактирования.

Векторная графика

Почти с момента создания ЭВМ появилась и компьютерная графика, которая сейчас считается неотъемлемой частью мировой технологии. По началу это была лишь векторная графика - построение изображения с помощью так называемых “векторов" - функций, которые позволяют вычислить положение точки на экране или бумаге. Например, функция, графиком которой является круг, прямая линия или другие более сложные кривые. Совокупность таких “векторов" и есть векторное изображения.

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

Для дальнейшего рассмотрения проблемы постройки объектов с помощью векторной графики, необходимо уяснить разницу между двумя основными видами компьютерной графики - растровой и векторной. Векторная графика описывает изображения с использованием прямых и изогнутых линий, называемых векторами, а также параметров, описывающих цвета и расположение. Например, изображение древесного листа описывается точками, через которые проходит линия, создавая тем самым контур листа. Цвет листа задается цветом контура и области внутри этого контура.

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

Векторное представление заключается в описании элементов изображения математическими кривыми с указанием их цветов и заполняемости (вспомните, круг и окружность - разные фигуры). Красный эллипс на белом фоне будет описан всего двумя математическими формулами - прямоугольника и эллипса соответствующих цветов, размеров и местоположения. Очевидно, такое описание займет значительно меньше места, чем в первом случае. Еще одно преимущество - качественное масштабирование в любую сторону. Увеличение или уменьшение объектов производится увеличением или уменьшением соответствующих коэффициентов в математических формулах. К сожалению векторный формат становится невыгодным при передаче изображений с большим количеством оттенков или мелких деталей (например, фотографий). Ведь каждый мельчайший блик в этом случае будет представляться не совокупностью одноцветных точек, а сложнейшей математической формулой или совокупностью графических примитивов, каждый из которых, является формулой. Это приводит к утяжелению файла. Кроме того, перевод изображения из растрового в векторный формат (например, программой Adobe Strime Line или Corel OCR-TRACE) приводит к наследованию последним невозможности корректного масштабирования в большую сторону. От увеличения линейных размеров количество деталей или оттенков на единицу площади больше не становится. Это ограничение накладывается разрешением вводных устройств (сканеров, цифровых фотокамер и др.).

§1. Программы векторной графики

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

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

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

К числу новых возможностей, обнаруженных нами в этой категории изделий, относится многоцветная градиентная закраска. Такие примитивы, как многоугольники, звезды и спирали, стали обычными атрибутами подобных пакетов. Связанные цвета позволяют заменить красный цвет розы на желтый, изменив только базовый цвет; все связанные оттенки изменятся автоматически. Многослойные интерактивные цветные "диапозитивы" обеспечивают ранее недостижимую глубину и вы можете преобразовывать векторные изображения в растровые в рамках векторного графического файла. Если вчерашние пакеты векторной графики позволяли только помещать растровое изображение в ваш файл, то с помощью современных программ можно встраивать представленные в растровой форме изображения, изменять их размеры и даже накладывать специальные эффекты и маски. Это облегчает процесс получения окончательного изображения средствами многослойной графики - объединением векторных и растровых файлов необходимым, для создания логотипов, печатных рекламных объявлений и картинок для Web.

§2. Форматы файлов компьютерной графики

Как говорилось выше, вся компьютерная графика делится на две большие ветви: растровую и векторную. Векторы представляют собой математическое описание объектов относительно точки начала координат. Проще говоря, чтобы компьютер нарисовал прямую, нужны координаты двух точек, которые связываются по кратчайшей, для дуги задается радиус и т.д. Таким образом, векторная иллюстрация - это набор геометрических примитивов. Сложность при передаче данных из одного векторного формата в другой заключается в использовании программами различных алгоритмов, разной математики при построении одних и тех же объектов.

Растровый файл устроен проще (для понимания, по крайней мере). Он представляет собой прямоугольную матрицу (bitmap), разделенную на маленькие квадратики - пиксели (pixel - picture element). Чем больше пикселей в каждом квадратном дюйме на матрице, тем выше разрешение файла. Данная структура характерна для всех растровых форматов. Различаются они способностью нести какую-либо дополнительную информацию, количеством информации о цвете, которую можно определить для каждого пикселя, способом архивации, другими особенностями.

§3. Основной принцип построения графических объектов

Этот принцип основывается на том, что изначально структуру изображения составляет именно векторное очертание. Это в равной степени относится как к 2D, так и к 3D изображениям. То есть, не возникает совершенно никаких проблем при необходимости вывести на распечатке маленькое или большое по разрешению изображение. Растровое изображение этим похвастать не может. Хорошо, когда у Вас растр достаточно емкий. Но если это мизерное изображение со сканированной с журнала фотографии (что убивает качество наповал), то это уже проблема. Хотя существуют программы, обеспечивающие трассировку растра в вектор, но корректно, скажем, перевести полноцветную фотографию человеческого лица в векторное изображение они не могут. В любом случае полученный вектор не сможет передать всю тонкость и глубину красок полноцвета растрового изображения. Даже если при переводе в вектор установить настройки, наиболее точно передающие мелкие детали и градации цвета, все равно при необъятном размере векторного файла итог будет одинаково не идеальным. Положение круто меняется, когда вектор экспортируется в растровое изображение. Здесь почти нет пределов для величины разрешения растра, и при этом он остается одинаково качественным.

Т.е. векторное изображение строится примитивных графических объектов построенных из векторов: линия, прямоугольник, круг, дуга, замкнутая линия, и т.д. Например, основой для большинства сложнейших 3D-фигур является треугольник, из множества которого состоит вся объемная фигура. Группа примитивов и есть векторный рисунок.

В наше время очень распространена трехмерная графика (3D). На базе трехмерных векторных редакторов строятся сложнейшие сцены. Эту область, несомненно, нельзя заменить ни чем другим. Как бы талантливы и усидчивы вы не были, нарисовать кистью растрового редактора изображение трехмерного объекта невозможно. Есть немало людей, которые пытаются это опровергать, но это не тема для разговора. Просто нужно ценить и понимать, что разные технологии компьютерной графики специализированы в разных направлениях и безвкусно смешивать их, или заменять одну другой - глупое упрямство. А вот грамотно комбинировать их можно и нужно. В эпоху современных технологий широко используются возможности компьютерной графики. Это знаменитые кинофильмы (часто отмеченные премией "Оскар"), диснеевские мультфильмы, компьютерные игры и многое другое. Кроме того, компьютерная графика положительно зарекомендовала себя на страницах различных газет и журналов. В настоящее время невозможно представить себе полиграфию без компьютерной графики. Само формирование компьютерных объектов, регулировка цветового баланса, создание любых цветовых и объемных эффектов делают изображение ярким и неповторимым.

Сцена 3D-моделей строится на пакетах трехмерного моделирования и в последующем может визуализироваться с любых точек просмотра в 2D-изображение. При этом есть возможность любых изменений освещения, форм объектов, перспективных деформаций, регулировки параметров материалов и атмосферных эффектов компьютерной трехмерной сцены.

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

§4. Применение векторной графики

Успехи компьютерных технологий достигнутые в последние годы. Не оставляют места сомнениям при выборе способов получения, хранения и переработки данных о сложных комплексных трехмерных объектах, таких, например, как памятники архитектуры и археологии, объекты спелеологии и т.д. Несомненно, что применение компьютеризации для этих целей - дело не далекого будущего, а уже настоящего времени. Последнее конечно, в большой мере зависит от количества денежных средств, вкладываемых с этой целью. Системы CAD/CAM используются сегодня в различных областях инженерной конструкторской деятельности от проектирования микросхем до создания самолетов. Ведущие инженерные и производственные компании, такие как Boeing, в конечном счете, двигаются к полностью цифровому представлению конструкции самолетов.

Архитектура является другой важной областью применения для CAD/CAM и совсем недавно созданных систем класса walkthrough (прогулки вокруг проектируемого объекта с целью его изучения и оценки). Такие фирмы, как McDonald's, уже с 1987 года используют машинную графику для архитектурного дизайна, размещения посадочных мест, планирования помещений и проектирования кухонного оборудования. Есть ряд эффектных применений векторной графики в области проектирования стадионов и дизайна спортивного инвентаря, новый парк в Балтиморе (Baltimore Orioles' Camden Yards Park).

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

Научные лаборатории продолжают генерировать новые идеи в области визуализации. Задача сообщества компьютерной графики состоит в создании удобных инструментов и эффективных технологий, позволяющих пользователям продолжать научные изыскания за границей возможного и безопасного эксперимента. Например, проект виртуального туннеля NASA Ames Research Center переносит аэродинамические данные в мир виртуальной реальности, интерес к которой значительно вырос в девяностые годы. NASA Ames было одним из пионеров в использовании и развитии технологий погружения людей в мнимую реальность. Специалисты NASA занимались разработкой специальных шлемов и дисплеев, трехмерных аудиоустройств, уникальных устройств ввода для оператора и созданием соответствующего программного обеспечения. Возник ряд компаний, занимающихся виртуальной реальностью, например: Fakespace, Cristal River Engineering и Telepresence Research.

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

Согласно проведенным мною исследованиям, вплоть до начала девяностых годов доходы от использования векторной графики в научно-инженерных приложениях были значительно выше, чем доходы в области бизнеса и других областях, непосредственно не связанных с наукой. Однако в 1991 году доходы были поделены в равной степени, а баланс теперь устойчиво сдвигается в сторону нетехнических приложений. Я считаю, что к 1998 году около двух третей всех доходов от компьютерной графики поступит именно из нетехнических областей применения. Некоторые из этих применений получили настолько широкое распространение, что возникли споры, насколько они действительно являются машинной графикой. Например, мультимедиа воспринимают отдельно от машинной графики, что, однако, не так, вследствие явного доминирования графических изображений.

"Классическая" векторная графика до сих пор используется в различных приложениях бизнеса, включая разработку концепции, тестирование и создание новых продуктов, но бизнес также стал лидирующим потребителем систем мультимедиа, например, в обучении или маркетинговых презентациях. Графика все шире проникает в бизнес - сегодня фактически нет документов, созданных без использования какого-либо графического элемента. Соответствующее программное обеспечение специально разработано, чтобы позволить пользователям сконцентрироваться больше на содержании, а не на графическом исполнении.

Грядет всплеск использования графики в анимации, особенно в области индустрии развлечений. Кинофильм Стивена Спилберга "Парк Юрского периода" установил в 1993 году новый стандарт фотореализма в графике. Этот фильм не единичный случай применения 3D графики в кино, и Голливуд расширяет сферу использования специальных эффектов машинной графики, только в 1994 году выпустив несколько высокохудожественных фильмов: "The Lion King", "The Mask", "True Lies" и "Forrest Gump".

Виртуальная реальность находит свою нишу в индустрии развлечений и видеоиграх. Число виртуальных галерей и развлекательных парков быстро растет. По моим оценкам 30% (то есть 144 млрд. долл) всего дохода от использования систем виртуальной реальности было получено в прошлом году именно от разного рода игр, и доходы от этих применений будут расти.

Лаборатория Media Lab МТИ является уникальным исследовательским центром разработки совершенных систем взаимодействия "человек-компьютер". Например, система News в проекте Future использует последние достижения в области графики, реконструкции звука и изображений, а также моделировании различных объектов для представления новых результатов исследований и их презентации в виде соответствующих текстов, графики, аудио и видео.

Заключение

Все области применения - будь то инженерная и научная, бизнес и искусство/развлечения - являются сферой применения векторной графики. Возрастающий потенциал ПК и их громадное число - порядка 100 миллионов - обеспечивает соблазнительную базу для капиталовложений и роста. И ожидается устойчивый рост индустрии в данной сфере к концу этого десятилетия, особенно если учесть, что в начале этого десятилетия ежегодный рост составлял около 12%. Неизвестно как долго продлиться тенденция удвоения капиталовложений, особенно под воздействием цен, однако я ожидаю устойчивое 10% ежегодное повышение в последующие 5 лет. Конечно, компании продолжают формироваться, хотя инвесторы сейчас, кажется, больше предпочитают вкладывать деньги в программное обеспечение, в т. ч. редакторы векторной графики. Сегодня особенно привлекательны для инвесторов компании, специализирующиеся на графических интерфейсах пользователя, объектно-ориентированных программах, виртуальной реальности и программном обеспечении параллельных процессов.

По увеличению числа графических терминалов от 100 в 1964 году до 50.000 в 1977 году, а сейчас, в 1994 году, я констатирую, что 3 млн. рабочих станций и 60 млн. ПК используются только в США. Машинная графика имеет сегодня промышленную базу, оцениваемую в 36 млрд. долл., которая обеспечивает работой около 300 тысяч специалистов. Она продолжает лидировать в вопросах обеспечения нашего взаимодействия с компьютерами и организации доступа к информации. Мы вступаем в новую эпоху расширения полномочий графических систем при движении по информационной супермагистрали.

Фрактальная графика

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

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

§1. Понятие "фрактал"

Понятия фрактал и фрактальная геометрия, появившиеся в конце 70-х, с середины 80-х прочно вошли в обиход математиков и программистов. Слово фрактал образовано от латинского fractus и в переводе означает состоящий из фрагментов. Оно было предложено Бенуа Мандельбротом в 1975 году для обозначения нерегулярных, но самоподобных структур, которыми он занимался. Рождение фрактальной геометрии принято связывать с выходом в 1977 году книги Мандельброта "The Fractal Geometry of Nature". В его работах использованы научные результаты других ученых, работавших в период 1875-1925 годов в той же области (Пуанкаре, Фату, Жюлиа, Кантор, Хаусдорф). Но только в наше время удалось объединить их работы в единую систему.

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

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

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

§2. Применение фракталов

Компьютерные системы.

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

Механика жидкостей.

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

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

При помощи фракталов также можно смоделировать языки пламени.

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

Телекоммуникации.

Для передачи данных на расстояния используются антенны, имеющие фрактальные формы, что сильно уменьшает их размеры и вес.

Физика поверхностей.

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

Медицина.

1. Биосенсорные взаимодействия

2. Биения сердца

Биология.

Моделирование хаотических процессов, в частности при описании моделей популяций.

§3. Интеграция детерминированных фракталов и хаос

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

Теперь давайте посмотрим, как это в действительности происходит. Используя фрактал, называемый Деревом Пифагора, не рассматриваемого здесь (который, кстати, не изобретен Пифагором и никак не связан с теоремой Пифагора) и Броуновского движения (которое хаотично), давайте попытаемся сделать имитацию реального дерева. Упорядочение листьев и веток на дереве довольно сложно и случайно и, вероятно не является чем-то достаточно простым, что может эмулировать короткая программа из 12 строк.

Для начала нужно сгенерировать Дерево Пифагора (Рисунок 4). Результат напоминает те старые детсадовские рисунки. Так, что давайте сделаем ствол толще. На этой стадии Броуновское движение не используется. Вместо этого, каждый отрезок линии теперь стал линией симметрии прямоугольника, который становится стволом, и веток снаружи.

Рисунок 4. Дерево Пифагора

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

Рисунок 5.

Теперь можно использовать Броуновское движение для создания некоторой случайной беспорядочности, которая изменяет числа, округляя их до двух разрядов. В оригинале были использованы 39 разрядные десятичные числа. Результат (слева) не выглядит как дерево. Вместо этого, он выглядит как хитроумный рыболовный крючок!

Рисунок 6.

Может быть, округление до 2 разрядов было слишком уж много? Снова применяем Броуновское движение, округленное на этот раз до 7 разрядов. Результат по-прежнему выглядит как рыболовный крючок, но на этот раз в форме логарифмической спирали!

Рисунок 7.

Так как левая сторона (содержащая все нечетные числа) не производит эффект крючка, случайные беспорядочности, произведенные Броуновским движением применяются дважды ко всем числам с левой стороны и только один раз к числам справа. Может быть этого будет достаточно чтобы исключить или уменьшить эффект логарифмической спирали. Итак, числа округляются до 24 разрядов. На этот раз, результат - приятно выглядящая компьютеризированная хаотическая эмуляция реального дерева.

Рисунок 8.

§4. Виды фракталов

§4.1 Решётка Серпинского

Это один из фракталов, с которыми экспериментировал Мандельброт, когда разрабатывал концепции фрактальных размерностей и итераций. Треугольники, сформированные соединением средних точек большего треугольника вырезаны из главного треугольника, образовывая треугольник, с большим количеством дырочек. В этом случае инициатор - большой треугольник а шаблон - операция вырезания треугольников, подобных большему. Так же можно получить и трехмерную версию треугольника, используя обыкновенный тетраэдр и вырезая маленькие тетраэдры. Размерность такого фрактала ln3/ln2 = 1.584962501.

Чтобы получить ковер Серпинского, возьмем квадрат, разделим его на девять квадратов, а средний вырежем. То же сделаем и с остальными, меньшими квадратами. В конце концов образуется плоская фрактальная сетка, не имеющая площади, но с бесконечными связями. В своей пространственной форме, губка Серпинского преобразуется в систему сквозных форм, в которой каждый сквозной элемент постоянно заменяется себе подобным. Эта структура очень похожа на разрез костной ткани. Когда-нибудь такие повторяющиеся структуры станут элементом строительных конструкций. Их статика и динамика, считает Мандельброт, заслуживает пристального изучения.

Рисунок 9. Решётка Серпинского.

Рисунок 10. Губка Серпинского.

§4.2 Треугольник Серпинского.

Не перепутайте этот фрактал с решеткой Серпинского. Это два абсолютно разных объекта. В этом фрактале, инициатор и генератор одинаковы. При каждой итерации, добавляется уменьшенная копия инициатора к каждому углу генератора и так далее. Если при создании этого фрактала произвести бесконечное число итераций, он бы занял всю плоскость, не оставив ни одной дырочки. Поэтому его фрактальная размерность ln9/ln3 = 2.0.

Рисунок 11. Треугольник Серпинского.

§4.3 Кривая Коха

Кривая Коха один из самых типичных детерминированных фракталов. Она была изобретена в девятнадцатом веке немецким математиком по имени Хельге фон Кох, который, изучая работы Георга Контора и Карла Вейерштрассе, натолкнулся на описания некоторых странных кривых с необычным поведением. Инициатор - прямая линия. Генератор - равносторонний треугольник, стороны которого равны трети длины большего отрезка. Эти треугольники добавляются к середине каждого сегмента снова и снова. В своем исследовании, Мандельброт много экспериментировал с кривыми Коха, и получил фигуры, такие как Острова Коха, Кресты Коха, Снежинки Коха и даже трехмерные представления кривой Коха, используя тетраэдр и прибавляя меньшие по размерам тетраэдры к каждой его грани. Кривая Коха имеет размерность ln4/ln3 = 1.261859507.

Рисунок 12. Кривая Коха.

§4.4 Фрактал Мандельброта

Это НЕ множество Мандельброта, которое можно достаточно часто видеть. Множество Мандельброта основано на нелинейных уравнениях и является комплексным фракталом. Это тоже вариант кривой Коха, несмотря на то, что этот объект не похож на нее. Инициатор и генератор так же отличны от использованных для создания фракталов, основанных на принципе кривой Коха, но идея остается той же. Вместо того, чтобы присоединять равносторонние треугольники к отрезку кривой, квадраты присоединяются к квадрату. Благодаря тому, что этот фрактал занимает точно половину отведенного пространства при каждой итерации, он имеет простую фрактальную размерность 3/2 = 1.5

Рисунок 13. Фрактал Мандельброта.

§4.5 Кривая Дракона

Изобретенная итальянским математиком Джузеппе Пеано, Кривая Дракона или Взмах Дракона, как он назвал его, очень похож на колбасу Минковского. Использован более простой инициатор, а генератор тот же самый. Мандельброт назвал этот фрактал Река Двойного Дракона. Его фрактальная размерность приблизительно равна 1.5236.

Рисунок 14. Дракон Джузеппе Пеано.

§4.6 Множество Мандельброта

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

Zn+1=Zna+C,

где Z и C - комплексные числа и а - положительное число.

Множество Мандельброта, которое чаще всего можно увидеть - это множество Мандельброта 2й степени, то есть а=2. Тот факт, что множество Мандельброта не только Zn+1=ZnІ+C, а фрактал, показатель в формуле которого может быть любым положительным числом ввел в заблуждение многих. На этой странице вы видите пример множества Мандельброта для различных значений показателя а.

Также популярен процесс Z=Z*tg (Z+C). Благодаря включению функции тангенса, получается множество Мандельброта, окруженное областью, напоминающей яблоко. При использовании функции косинуса, получаются эффекты воздушных пузырьков. Короче говоря, существует бесконечное количество способов настройки множества Мандельброта для получения различных красивых картинок.

Рисунок 15. Множество Мандельброта.

Рисунок 16. Множество Мандельброта при а=3,5.

§4.7 Множество Жюлиа

Удивительно, но множества Жюлиа образуются по той же самой формуле, что и множество Мандельброта. Множество Жюлиа было изобретено французским математиком Гастоном Жюлиа, по имени которого и было названо множество. Первый вопрос, возникающий после визуального знакомства с множествами Мандельброта и Жюлиа это “если оба фрактала сгенерированы по одной формуле, почему они такие разные? ” Сначала посмотрите на картинки множества Жюлиа. Достаточно странно, но существуют разные типы множеств Жюлиа. При рисовании фрактала с использованием различных начальных точек (чтобы начать процесс итераций), генерируются различные изображения. Это применимо только ко множеству Жюлиа.

Хотя это нельзя увидеть на картинке, фрактал Мандельброта - это, на самом деле, множество фракталов Жюлиа, соединенных вместе. Каждая точка (или координата) множества Мандельброта соответствует фракталу Жюлиа. Множества Жюлиа можно сгенерировать используя эти точки в качестве начальных значений в уравнении Z=ZІ+C. Но это не значит, что если выбрать точку на фрактале Мандельброта и увеличить ее, можно получить фрактал Жюлиа. Эти две точки идентичны, но только в математическом смысле. Если взять эту точку и просчитать ее по данной формуле, можно получить фрактал Жюлиа, соответствующий определенной точке фрактала Мандельброта.

Рисунок 17. Множество Жюлиа.

§4.8 Дерево Фейгенбаума

Логистическое уравнение - это формула, над которой, в основном, работал Митчелл Фейгенбаум при создании своей теории о фракталах. Эта формула должна описывать динамику развития популяции:

f (x) = (1 - x) rx

Простейшая модель - это пропорциональное соотношение численности с прошлым годом. Допустим в прошлом году у нас было x животных. В этом году их должно быть rx животных. Но это не выполняется в реальных условиях. Лучшее соответствие с реальностью получится если добавить фактор, зависящий от того какой потенциал существует у популяции для дальнейшего развития, и пусть x - коэффициент полноты, который меняется от 0 до 1. Потом добавляется фактор 1 - x, так что территория почти полностью заполнена, популяция не возрастет выше верхнего предела.

Расширяя логистическое выражение, получаем:

f (x) = аx - ах2

Формула, использующаяся в программе LT Bifurcator для объяснения сущности фрактала Фейгенбаума - (1 + r) x - rx2 не сильно отличается от формулы, приведенной выше. В принципе, для изучения теории можно было использовать любую формулу, например самую простую из формул данного вида - xІ - r. Единственными различиями являются различия в координатах окон на картинке и несколько измененный внешний вид изображения.

Рисунок 18. Дерево Фейгенбаума.

§4.9 Дерево Фейгенбаума и Множество Мандельброта

Если вы когда-либо видели формулу множества Мандельброта z=z2 + x, вы могли бы заметить схожесть между этой формулой и самой простой из формул для построения дерева Фейгенбаума x2 - r. И это действительно так. Сходство существует. Но фейгенбаумово дерево растет в другую сторону. Измените формулу Фейгенбаума на x2 + r и вы увидите сходство. Что касается множества Мандельброта, вам нужно смотреть вдоль горизонтальной оси, так как это единственная позиция в которой комплексная часть числа Мандельброта равна нулю. Вы увидите, что основное тело фигуры Мандельброта находится там, где функция в дереве Фейгенбаума принимает лишь одно значение. Когда происходит первое разделение линии (бифуркация) появляется новое тело на фигуре Мандельброта и т.д. Обратите также внимание на то, что когда в дереве открывается главное окно, на фигуре Мандельброта появляется дочернее тело.

Рисунок 19. Дерево Фейгенбаума и Множество Мандельброта.

Заключение

Фрактальная графика - это не просто множество самоповторяющихся изображений, это модель структуры и принципа любого сущего. Вся наша жизнь представлена фракталами. Не только визуальными, но ещё и структура этого изображения отражает нашу жизнь. Взять, к примеру, ДНК, это всего лишь основа, одна итерация, а при повторении… появляется человек! И таких примеров много. Нельзя не отметить широкое применение фракталов в компьютерных играх, где рельефы местности зачастую являются фрактальными изображениями на основе трёхмерных моделей комплексных множеств и броуновского движения. Фрактальная графика необходима везде, и развитие "фрактальных технологий" - это одна из немаловажных задач на сегодняшний день.

3D графика

Условно компьютерную графику можно разделить на две категории. Первая - это имитация естественных способов рисования, например “холст, масло", самая известная программа - Fractal Design Painter. Вторая категория - это программы моделирования, в которых художник уже не контролирует каждый элемент изображения, лишь определяет композицию и общие законы построения рисунка. О последних и пойдет разговор. Как известно, существуют программы, которые по одному лишь числу могут выдать завораживающую абстрактную картину, однако здесь от художника ничего не зависит. Совсем другое дело - генераторы ландшафтов (landscape generators). На основании сложных математических процедур они позволяют моделировать реальный мир. В отличие от большинства пакетов трехмерной графики, генераторы ландшафтов оперируют понятиями близкими к геодезии и метеорологии. Облака, положение солнца, поверхность суши или гладь моря - вот составляющие, благодаря которым строятся картины с помощью пакетов такого рода. Пользователь контролирует только время суток, рельеф местности или направление ветра, а программа сама воспроизводит обстановку, которая бы сложилась в реальном мире при данных погодных условиях. Базисом для таких пакетов являются фракталы, описанные ученым из исследовательского центра IBM Бенуа Мандельбротом.

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

Один из простейших алгоритмов был разработан довольно давно подразделением Lucas Films - Industrial Light & Magic, фирма делала спецэффекты во многих современных фильмах. Но это современные разработки, фрактальные же технологии стали использоваться на заре компьютерной графики. Почему именно фракталы “пришлись ко двору" при генерации ландшафтов, демонстрирует удивительно простой пример построения горы при помощи разбиения базового треугольника на элементы и их случайного смещения.

Любому человеку, хоть раз пытавшемуся изобразить на листе бумаги нечто в трех измерениях, известно, что искомый эффект получается путем соответствующих проекций характерных линий объекта на плоскость и использованием плавных цветопереходов (тени). В данном отношении черный экран монитора ничем не отличается от белого листа бумаги. Единственная сложность состоит в том, что нереальный герой должен иметь несколько более сложные очертания, чем куб, и быстро перемещаться по экрану, желательно интенсивно размахивая несколькими конечностями. Причем большинству монстров присущ инстинкт коллективизма, - стадами любят ходить. С этой, как оказалось, достаточно нетривиальной задачей справляются следующим образом. Собственно 3D (D от Dimension - “измерение”) объекта непростой формы получают путем создания его полигональной модели. В ней поверхность подопытного разбивается на многоугольники (Poligons), путем сопряжения которых и вырисовывается каркас объекта, от тираннозавра до хлопка взрыва. Вообще говоря, “многоугольник ” - это слишком громко сказано. В подавляющем большинстве случаев за основу берут всего лишь треугольники (достигается максимально возможная стандартизация обработки разнообразных каркасов).

За создание каркаса отвечает центральный процессор: он вычисляет вершины треугольников, а затем соединяет их прямыми отрезками. Расчет производится от точки зрения наблюдателя, которая не всегда совпадает с центром экрана. От размера стороны треугольника зависит и точность, реалистичность прорисовки элемента сцены. Перемещение любого объекта осуществляется путем переопределения координат вершин. Эта операция требует огромных вычислительных ресурсов процессора: чем более реальное пытаемся получить изображение, тем больше точек приходится рассчитывать. Все таки расчеты выполняются над действительными числами с плавающей точкой в специальном блоке процессора - F PU (Floating Point Unit). Именно от производительности этого блока в основном зависит скорость прорисовки объекта.

Фирмы-разработчики процессоров именно в этой области особо рекламируют достоинств, а своих детищ. Сегодня реально существует лишь одна технология, разработанная с предельным вниманием к проблеме вычислений для 3D - 30 now! от AMD. Intel пока только усиленно анонсирует процессор с подобной технологией - Katmai. Однако процессоры Pentium изначально превосходил и своих конкурентов в области “плавающих” вычислений, что позволяет им прекрасно справляться со всеми расчетами.

§1. Текстуры

Однако “проволочные” герои в “проволочной” обстановке создают некоторые неудобства. Для достижения спецэффектов первоначальный каркас покрывается особыми рисунками текстурами. Сама процедура нанесения называется Texture Mopping. Вообще говоря, с этой операцией справился бы и процессор, но ему пришлось бы работать весьма долго. Во-первых, хорошие текстуры занимают достаточно много места в памяти, а во-вторых, собственно их нанесение связано с большими объемами специфических вычислений. Для ускорения этой процедуры созданы специальные 3D-ускорители (акселераторы), которые могут хранить текстуры в своей собственной памяти, а все вычисления реализуются особой микросхемой. Собственно на уровне текстур и начинается самое интересное в трехмерной графике: к текстурам применяются различные эффекты для увеличения степени реалистичности изображения.

§2. Эффекты

Наверное, одним из самых важных эффектов является возможность реакции объекта на источники света (с учетом точки расположения наблюдателя). За освещенность отвечают сразу несколько эффектов, имеющих собственные названия.

Расчет тени Shading возможен как применительно к площади, так и для каждой вершины отдельно. Последний вариант, естественно, при больших затратах ресурсов дает лучшие результаты. Собственно “тень" получается путем изменения яркости цвета. При повершенном ее расчете цветопереходы будут более плавными.

Однако поверхности в реальной жизни не только поглощают свет, создавая тени, но и отражают его, блестят. В 3D аналогичного результата достигают при помощи эффекта Environment Mapping. Перемещение затененных и блестящих участков по поверхности объекта позволяет создать более реалистичное изображение движения. Поскольку определенный “блеск” может соответствовать каждой текстуре, то комбинирование таких текстур создаст еще более впечатляющие эффекты.

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

За влияние источников света отвечают эффекты Lens Flaring и Lens Reflection. Последний позволяет реалистично показать ветровое стекло автомобиля или иллюминаторы Вашего транспортного средства. А обозначение таких стекол жизненно важно для того, чтобы как можно явственнее ощутить попадание в стекло камня или пули, ослепление солнечным светом на крутом вираже.

Следующими по важности после Световых следует поставить эффекты коррекции цвета.

Эффект Antialising производит сглаживание “лестницы" при попиксельно представлении линий за счет вычисления среднего значения цвета между цветами линии и фона. Это, скорей всего, самый “энергоемкий” эффект.

Билинейная фильтрация (Bilinear filtering) решает аналогичную проблему “лестницы" для текстур. Для подопытного элемента текстуры выбираются соседи, усреднением цвета которых и получают искомый результат. Билинейной же она называется потому, что складываются цвета четырех соседей. Однако возможно обобщение и для восьми элементов (трилинейная), фильтрация может, как увеличить качество изображения, так и сделать его размытым. Трилинейная фильтрация часто используется при коррекции изображения перспективы (коррекция как таковая тоже может выступать самостоятельным эффектом).

В следующую группу можно выделить атмосферные эффекты и эффекты прозрачности.

Fogging (depth cueing) - “туман (дымка) ” моделирует, как видно из названия, туман, дымку, сумерки. Очень важен для реалистичного отображения сцен, происходящих на открытых пространствах, на “свежем" воздухе, также часто используется для уменьшения объемов вычислений путем ограничения видимости: удаленные в дымку объекты можно прорисовывать с меньшей тщательностью.

За прозрачность отвечают два эффекта - Alpha Blending и Color Keying. Последний определяет частичную прозрачность текс туры. Обычно применяется для изображения разнообразных зеленых насаждении. За редкими кустами враг не с прячется от прицельного огня, а бить по площадям через непрозрачные пальмы - бессмысленная трата боеприпасов. При использовании Alpha Blending каждой точке текстуры ставится в соответствие дополнительное значение, определяющее прозрачность пикселя. Чаще всего это 8 бит. В основном этот эффект применяется для изображения стекла, огня, воды - как текучей (рек а), так и “летучей” (дождь). В последнее время больше значения придается именно прозрачности тех элементов сцены, которые прозрачны по своей природе.

Большая группа эффектов призвана значительно снизить затраты, привнесенные предыдущими.

С палитра ми работают эффекты Dithering (сжатие палитры) и Palletized texture support. Первый позволяет уменьшить глубину цвета для удаленных объектов. При приближении данной текстуры все параметры цветности восстанавливаются. Второй эффект заключается в индексировании цветов палитры, используемых в текстуре. Как правило, количество необходимых цветов относительно невелико. Индексация позволяет хранить больше текстур в памяти видеоакселеротора.


Подобные документы

  • Достоинства и недостатки векторной графики, ее применение и основной принцип построения графических объектов. Объектно-ориентированный подход к пакетам векторной или иллюстративной графики. Основные программы, редакторы и форматы векторной графики.

    курсовая работа [129,0 K], добавлен 30.05.2015

  • Суть принципа точечной графики. Изображения в растровой графике, ее достоинства. Обзор наиболее известных редакторов векторной графики. Средства для работы с текстом. Программы фрактальной графики. Форматы графических файлов. Трехмерная графика (3D).

    дипломная работа [764,7 K], добавлен 16.07.2011

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

    контрольная работа [343,5 K], добавлен 11.11.2010

  • Редакторы для растровой графики. Программы для работы с векторной графикой. Возможности фракталов в художественной графике, при описании свойств сложных природных объектов (турбулентных потоков), финансовом анализе и в других прикладных дисциплинах.

    лекция [785,4 K], добавлен 28.08.2013

  • Основные виды компьютерной графики. Достоинства и недостатки векторной графики. Сущность понятия "коэффициент прямоугольности пикселей". Математическая основа фрактальной графики. Сущность понятий "фрактал", "фрактальная геометрия", "фрактальная графика".

    контрольная работа [20,6 K], добавлен 13.07.2010

  • Виды компьютерной графики: растровая, векторная, фрактальная и трёхмерная. Основные понятия компьютерной графики. Кодирование аудиоинформации, основные аудио форматы. Смешение сигналов и видео форматы. Разработка программы построения фракталов.

    дипломная работа [1,2 M], добавлен 14.01.2015

  • Сферы применения машинной графики. Использование растровой, векторной и фрактальной графики. Цветовое разрешение и модели. Создание, просмотр и обработка информации. Форматы графических файлов. Программы просмотра. Компьютерное моделирование и игра.

    презентация [661,5 K], добавлен 24.03.2017

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

    презентация [521,5 K], добавлен 16.01.2012

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

    презентация [549,3 K], добавлен 14.05.2014

  • Понятие фрактала и фрактальной геометрии. Роль фракталов в машинной графике, самоподобие как основное свойство. Области применения фракталов. Учение о сложных нелинейных динамических системах (теория хаоса). Интеграция детерминированных фракталов и хаос.

    курсовая работа [1,0 M], добавлен 20.08.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.