ПОИСК Статьи Чертежи Таблицы Модели и алгоритмы для отображения графической информации из "Основы теории и проектирования САПР " Математическую основу базового графического обеспечения САПР составляют модели и алгоритмы для отображения графической информации. Эти модели и алгоритмы ориентированы на работу с различными графическими устройствами и в малой степени зависят от специфики проектируемых объектов в САПР. [c.233] В прикладных программах машинной графики в САПР чаще всего применяются графические изображения четвертого уровня сложности, даже для более сложных уровней — второго и третьего— внутреннее представление графической информации сводят к четвертому уровню с помощью методов прямолинейной и криволинейной аппроксимации. Таким образом, графические изображения при выводе на графические устройства в САПР представляются совокупностью ограниченного количества отдельных точек на плоскости, заданных своими координатами х, у и соединяемых прямыми линиями. Основные преобразования графических изображений в ЭВМ выполняются на моделях четвертого уровня сложности. [c.234] Реальные объекты проектирования могут иметь сложную, объемную форму, поэтому выделяются следующие группы задач для отображения графической информации 1) преобразования и отображения графических изображений на плоскости (двухмерная графика или плоская графика) 2) преобразования трехмерных объектов и их двухмерного представления (трехмерная графика, проекционная графика). [c.234] Иногда употребляется так называемая 2,5-мерная графика, т. е. обработка графической информации трехмерных объектов, для которых третье измерение не столь существенно, например отображение многослойных интегральных структур и печатных плат, зубчатых колес и др. [c.235] Двухмерная машинная графика. Рассмотрим некоторое произвольное графическое изображение в координатах ХУ, которое описывается множеством из N точек. Это множество дополняется списком пар точек (список ребер), которые должны быть соединены прямыми линиями, но геометрические преобразования не затрагивают этот список. Каждая -я точка представляется на плоскости вектором положения с помощью двух ее координат (Х , yi), которые можно рассматривать как элементы матрицы А размером (.Ух2). Предположим, что известно другое графическое изображение в координатах ХУ, которое описывается матрицей В размером ( Ух2). Введем матрицу Т такую, что АТ=В. Для выполнения такой операции матрица Т должна иметь размер (2X2), причем матричное умножение АТ некоммутативно. Матрица Т называется матрицей преобразования и позволяет выполнять различные геометрические преобразования над системой точек на плоскости в координатах ХУ, а матричное умножение АТ составляет основу математических преобразований, используемых в двухмерной графике [6]. [c.235] С помощью матрицы Т можно осуществить вращение относительно начала координат, зеркальное отображение, масштабирование и их комбинации. Одновременно переместить все точки (операция сдвига) с помощью матрицы Т нельзя. Например, если в матрице А есть точка с координатами (О, 0), то при умножении на любую матрицу Т точка (О, 0) останется неизменной и в матрице В. Эту трудность можно устранить за счет введения третьей компоненты в векторы положения точек, представляя их в виде (х,, yi, 1). Третий элемент можно рассматривать как дополнительную координату вектора положения. [c.235] Строки матрицы А соответствуют координатам точек 1...3 исходной фигуры (рис. 9.5, а), а строки матрицы В — координатам точек Г...З преобразованной фигуры (рис. 9.5,6). [c.236] 8 преобразованной фигуры (рис. 9.6,6). [c.238] Сложные двухмерные и трехмерные преобразования геометрических фигур можно выполнять с помощью 1) определенной последовательности элементарных преобразований путем последовательного умножения исходной матрицы А на соответствующие матрицы элементарных преобразований. Если количество точек будет велико и число элементарных преобразований большое, общие затраты машинного времени на выполнение преобразования данным способом будут очень большими 2) последовательного перемножения матриц элементарных преобразований между собой с последующим умножением результирующей матрицы преобразований на исходную матрицу А. Такая операция над матрицами называется конкатенацией. Метод конкатенации дает значительную экономию машинного времени при выполнении сложных двухмерных или трехмерных преобразований над множеством координат системы точек, описывающих геометрические фигуры. Этот метод с максимальной эффективностью реализуется только в однородных координатах. [c.238] Для отображения трехмерных объектов на двухмерную поверхность графических устройств используется аппарат проецирования. [c.238] Центральная проекция отрезка АВ на две разные плоскости проекций — ХхУ и Л гУг — показана на рис. 9.7. Основная задача состоит в том, чтобы определить координаты точек на плоскости проекций, которые соответствуют точкам объекта, расположенного в произвольном месте трехмерного пространства. При выполнении центральной проекции центр проекций (точка зрения) находится на оси I, а плоскость проекции перпендикулярна оси 2 и параллельна плоскости XV трехмерной системы координат XYZ. Эти условия позволяют легко рассчитать координаты точек на плоскости проекций. При перемещении плоскости проекций вдоль оси 2 форма и ориентация проекции объемной фигуры не меняются, изменяются только размеры проекции, например отрезок Л1В1 меньше, чем отрезок А2В2 (см. рис. 9.7), но их ориентация в соответствующих плоскостях проекций одинакова. [c.239] В результате перемножения матриц А и Р получается матрица В размером (Л Х4), в которой в первых двух столбцах располагаются искомые координаты точек хи у ) на плоскости проекций. [c.239] Ортогональная проекция получается в случае, если центр проекций на рис. 9.7 устремить в бесконечность. При этом го- -оо, а элемент— 1/2о = 0. [c.239] Аналогия в преобразованиях графических фигур на плоскости и в пространстве позволила разработать стандартную систему ( ORE SYSTEM) преобразований для двухмерной и трехмерной (двухмерные рассматриваются как частный случай) декартовой системы координат XYZ. Согласно схеме получения графического изображения (рис. 9.8) геометрические преобразования применяются к представлению объекта в нормализованном координатном пространстве, т. е. уже после того, как к описанию объекта в координатах XYZ были применены видовые преобразования. [c.240] Алгоритмы удаления невидимых линий. Трехмерные объекты, описанные выше, имеют вид проволочных фигур , т. е. фигур, в которых можно видеть все углы и вершины. Для реальных объектов часть вершин (точек) объемной фигуры всегда будет невидима. На рис. 9.9, а показана проволочная фигура куба, из которой неясно его фактическое положение в пространстве. Удаление невидимых вершин и ребер (рис. 9.9, б, в) позволяет точно определить это положение. Поэтому для трехмерной проекционной графики важной является задача удаления невидимых линий. Алгоритмы проверки видимости — одни из наиболее сложных в машинной графике и выполняются, как правило, в несколько этапов. [c.240] Вернуться к основной статье