1.1 Основные понятия

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

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

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


Рис. 1.1. Общая структура графической системы.

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

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

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


Рис.1.2. Некоторые возможности формирования изображения:

а) На странице задается квадратный участок, который штриху­ется. Граница участка очерчивается сплошной линией.

б) Задается треугольный экран. Граница экрана рисуется штрихпунктирной линией. Далее выполняются те же действия, что и в случае а).

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

г) Устанавливается преобразование масштабирования и зада­ется экран такой же, как в случае б). Рисуется граница экрана (в результате преобразования изменяется размер экрана, а также длины штрихов и пунктиров). Затем преобразование масштабирова­ния отменяется. Устанавливается преобразование поворота на 45° и, наконец, выполняются те же действия, что и в случае а).

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