46694 (Автоматизированное редактирование частиц в компьютерной графике)

2016-07-29СтудИзба

Описание файла

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

Онлайн просмотр документа "46694"

Текст из документа "46694"

Введение

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

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

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

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

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

Разработанное в рамках данной работы программное средство “Easy Particles” является несложным вариантом редактора частиц, позволяющее оперировать рядом физических сил при программировании эффектов частиц. К основным его достоинствам можно отнести:

- данное программное средство является полностью бесплатным, на него не нужно покупать коммерческую лицензию;

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

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

- использование графического конвейера OpenGL позволило максимально ускорить процесс расчётов, так что вывод графики в режиме реального времени возможен при очень больших количествах полигонов;

- низкие требования, стабильность и простота настройки и работы;

- удобный графический пользовательский интерфейс;

В данной пояснительной записке представлено подробное описание разработанного редактора частиц.

Отчёт состоит из шести разделов.

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

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

В разделе “Тестирование” проводится анализ надёжности программы, примеры тестовых результатов, реакция программы на исключительные ситуации, анализ полученных результатов.

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

В разделах “Оптимизация зрительного взаимодействия оператора со средствами отображения информации па основе ЭЛТ”, “Обоснование экономической целесообразности разработки ПС “Easy Particles” ” представлены сведения, заданные для каждого раздела соответственно.

1. Постановка задачи

1.1 Требования к разрабатываемому программному средству

Разрабатываемое программное средство должно осуществлять следующие основные функции:

- управление динамическим набором эмиттеров (систем частиц);

- управление частицами каждого эмиттера;

- управление общими параметрами рисования;

- ввод и вывод данных на внешние носители;

- вывод справочных данных о разработчике, способах использования программного средства;

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

Входными данными приложения являются параметры эмиттеров, задаваемые пользователем, параметры режима рисования.

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

1.2 Обоснование актуальности темы ДП

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

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

1.3 Обзор существующих решений

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

a) ParticleIllusion;

б) Trapcode Particular;

в) Magic Particles;

Продукт компании Wondertouch [10] ParticleIllusion на сегодняшний день является, пожалуй, наиболее всеохватывающим средством создания эффектов частиц. Изначально включает довольно большую библиотеку бесплатных эффектов, обновляемую каждый месяц. Обладает высокой расширяемостью (подключение дополнительных эмиттеров, к примеру).

Trapcode Particular – встраиваемый (необязательный) модуль для пакета программ Adobe After Effects, предназначенный для редактирования частиц, разработанный компанией Trapcode [11]. Немного менее широкий по возможностям, нежели ParticleIllusion, к тому же требующий для работы предустановленного Adobe After Effects.

Magic Particles – российский генератор частиц компании Астралакс [12]. Позволяет быстро и наглядно создавать визуальные спецэффекты на основе систем частиц. Основное достоинство Magic Particles – мгновенное отображение всех изменений без длительного процесса визуализации. Хотя то же можно сказать и о ParticleIllusion. Аналогично, в состав Magic Particles входит около сотни готовых образцов, которые можно использовать как есть или изменять по своим потребностям. Хотя по многим аспектам функциональности данный продукт уступает ParticleIllusion, к нему постоянно выходят обновления с исправлениями и дополнениями.

Все, за исключением последнего, перечисленные редакторы частиц распространяются платно.

1.4 Цели и задачи проекта

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

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

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

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

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

1.5 Описание программно-алгоритмического обеспечения решения поставленной задачи

1.5.1 Среда для проектирования и разработки программных продуктов Microsoft Visual Studio 2005

Microsoft Visual Studio — линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. В их число входят редакторы и компиляторы языков Visual Basic.NET, Visual C++, Visual C# и некоторые другие. Также, что весьма важно, Visual Studio предлагает подробную информацию о библиотеках и языках, включённых в пакет, в MSDN – информационной библиотеке по продуктам Microsoft, с возможностью получения недостающей информации из Интернета. Любой программист, создающий приложения для Windows, весьма быстро убеждается в абсолютной необходимости данного средства при разработке. Также нужно отметить, что Microsoft Visual Studio построена в архитектуре, поддерживающей возможность использования дополнений от сторонних разработчиков, что позволяет расширять возможности среды разработки. Более подробную информацию о данном пакете можно получить на официальном сайте производителя [13] и в Интернете.

Среда разработки MS Visual Studio 2005 была выбрана мною, так как создаваемое программное средство ориентировано для использования в ОС Windows. В ходе кодирования приложения, его тестирования и отладки и даже проектирования были использованы различные компоненты среды: компилятор C++, сборщик объектных C++ файлов, отладчик, средства обратного проектирования, позволяющие создавать диаграммы классов для проекта по исходному коду его компилируемых единиц, на основе средства MS Visio 2003.

1.5.2 Язык программирования C++

C++ — компилируемый строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную; наибольшее внимание уделено поддержке объектно-ориентированного программирования. В 1990-х годах язык стал одним из наиболее широко применяемых языков программирования общего назначения. Более полную информацию можно получить, например, прочитав книгу создателя языка Бьёрна Страуструпа [1].

Язык С++ был выбран мною по причине его высочайшей гибкости и, конечно же, высокой проработанности парадигмы объектно-ориентированного программирования. С применением именно этой парадигмы осуществлена реализация приложения. Приложение полностью построено на объектах C++ классов (в качестве исключения имеется несколько используемых C-функций), при этом широко используются концепции наследования, инкапсуляции и полиморфизма, mutable-члены данных, шаблонные классы и функции. Достаточно широко применяются шаблоны контейнеров из стандартной библиотеки шаблонов (STL), входящей в библиотеку C++. В то же время, ввиду достаточно высокой проработанности используемых в качестве базовых для приложения библиотек среды wxWidgets, отпала необходимость в создании сложных разветвлённых структур отношений родитель-потомок (наследования) на уровне кода разрабатываемого приложения. В основном, наследование свелось к созданию потомков для достаточно большого упорядоченного множества используемых стандартных компонентов wxWidgets.

1.5.3 wxWidgets

wxWidgets представляет собой набор библиотек для создания легко переносимых приложений для платформ Win32, Mac OS X, GTK+ и других (X11, Motif, WinCE). Он предоставляет в распоряжение разработчика единый, простой в использовании API. wxWidgets можно использовать с С++, Python, Perl, C#. В отличие от некоторых других межплатформенных средств разработки, wxWidgets позволяет создавать естественно-выглядящие на любой из перечисленных платформ приложения, так как использует собственные графические элементы платформы, вместо их эмуляции. wxWidgets – хорошо продуманный, бесплатный, расширяемый продукт с открытым исходным кодом, что делает его весьма полезным при разработке приложений. Более подробная информация доступна на официальном сайте [14], а также в прочих источниках Интернета.

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

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее