Графический редактор

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

МИНОБРНАУКИ РОССИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ИЖЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ИМЕНИ М.Т. КАЛАШНИКОВА"

ФАКУЛЬТЕТ «МЕНЕДЖМЕНТ И МАРКЕТИНГ»

КАФЕДРА «ИНФОРМАЦИОННЫЕ СИСТЕМЫ»

«ГРАФИЧЕСКИЙ РЕДАКТОР»

(курсовая работа по дисциплине «Управление данными»)

Утверждаю

зав. кафедрой «ИС»,

д. ф-м.н., профессор М.М. Горохов

Руководитель

д. ф-м.н., профессор М.М. Горохов

Выполнил

студент группы 4−79−1 И.Д. Шушков

ИЖЕВСК — 2012

СОДЕРЖАНИЕ

Введение

1. Основные сведения о графических редакторах

1.1 Растровые графические редакторы

1.2 Векторные графические редакторы

1.3 Форматы файлов для хранения графических изображений

2. Графические редакторы, используемые для создания изображений.

2.1 Программы просмотра графических изображений

2.2 Редакторы растровой графики

2.3 Редакторы векторной графики

2.4 Понятие трёхмерной графики. Редакторы для создания трехмерных изображений

2.5 Понятие о цветовом пространстве. Основные цветовые модели (RGB, CMYK)

3. Создание графического редактора

3.1 Описание проектного решения

3.2 Программная реализация

3.3 Руководство пользователя

Заключение

Список литературы

ВВЕДЕНИЕ

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

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

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

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

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

Графический редактор — программа (или пакет программ), позволяющая создавать и редактировать двумерные изображения с помощью компьютера

Актуальность курсовой работы на тему «Графический редактор» обусловлена тем, что любой школьник, студент и преподаватель в настоящее время должен владеть компьютерными технологиями на высоком уровне.

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

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

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

Задачами курсовой работы выделяется:

1) освоение полного спектра функциональных возможностей графических редакторов различных видов;

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

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

1. ОБЩИЕ СВЕДЕНИЯ О ГРАФИЧЕСКИХ РЕДАКТОРАХ

1.1 РАСТРОВЫЕ ГРАФИЧЕСКИЕ РЕДАКТОРЫ

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

Что бы охарактеризовать растровые графические редакторы, можно сравнить их с обычным рисованием, то есть с рисованием карандашом на обычной бумаге. Основное отличие между рисунками на бумаге и на экране монитора состоит в том, что на мониторе любое изображение дискретно, то есть оно состоит из конечного числа прямоугольных точек, каждая из которых может быть только одного цвета из фиксированной палитры[1]. У рисунка на бумаге такую минимальную единицу, как точка, найти нельзя. На бумаге невозможно нарисовать два совершенно одинаковых рисунка. С помощью растрового редактора можно создать именно такой дискретный рисунок, состоящий из фиксированного числа точек, после чего можно изменять цвет каждой точки по отдельности. Именно поэтому любой редактор такого типа перед созданием рисунка просит указать его точные размеры и иногда палитру цветов. Такие редакторы позволяют строить линии и графические примитивы, заливать области определенным цветом, вбивать текст, рисовать различными инструментами — карандашами, кистями, распылителями. В зависимости от выбранного инструмента строятся линии с различными свойствами — полупрозрачные, с размытыми краями, заполненные текстурой. Всегда есть возможность увеличивать масштаб, для того чтобы можно было работать с отдельными точками. Обычно такие редакторы используют для работы с уже готовыми изображениями — например, для создания коллажей и обработки фотографий.

Растровые графические редакторы позволяют пользователю рисовать и редактировать изображения на экране компьютера, а также сохранять их в различных растровых форматах. Например, JPEG и TIFF, позволяют сохранять растровую графику с незначительным снижением качества за счёт использования алгоритмов сжатия с потерями, PNG и GIF, поддерживают хорошее сжатие без потерь, и BMP, также поддерживает сжатие, но в общем случае представляет собой несжатое «попиксельное» описание изображения.

Растровые графические редакторы имеют как минимум два значительных недостатка:

1) масштабирование. Дело в том, что при масштабировании рисунка его четкость не увеличивается, и пикселей не становится больше. На самом деле они просто растягиваются, из-за чего очень хорошо заметно ухудшение качества рисунка;

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

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

1.2 ВЕКТОРНЫЕ ГРАФИЧЕСКИЕ РЕДАКТОРЫ

графический редактор изображение трехмерный

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

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

Важным объектом векторной графики является сплайн. Сплайн — это кривая, посредством которой описывается та или иная геометрическая фигура[1]. На сплайнах построены современные шрифты TryeType и PostScript.

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

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

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

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

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

Однако, с другой стороны, векторная графика может показаться чрезмерно жесткой, «фанерной». Она действительно ограничена в чисто живописных средствах: в программах векторной графики практически невозможно создавать фотореалистические изображения.

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

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

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

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

Рис. 2. Чертеж в векторном графическом редакторе

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

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

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

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

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

1.3 ФОРМАТЫ ФАЙЛОВ ДЛЯ ХРАНЕНИЯ ГРАФИЧЕСКИХ ИЗОБРАЖЕНИЙ.

Способ кодирования информации с помощью последовательности байт называютформатом. Графический формат -- это способ записи графической информации. Все графические форматы подразделяются на растровые и векторные.

Растровый формат характеризуется тем, что все изображение по вертикали и горизонтали разбивается на достаточно мелкие прямоугольники -- так называемые элементы изображения, или пикселы (от английского pixel -- picture element).

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

Наиболее распространенные графические форматы.

1) PCX — Простейший растровый формат. Первоначально этот формат использовался в программе PaintBrush фирмы Zsoft, однако в последствии получил широкое распространение среди пакетов редактирования растровых изображений, хотя до сих пор не признан в качестве официального стандарта. К сожалению, в процессе своей эволюции PCX претерпел настолько значительные изменения, что современная версия формата, поддерживающая 24-разрядный цветовой режим, не может использоваться старыми программами. С самого «рождения» формат PCX был ориентирован на существующие видеоадаптеры (сначала EGA, потом VGA) и поэтому является аппаратно-зависимым. В PCX используется схема сжатия данных RLE, позволяющая уменьшать размер файла, например, на 40 — 70%, если используется 16 и менее цветов, и на 10 — 30% для 256-цветных изображений;

2) BMP — (Windows Bitmap) разрабатывался фирмой Microsoft как совместимый со всеми приложениями Windows. Для приложений в операционной системе OS/2 имеется собственная версия BMP. В формате BMP можно сохранять черно-белые, серые полутоновые, индексные цветные и цветные изображения системы RGB (но не двухцветные или цветные изображения системы CMYK). Недостаток этих графических форматов: большой объем. Следствие — малая пригодность для Internet-публикаций;

3) GIF — поддерживает до 256 цветов, позволяет задавать один из цветов как прозрачный, дает возможность сохранения с чередованием строк (при просмотре сначала выводится каждая 8-я, затем каждая 4-я и т. д. Это позволяет судить об изображении до его полной загрузки). Способен содержать несколько кадров в одном файле с последующей последовательной демонстрацией (т.н. «анимированный GIF»). Уменьшение размера файла достигается удалением из описания палитры неиспользуемых цветов и построчного сжатия данных (записывается количество точек повторяющегося по горизонтали цвета, а не каждая точка с указанием ее цвета). Такой алгоритм дает лучшие результаты для изображений с протяженными по горизонтали однотонными объектами. Для сжатия файла используется высокоэффективный алгоритм Лемпела — Зива — Велча (LZW);

4) TIFF (target image file format) — был разработан специально для использования в приложениях, связанных с компоновкой страницы и направлен на преодоление трудностей, которые возникают при переносе графических файлов с IBM-совместимых компьютеров на Macintosh и обратно. Он поддерживается всеми основными графическими пакетами и пакетами редактирования изображений и читается на многих платформах. Использует сжатие изображения (LZW). Формат TIFF очень удобен, но за это приходится расплачиваться огромными размерами получаемых файлов (например, файл формата А4 в цветовой модели CMYK с разрешением 300 dpi, обычно применяемым для высококачественной печати, имеет размер около 40 Мбайт). Кроме того, существует несколько «диалектов» формата, которые не каждая программа, поддерживающая TIFF, легко «понимает»;

5) JPEG — миллионы цветов и оттенков, палитра не настраиваемая, предназначен для представления сложных фотоизображений. Разновидность progressive JPEG позволяет сохранять изображения с выводом за указанное количество шагов (от 3 до 5 в Photoshop’e) — сначала с маленьким разрешением (плохим качеством), на следующих этапах первичное изображение перерисовывается все более качественной картинкой. Анимация или прозрачный цвет форматом не поддерживаются. Уменьшение размера файла достигается сложным математическим алгоритмом удаления информации — чем заказываемое качество ниже, тем коэффициент сжатия больше, файл меньше. Главное, подобрать максимальное сжатие при минимальной потере качества. Последний идентифицирует и отбрасывает данные, которые человеческий глаз не в состоянии увидеть (незначительные изменения в цвете не различаются человеком, тогда как улавливается даже малейшая разница в интенсивности, поэтому JPEG меньше подходит для обработки черно-белых полутоновых изображений), что приводит к существенному уменьшению размера файла. Таким образом, в отличие от метода сжатия LZW или RLE в результате применения технологии JPEG данные теряются навсегда. Так, файл, однажды записанный в формате JPEG, а затем переведенный, скажем, в TIFF, уже не будет тем же, что и оригинал. Наиболее подходящий формат для размещения в Интернете полноцветных изображений. Вероятно, до появления мощных алгоритмов сжатия изображения без потери качества останется ведущим форматом для представления фотографий в Web;

6) PNG — пока малораспространен из-за слабой рекламы, создавался специально для Интернета как замена первых двух форматов и благодаря патентной политике Compuserve постепенно вытесняет GIF (см. выше). Позволяет выбирать палитру сохранения — серые полутона, 256 цветов, true color («истинные цвета»). В зависимости от свойств изображения действительно иногда предпочтительнее GIF’a или JPG’a. Позволяет использовать «прозрачный» цвет, но, в отличие от GIF’a таких цветов может быть до 256. В отличие от GIF сжатие без потери качества производится и по горизонтали и по вертикали (алгоритм собственный, параметры тоже не настраиваемые). Не умеет создавать анимированные ролики (разрабатывается формат MNG).

7) PDF (Portable Document Format) — это пример смешанного формата, предназначенного для хранения текста и графики одновременно. В формате PDF сохраняются данные текстовым редактором Adobe Acrobat. Для сжатия графики применяется метод LZW;

8) PSD — формат графического редактора Adobe Photoshop. Обладает очень большими возможностями. Хранит данные о различных палитрах цветов, о прозрачности, имеет возможность хранения послойных изображений. При этом отличается большим размером.

2. ГРАФИЧЕСКИЕ РЕДАКТОРЫ, ИСПОЛЬЗУЕМЫЕ ДЛЯ СОЗДАНИЯ ИЗОБРАЖЕНИЙ

2.1 ПРОГРАММЫ ПРОСМОТРА ГРАФИЧЕСКИХ ИЗОБРЖЕНИЙ

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

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

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

1) прокручивать изображения, находящиеся в папке;

2) увеличивать и уменьшать размер просматриваемого изображения;

3) просматривать изображение в полном размере или в формате, наиболее походящем для размеров окна;

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

5) просматривать в виде демонстрации слайдов все изображения или отобранную группу изображений;

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

7) поворачивать изображения вправо и влево на 90 градусов.

Кроме того, файлы факсов и файлы TIFF можно просматривать и снабжать пометками, используя панель инструментов пометок.

2.2 РЕДАКТОРЫ РАСТРОВОЙ ГРАФИКИ

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

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

