Читать в оригинале

<< Предыдущая Оглавление Следующая >>


1-4 ПРЕДСТАВЛЕНИЕ ПРЕДВАРИТЕЛЬНО ПОДГОТОВЛЕННОГО ИЗОБРАЖЕНИЯ

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

Рис. 1-3 Двумерное отсечение.

Удаление невидимых линий или поверхностей, закраска, определение прозрачности, текстуры или световые эффекты — все эти операции могут быть выполнены еще до момента окончательной визуализации изображения. Если выводимое изображение определено не на всей базе данных, в ней необходимо выделить некоторую часть, соответствующую этому изображению. Данный процесс называется отсечением. Отсечения бывают дву- и трехмерные. В ряде случаев окно и объем отсечения могут иметь отверстия или быть неправильной формы. Стандартное отсечение по границам дву- или трехмерных областей часто реализуется аппаратно. Подробное обсуждение особенностей реализации эффектов отсечения выходит за рамки данного изложения. Более детальное описание приведено в работе [1-1].

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

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

Рис. 1-4 Трехмерная пирамида видимости.

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

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

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

Рис. 1-5. Несколько полей зрения для одного окна.

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

 



<< Предыдущая Оглавление Следующая >>