Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 3. Введение в векторную графику.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
30.64 Кб
Скачать

Лекция 3. Введение в векторную графику

Объектно-ориентированное графическое моделирование

Большинство программных средств компьютерной графики для работы с векторными изображениями представляют собой интегрированные объектно-ориентированные программные пакеты. Интегрированность программного пакета означает, что он включает в себя несколько программных средств с единым интерфейсом пользователя, в совокупности позволяющих решать множество задач, возникающих при работе с векторной графикой. Примеры таких интегрированных пакетов для работы с векторной графикой - CorelDRAW X7 и Adobe Illustrator CС.

Графические объекты и их классы

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

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

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

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

Атрибуты класса графических объектов

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

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

  • вариативности - хотя бы у одного из объектов класса значение атрибута должно отличаться от значений того же атрибута у остальных объектов класса;

  • единичности - атрибут должен представлять собой единственное значение одного из стандартных типов данных;

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

К стандартным типам данных относятся:

  • логические значения;

  • целые числа;

  • действительные числа;

  • текстовые значения.

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

Совокупность текущих значений атрибутов объекта определяет его состояние.

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

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

Методы класса графических объектов

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

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

  • выполнением интерактивной операции (преобразования) над графическим объектом;

  • программно, когда старое значение атрибута заменяется новым (чаще всего - автоматически вычисленным) в процессе выполнения программного модуля.

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

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