Пакет предлагает, например, средства для восстановления поврежденных изображений, ретуширования фотографий или создания самых фантастических коллажей, которые только может позволить себе наше воображение. В общем, потенциал этого пакета поистене огромен. Начиная с версии 5.5 в пакет включена программа Adobe ImageReady, предоставляющие огромные возможности по обработке графики под WEB (оптимизация изображений, создание анимированных gif, «разрезание» картинок на более мелкие и т. д.). Девиз разработчиков Adobe Photoshop — «Camera of your mind» — предполагает не только техническоУе совершенство, но и полную свободу творчества, на которую человек, работающий с этой программой, просто обречен.

PhotoPaint — еще один не менее известный графический редактор (из пакета Corel Draw) для обработки растровой графики, конкурирующий с Adobe Photoshop. Здесь также имеются все необходимые инструменты для обработки графики, разнообразные фильтры, текстуры. Разница лишь в удобстве работы, интерфейсе и скорости наложения фильтров — наложение происходит немного медленнее.

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

Существует еще ряд редакторов (Microsoft Photo Editor, Microsoft Photo DRAW), также позволяющих реализовать простейшие задачи, но не удовлетворяющих запросам профессионалов.

2.3 РЕДАКТОРЫ ВЕКТОРНОЙ ГРАФИКИ

Adobe Illustrator — пакет позволяет создавать, обрабатывать и редактировать векторную графику. По своей мощности он эквивалентенрастровому редактору Adobe Photoshop: имеет аналогичный интерфейс, позволяет подключать различные фильтры и эффекты, понимает многие графические форматы, даже такие как. cdr (Corel Draw) и. swf (Flash).

CorelDraw — безусловно, такой известный графический пакет не мог обойтись без средств для обработки векторной графики. Пакет по своей мощности практически не уступает графическим редакторам Adobe Photoshop и Adobe Illustrator. Помимо обработки векторной графики, в этом пакете существует обработчик растровой графики (Photo Paint), трассировщик изображений, редактор шрифтов, подготовки текстур и создания штрихкодов, а также огромные коллекции с изображениями (CorelGallery).

Adobe Streamline — еще один продукт фирмы Adobe, предназначенный для трассировки (перевода) растровой графики в векторную. Это небольшой, но очень полезный и мощный продукт. Особенно полезен, если вы создаете Web-страницы с использованием векторной графики, например, технологии Flash.

2.4 ПОНЯТИЯ ТРЁХМЕРНОЙ ГРАФИКИ. РЕДАКТОРЫ, ИСПОЛЬЗУЕМЫЕ ДЛЯ СОЗДАНИЯ ТРЁХМЕРНЫХ ИЗОБРАЖЕНИЙ

Трёхмерная графика (3D, 3 Dimensions, измерения) — раздел компьютерной графики, охватывающий алгоритмы и программное обеспечение для оперирования объектами в трёхмерном пространстве, а также результат работы таких программ. Больше всего применяется для создания изображений в архитектурной визуализации, кинематографе, телевидении, компьютерных играх, печатной продукции, а также в науке.

Трёхмерное изображение отличается от плоского построением геометрической проекции трёхмерной модели сцены на экране компьютера с помощью специализированных программ[8].

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

Для получения трёхмерного изображения требуются следующие шаги:

1) моделирование — создание математической модели сцены и объектов в ней;

2) рендеринг — построение проекции в соответствии с выбранной физической моделью.

Моделирование

В сцене могут участвовать следующие типы объектов:

1) источники света;

2) геометрические примитивы — сфера, куб, конус, а также тела, описываемые квадратными и кубическими уравнениями;

3) каркасы (англ. mesh) — группы связанных между собой «встык» треугольников, образующих иллюзию тела или поверхности среды;

4) среды жидкости в стаканах, газы, например, воздух в атмосфере, дымы;

Есть и концептуально более сложные типы, как, например, искажения пространства или системы частиц.

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

