
- •Математическое обеспечение компьютерной графики
- •Концептуальная модель интерактивной графики
- •Модель изображения. Графические примитивы
- •Математические и геометрические модели
- •Модели объемных объектов. В практике построения изображений объемных объектов широкое распространение получили три основных типа модели объектов:
- •Моделирование сплошными геометрическими конструкциями
Математическое обеспечение компьютерной графики
Создание графического образа (объекта) всегда в определенной степени связано с геометрическими построениями на плоскости, в пространстве, поскольку идентификация объекта, его позиционирование всегда определяется некоторым множеством координат. Геометрические фигуры описываются различными способами:
-
совокупностью линий (системой уравнений, описывающих линии) и поверхностей, геометрических и алгебраических соотношений;
-
графами;
-
таблицами;
-
с использованием специализированных языков графического программирования или графического расширения языков программирования общего назначения.
Вопросы по конкретным требованиям к виду проектирования (на плоскости, в пространстве) решаются, исходя из конкретных задач и условий геометрических построений, характером используемых моделей, которые можно непосредственно применять для формирования графических изображений объектов с помощью средств компьютерной графики.
Успешное использование средств компьютерной графики предполагает определение эффективного способа общения пользователя с графической программой при формировании и изменении объектов и их изображений, знание классов элементарных или составных объектов, которые должны формироваться и представляться графически. Для понимания этого факта рассмотрим концептуально отдельные этапы преобразований, общепринятые для прикладных интерактивных программных средств, позволяющих перейти от представления объекта к его образу.
Концептуальная модель интерактивной графики
Будущее компьютерной графики как стандартного средства интерактивного общения человека с ЭВМ на фоне впечатляющих достижений в сфере технических средств вычислительной техники, научных достижений, программного обеспечения стало весьма многообещающим.
В качестве концептуальной основы модель
интерактивной графики полезна для
понимания того факта, как процесс
преобразования информации на вводе
подразделяется на логическую обработку
информации, ее воздействие на объекты
и образы и каким образом следует разделять
действия, связанные с преобразованием
абстрактного описания двухмерного и
трехмерного “мира”, состоящего из
одного и более объектов, в вид и образы
этого мира.
Планшет
На рисунке 3.1 приведена в расширенном виде блок-схема графической системы, которая дает общее представление об основных компонентах типичной графической системы:
аппаратных;
программных и
информационных модулях.
Двумя наиболее важными аппаратными компонентами являются базовая ЭВМ и дисплейный процессор (ДП). В оперативной памяти расположены два информационных блока: дисплейный буфер и прикладная структура данных.
Первым модулем является выполняемая дисплейная программа (называемая также дисплейным файлом). Она формируется графическим пакетом и читается ДП во время регенерации изображения на экране.
Вторым модулем является прикладная структура данных, которая содержит наряду с другой информацией описание объектов, изображение которых должно показываться на экране. Эту структуру называют также моделью объектов.
Н
а
рис. 3.1 Показаны основные операции
графической системы по формированию и
визуализации изображения:
-
формирование прикладной базы данных;
-
подготовка выходных графических примитивов вывода;
-
установка атрибутов;
-
задание видовой операции;
-
управление сегментами.
Взаимодействие между всеми пятью процессами лучше всего понять, если изучить два основных блока данных в графической системе, имеющие противоположные направления: от описания объекта в структуре данных к его изображению на экране и от активируемых пользователем устройств ввода к структуре данных и/или к дисплейной программе.
Рассмотрим один из подходов описания последовательности преобразования данных “объект - изображение”, используя понятие канала. Четырехэтапный канал вывода последовательно преобразует описание объекта во все более машинно-зависимые представления и в конце концов получается изображение на экране.
На первом этапе, реализуемом прикладной программой, происходит преобразование части структуры данных, моделирующей геометрию (расположение) и топологию (связность) объекта в последовательность вызовов подпрограмм ПГП с параметрами, извлеченными из структуры данных. Эти вызовы описывают объект в терминах точек, линий и текста (примитивов вывода). Другие вызовы специфицируют деление объекта на логические единицы, то есть сегменты, и определяют желаемый вид объекта.
На втором этапе в канале вывода работает процессор видовой операции, который, используя параметры, заданные на первом этапе, осуществляет отсечение примитивов объекта, выходящих за границы заданного пользователем или стандартного окна, и затем отображает видимую часть объекта в текущее поле вывода.
На третьем этапе генератор команд дисплейного процессора преобразует независимые от устройства спецификации примитивов (после отсечения) в нормированных координатах в команды данного конкретного дисплейного процессора. Соответствующие подпрограммы ПГП управляют сегментацией этого “машинного кода” и указывают генератору команд, какие сегменты необходимо добавить к дисплейной программе, какие сделать видимыми или невидимыми, какие передвинуть или удалить.
Четвертый этап в канале относится к ДП, который преобразует примитивы вывода в световое излучение экрана, чернила или краситель на листе бумаги.
В канале ввода ДП регистрирует факт использования устройства ввода либо прерывает центральный процессор (для устройств, вызывающих такие события как селектор, кнопка, клавиатура), либо передает данные по запросу (для опрашиваемых устройств, таких как локатор, валюатор). Ввод данных от ДП осуществляет специальная программа ввода, которая обычно передает их прикладной программе. Эти данные изменяют состояние или логику прикладной программы. Они могут побудить также прикладную программу модифицировать структуру данных (и, возможно, соответствующие параметры в обращении к подпрограммам ПГП) или изменить параметры видовой операции. Введенные данные могут также непосредственно использоваться генератором команд для выполнения операций манипулирования сегментами.
Построение прикладной модели
Важнейшими характеристиками интерактивной графики является представление множества элементарных объектов, на базе которых должны формироваться и представляться графические образы и модели реального и виртуального мира. Рассмотрим интерактивную модель с точки зрения двух основных действий, выполняемых в интерактивной графике: построение прикладной модели и описания объектов для графической системы.
Прежде всего строится прикладная модель объектов, с которыми пользователь будет работать и которые он будет рассматривать.
Прикладная модель есть совокупность данных, представляющих объекты, и отношения этих данных, обычно хранящаяся в виде прикладной структуры данных. Таким образом, модель отображает важные свойства объектов, существенные для данного приложения или для ряда приложений. Эти объекты могут быть конкретными или абстрактными и при визуализации могут быть представлены в двумерном или трехмерном мире. Примерами объектов могут служить математические формулы, функции, интегральная схема, план помещения, зубчатая передача, молекула.
В качестве примера рассмотрим построение прикладной модели, которую дизайнер по интерьеру может использовать для подготовки интерьера типичного административного здания. В проекте определено, какая мебель должна быть установлена в каждой комнате и на каждом этаже. Возможно прикладная модель этого схематичного двумерного мира состоит из объекта “административное здание”, который состоит из подобъектов (“этаж 1”-- “этаж--10”). Каждый этаж состоит из ряда подобъектов - обычно комнат. В свою очередь каждая из комнат включает в качестве подобъектов предметы мебели - письменные столы, стулья, книжные шкафы, барьеры-перегородки на полную высоту этажа, а также комнатные растения. Такое разбиение является произвольным и возможно множество вариантов. Конкретным видом объекта - комнаты - в этом иерархическом мире является обычный план помещения, на котором используются двумерные символы предметов мебели, называемые также условными обозначениями. Для наших целей мы можем считать, что внешний вид каждой комнаты, включая окна и двери, содержится в структуре данных, ранее заданных архитектором. Декоратор начинает работу с этой структурой данных и добавляет к ней подобъекты мебели. Что же конкретно будет храниться в структуре данных для этого приложения? В распоряжении декоратора должны быть геометрия, то есть точные размеры каждой комнаты и каждого предмета мебели, а также точное расположение двумерных символов на планах помещений. Кроме того мебель должна содержать данные о изготовителях каждого предмета мебели т.п. Дело в том, что структура содержит многие негеометрические свойства объектов, которые непосредственно не влияют на их визуальное представление. Часть этого текстового материала может быть помещена на символах, изображающих мебель, чтобы обеспечить быструю визуальную оценку решений. Таким образом, графическая визуализация, которая позволяет получить планы помещений - это лишь один из многочисленных процессов, которые могут быть выполнены с использованием общей структуры данных.
Описание объектов для графической системы.
Построить прикладную модель мира как совокупность из одного или более объектов в прикладной программе данных можно, описав эту модель для графической системы таким образом, чтобы система могла рассчитать, а затем и вывести конкретный требуемый вид.
Строится модель в интерактивном режиме или результат получается из другой программы, пользователь обычно желает видеть визуальное представление или изображение одного или нескольких аспектов модели. И независимо от того, является ли содержание структуры данных чисто геометрическим, оно должно быть описано для графической системы в виде выходных графических примитивов (таких, как точка, линии, ломаные или цепочки литер), геометрически ориентированных в двумерном или трехмерном пространстве. Прикладная программа должна указывать графической системе с какой точки зрения, какую часть объекта следует показать, а также на какой части видовой поверхности.
Почему объекты для графической системы должны описываться на уровне графических примитивов нижнего уровня? Потому что в этом случае, вместо того чтобы заставлять пользоваться “стандартной” структурой данных, которая может оказаться неэффективной или имеющей слишком много ограничений для данного приложения, дается возможность строить модели объектов так, чтобы учитывались особенности данного приложения. Поэтому графическую систему общего назначения нельзя основывать на какой-либо “стандартной” организации структуры данных, и мы должны описать для нее зависящую от приложения модель в виде независимых от конкретного приложения универсальных графических примитивов.
Структура данных содержит описание реальных или абстрактных объектов, изображение которых должно появляться на экране. Поэтому в структуре данных может храниться вся необходимая информация для таких разнообразных объектов, как электрические схемы, здания, молекулы, модели ядерных реакторов и т.д. В описание объектов обычно включаются геометрические данные о координатах, (определяющих форму компонент объекта), атрибуты объекта (тип линии, цвет, фактуру поверхности и т.д.), а так же данные о связности и положении (т.е. данные о том, каким образом компоненты соединены друг с другом). Часто имеется так же не геометрическая информация или текстовая информация, которая полезна для программ постобработки и (или) интерактивного пользователя. Примерами таких данных для применений в области машинного проектирования могут служить сведения о поставщике и цене, тепловые, механические или электрические свойства и допуски.