На «Рендеринг» этапе математическая (векторная) пространственная модель превращается в плоскую картинку. Если требуется создать фильм, то рендерится последовательность таких картинок, по одной для каждого кадра. Как структура данных, изображение на экране представлено матрицей точек, где каждая точка определена по крайней мере тремя числами: интенсивностью красного, синего и зелёного цвета. Таким образом рендеринг преобразует трёхмерную векторную структуру данных в плоскую матрицу пикселов. Этот шаг часто требует очень сложных вычислений, особенно если требуется создать иллюзию реальности. Самый простой вид рендеринга — это построить контуры моделей на экране компьютера с помощью проекции, как показано выше. Обычно этого недостаточно и нужно создать иллюзию материалов, из которых изготовлены объекты, а также рассчитать искажения этих объектов за счёт прозрачных сред (например, жидкости в стакане). Существует несколько технологий рендеринга, часто комбинируемых вместе. Например:

1) сканлайн (scanline) — расчёт цвета каждой точки картинки построением луча из точки зрения наблюдателя через воображаемое отверстие в экране на месте этого пиксела «в сцену» до пересечения с первой поверхностью. Цвет пиксела будет таким же, как цвет этой поверхности;

2) Трассировка лучей (рейтрейсинг) — то же, что и сканлайн, но цвет пиксела уточняется за счёт построения дополнительных лучей (отражённых, преломлённых и т. д.) от точки пересечения луча взгляда;

3) глобальная иллюминация, radiosity) — расчёт взаимодействия поверхностей и сред в видимом спектре излучения с помощью интегральных уравнений и другие.

Программные пакеты, позволяющие производить трёхмерную графику, то есть моделировать объекты виртуальной реальности и создавать на основе этих моделей изображения, очень разнообразны. Последние годы устойчивыми лидерами в этой области являются коммерческие продукты: такие как Autodesk 3DS Max, Maya, Newtek LightWave, SOFTIMAGE XSI и сравнительно новые Rhinoceros 3D, Cinema 4D или ZBrush. Кроме того, уверенно набирают популярность и открытые продукты, распространяемые свободно, например, полнофункциональный пакет Blender.

2.5 ПОНЯТИЯ ЦВЕТОВОГО ПРОСТРАНСТВА. ОСНОВНЫЕ ЦВЕТОВЫЕ МОДЕЛИ (RGB, CMYK)

Цветовое пространство представляет собой модель представления цвета, основанную на использовании цветовых координат[6]. Цветовое пространство строится таким образом, чтобы любой цвет был представим точкой, имеющей определённые координаты, причём так, чтобы одному набору координат соответствовал один цвет.

Цветовые пространства описываются набором цветовых координат и правилами построения цветов. К примеру, RGB является трёхмерным цветовым пространством, где каждый цвет описан набором из трёх координат — каждая из них отвечает компоненте цвета в разложении на красный, зелёный и синий цвета. Количество координат задаёт размерность пространства. Существует масса цветовых пространств различной размерности — от одномерных, которые могут описать исключительно монохромное изображение, до шести и десяти-мерных, таких, например, как пространство CMYKLcLm (Cyan, Magenta, Yellow, Key color, lightCyan, lightMagenta). Пространства высокой размерности чаще всего используются в целях печати на плоттерах или аппаратах для цветопроб.

RGB (аббревиатура английских слов Red, Green, Blue — красный, зелёный, синий) — аддитивная цветовая модель, как правило, описывающая способ синтеза цвета для цветовоспроизведения. В российской традиции иногда обозначается как КЗС.

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

Аддитивной она называется потому, что цвета получаются путём добавления (англ. addition) к черному. Иначе говоря, если цвет экрана, освещённого цветным прожектором, обозначается в RGB как (r1, g1, b1), а цвет того же экрана, освещенного другим прожектором, — (r2, g2, b2), то при освещении двумя прожекторами цвет экрана будет обозначаться как (r1+r2, g1+g2, b1+b2).

Изображение в данной цветовой модели состоит из трёх каналов. При смешении основных цветов (основными цветами считаются красный, зелёный и синий) — например, синего (B) и красного ®, мы получаем пурпурный (M magenta), при смешении зеленого (G) и красного ® — жёлтый (Y yellow), при смешении зеленого (G) и синего (B) — циановый (С cyan). При смешении всех трёх цветовых компонентов мы получаем белый цвет (W).

В телевизорах и мониторах применяются три электронных пушки (светодиода, светофильтра) для красного, зелёного и синего каналов.

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

Четырёхцветная автотипия (CMYK: Cyan, Magenta, Yellow, Key color) — субтрактивная схема формирования цвета, используемая прежде всего в полиграфии для стандартной триадной печати. Схема CMYK, как правило, обладает сравнительно небольшим цветовым охватом.

По-русски эти цвета часто называют так: голубой, пурпурный, жёлтый; но профессионалы подразумевают cyan, magenta и yellow (о значении K см. далее). Печать четырьмя красками, соответствующими CMYK, также называют печатью триадными красками.

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

Так, исторически в разных странах сложилось несколько стандартизованных процессов офсетной печати. Сегодня это американский, европейский и японский стандарты для мелованной и немелованной бумаг[5]. Именно для этих процессов разработаны стандартизованные бумаги и краски. Для них же созданы соответствующие цветовые модели CMYK, которые используются в процессах цветоделения. Однако, многие типографии, в которых работают специалисты с достаточной квалификацией (или способные на время пригласить такого специалиста), нередко создают профиль, описывающий печатный процесс конкретной печатной машины с конкретной бумагой. Этот профиль они предоставляют своим заказчикам.

3. РАЗРАБОТКА ГРАФИЧЕСКОГО РЕДАКТОРА

3.1 ОПИСАНИЕ ПРОЕКТНОГО РЕШЕНИЯ

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

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

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

2) создание рисунков с помощью линий (карандаша);

3) вывод текста на редактируемый рисунок;

4) стирание любой нарисованной картинки;

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

Созданная система в процессе деятельности может быть представлена рядом состояний[9], которые осуществляют те или иные действия. В системе можно выделить некоторое начальное состояние и конечное, завершающее работу состояние. Анализ системы следует начать с жизненного цикла — рисунок 3.

На рисунке 3 приняты следующие обозначения:

1) выбран инструмент линия, карандаш, геометрическая фигура или текст;

2) выбран инструмент цвета;

3) выбран инструмент геометрическая фигура;

4) выбран инструмент линия, карандаш, геометрическая фигура или текст (5 — 9);

10) выбрана определенная толщина линии;

11) некоторый этап рисования завершен, необходимо сохранить рисунок;

12) рисунок сохранен, необходимо продолжить рисование;

13) редактирование или рисование завершено, выход из программы;

14) отредактированный или нарисованный рисунок сохранён, завершение работы;

15) выбор другого инструмента, редактирование;

16) рисунок сохранён, редактирование;

17) выбран определённый тип заполнения;

Рис. 3. Жизненный цикл системы.

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

1) карандаш;

2) ластик;

3) заливка;

4) рисование прямоугольников;

5) рисование скругленных прямоугольников;

6) рисование окружностей;

7) рисование линий;

8) ввод текста;

Существуют также инструмент выбора цвета инструмента и цвета заливки.

3.2 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

Программа состоит из основного модуля Unit1, осуществляющего синхронизацию процесса обработки данных и взаимодействие конкретных экземпляров конкретных объектов.

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

Компонент TImage — показывает некоторое изображение. В данном случае можно наблюдать, что «рисует» графический редактор.

Свойства TImage, используемые в программе:

1) Picture: TPicture — позволяет легко организовать обмен с графическими файлами любых типов в процессе выполнения приложения;

2) Canvas: TCanvas.

Свойство Сanvas -- это объект типа TCanvas. Методы этого типа обеспечивают вывод графических примитивов (точек, линий, окружностей, прямоугольников и т. д.), а свойства позволяют задать характеристики выводимых графических примитивов: цвет, толщину и стиль линий; цвет и вид заполнения областей; характеристики шрифта при выводе текстовой информации.

Холст состоит из отдельных точек -- пикселов. Положение пиксела характеризуется его горизонтальной (X) и вертикальной (Y) координатами. Левый верхний пиксел имеет координаты (0, 0). Координаты возрастают сверху вниз и слева направо (рис. 4). Значения координат правой нижней точки холста зависят от размера холста[8].

Рис. 4. Координаты точек холста

Размер холста можно получить, обратившись к свойствам Height и widthобласти иллюстрации (image) или к свойствам формы: ClientHeight и Clientwidth.

Свойства Canvas, используемые в программе:

1) Brush: TBrush — класс «кисть», которые используется при установке цвета и заливки изображения;

2) Font: TFont — класс шрифта, который будет использоваться при создании надписи на изображение;

3) Pen: TPen — класс карандаша, который определяет свойства линий на изображении

Методы Canvas, используемые в программе:

1) procedure MoveTo (x, y) — устанавливает текущую позицию указателя в позицию с координатами (х, у);

2) procedure LineTo (x, y) — рисует линию от позиции указателя в позицию с координатами (х, у), при этом позиция указателя меняется на новую;

3) procedure Rectagle (x1,y1,x2,y2) — рисует прямоугольник с заданными координатами;

4) procedure Rectagle (x1,y1,x2,y2,x3,y3) — рисует прямоугольник со скруглёнными углами с заданными координатами;

5) procedure Ellipse (x1,y1,x2,y2) — рисует эллипс, вписанный в прямоугольник с координатами (х1,у1,х2,у2);

6) procedure FloodFill (x, y, Color, FiilStyle) — заливает область, используя текущие свойства заливки, указанные в свойстве Brush.

Color — цвет, который в программе задается:

§ Image1. Canvas. Brush. Color:=rgb (255,255,255)

§ Image1. Canvas. Brush. Color:= ColorDialog2. Color

7) procedure TextOut (x, y, Text) — выводит текст. Координаты верхнего правого угла — (х, у).

Компонент TEdit предназначен для ввода текста, который нужно вывести на компонент TImage.

По щелчку клавиши мыши текст записанный в TEdit будет выведен в TImage.

Интерфейс содержит 10 кнопок и 1 компонент TEdit. При нажатии на какую либо кнопку из предложенных, переменной «z» присваивается значение, при котором обрабатываются события TImage: OnMouseDown, OnMouseMove, OnMouseUp. При нажатии кнопки мыши (OnMouseDown) начинается прорисовка графического объекта, при движении мыши (OnMouseMove) объект прорисовывается в соответствии с изменением координат указателя мыши, когда кнопку отпускают (OnMouseUp) прорисовка заканчивается.

Всплывающие подсказки созданы с помощью свойства Hint компонента.

Компонент Delphi MainMenu предназначен для добавления к программе главного меню, элемента, без которого не обходится ни одно из приложений для Windows.

Чтобы добавить к программе Delphi главное меню, нужно расместить на Форме в произвольном месте компонент MainMenu.

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

Редактор меню вызывается с помощью двойного щелчка по компонентуMainMenu.

Контекстное меню (PopupMenu), вызываемое в приложении Windows по щелчку правой кнопкой мыши, является стандартной и удобной возможностью многих программ. Delphi компонент PopupMenu предназначен для создания таких контекстных меню. Контекстное меню из-за способа своего появления называют ещё всплывающим меню.

Delphi компонент PopupMenu почти не отличается от компонента MainMenu и также является невизуальным. Но в отличие от Главного меню, которое одно на Форме, всплывающие меню могут быть у каждого объекта, размещённого на Форме. В данной программе потребовалось использовать 3 контекстных меню:

1) выбор толщины линий фигур;

2) выбор толщины ластика;

3) выбор прямоугольника со скруглёнными углами.

В программе применяются стандартные диалоговые окна:

1) SaveDialog1: TSaveDialog — окно для сохранения созданного изображения[10]. Изображения должны сохранятся в формате *. bmp, для этого нужно изменить свойство Filter (рис. 5);

Рис. 5. Свойство Filter SaveDialog

2) OpenPictureDialog1: TOpenPictureDialog — окно для открытия раннее созданных *. bmp файлов;

3) ColorDialog1: TColorDialog — окно для изменения цвета линий

4) ColorDialog2: TColorDialog — окно для изменения цвета заливки

5) FontDialog1: TFontDialog — окно для изменения шрифта надписи выводимой в последующем в область создания изображения (TImage)

Для вызова диалогового окна используется самый важный метод Delphi диалогов — Execute. Он срабатывает в момент нажатия кнопки (1)

if OpenPictureDialog1. Execute then

begin Image1. Picture. LoadFromFile (OpenPictureDialog1. FileName); (1)

form1. Caption:= OpenPictureDialog1. FileName+'-Paint';

end;

3.3 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Рис. 6. Интерфейс программы

Программа поставляется в виде исполняемого ЕХЕ файла (рис. 6), запускается под управлением ОС Windows 7, не требует большого количества системных ресурсов. Имеет удобный пользовательский интерфейс и достаточно широкие возможности для рисования, просмотра и редактирования изображений.

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

Главное окно редактора носит имя редактируемого файла.

Главное меню содержит подпункты:

1) создать — создание нового изображение;

2) открыть — открывает для редактирования ранее созданное изображение;

3) сохранить — сохраняет созданное изображение в формате *. bmp

4) о программе — информация о назначении данной программы, а так же здесь указан автор и год создания программы;

5) выход — закрывает приложение графического редактора;

Для инструментов прямоугольник, прямоугольник со скругленными углами, эллипс, ромб можно определить вид заполнения внутреннего пространства, толщину контура, цвет. Для инструментов карандаш, линия, прямоугольник, эллипс можно осуществлять выбор толщины линии, цвет. Для инструмента «заливка"(цвет фона) можно выбирать цвет. Выбор цвета сводится к выбору цвета из стандартной шестнадцатицветной палитры, либо к выбору любого из оттенков 16-битового цвета. Редактор имеет инструменты выбора цвета контура и цвета внутреннего заполнения.

Основные элементы панели инструментов выполняют следующие действия:

1) карандаш — рисование с учётом выбранного цвета, и толщины линии;

2) ластик — старание любого вида рисунка

3) заливка — заливка выбранной области, с учётом выбранного цвета;

4) окружность — рисование различных окружностей и эллипсов, с учётом выбранного цвета, вида заполнения;

5) прямоугольник — рисование квадратов и прямоугольников, с учётом выбранного цвета, вида заполнения;

6) скруглённый прямоугольник — рисование квадратов и прямоугольников со скруглёнными вершинами, с учётом выбранного цвета, вида заполнения;

7) Толщина линий фигур, ластика выбирается с помощью контекстного меню, вызываемого правой клавишей мыши на кнопке «Карандаш», «Ластик».

ЗАКЛЮЧЕНИЕ

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

В ходе выполнения курсового проекта закреплены понятие объектно-ориентированного программирования, объектно-ориентированного анализа и объектно-ориентированного подхода, навыки по программированию в объектно ориентированной среде.

Программа, описанная в курсовом проекте разработана в соответствии с постановкой задачи на курсовую работу по теме «Разработка графического редактора» по дисциплине «Управление данными»

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

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

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

СПИСОК ЛИТЕРАТУРЫ

1. Петров М. Н. Компьютерная графика. — СПб.: Питер, 2007. — 478с.

2. Степанов А. Н. Информатика. — М.: Солон-Пресс, 2010. — 554с.

3. Керман М. Программирование и отладка в Delphi: учебный курс. — М. :Вильямс, 2003. — 669с.

4. Симонович С. В. Компьютерная графика. — С-Пб: АСТ-Пресс, 2005. — 480с.

5. Гурский Ю. Л. Photoshop. — М: Корона-Принт, 2004. — 552с.

6. Мельниченко В. В., Легейда В. В. Настоящий самоучитель компьютерной графики. — М.: Век +, 2005. — 560с.

7. Сергеев А. П. Основы компьютерной графики. Adobe Photoshop и CorelDRAW — два в одном. Самоучитель. -- М.: Диалектика, 2006. -- 544с.

8. URL: http: //articles. org. ru/lection/ grafred. php.

9. URL: http: //www. cyberforum. ru/delphi-beginners/thread327766. html.

10. URL: http: //vbbook. ru/vb. net/open-and-save-picture/.

ПоказатьСвернуть
Заполнить форму текущей работой