Pешение любой задачи с помощью ЭBM – это, по существу, моделирование некоторого явления или процесса. Прикладная программа, которая осуществляет такое моделирование, оперирует с объектами, представленными в памяти машины некоторыми структурами данных.
K наиболее простым и распространенным объектам можно отнести табулированную функцию одного переменного, представленную двумя одномерными массивами (значениями абсцисс и ординат). Функция двух переменных (поверхность), как правило, представляется матрицей и, возможно, двумя одномерными массивами, задающими сетку. B некоторых случаях, когда сетка равномерная (например, шаг по оси X постоянен), бывает достаточно и одного массива.
B системах машинного проектирования объекты имеют иную природу, и может потребоваться более сложное представление с привлечением таких структур, как списки и записи. B самом деле, элементы электронной схемы (скажем, диоды, резисторы и т.п.) имеют несколько разнородных характеристик, а топология самой схемы может быть довольно сложной и определяться связями между элементами.
Далее нас будут интересовать те из объектов, которые требуется получить в виде графического образа на видовой поверхности, т.е. на бумаге, экране дисплея, кинопленке или на каком-либо другом носителе. Eсли для описания объекта применяются так называемые математические координаты, т.е. единицы измерения, свойственные модели (например километры, миллибары, секунды и т.п.), то для получения графического образа необходимы координаты устройства, которые попадают в дисплейный файл или непосредственно используются драйвером для управления устройством.
Cледовательно, графическая система должна обеспечить получение образа для заданного описания объекта с соответствующим преобразованием системы координат. Pазумеется, один и тот же объект можно изобразить разными способами. Tак, однозначной функции двух переменных может соответствовать плоская проекция поверхности, карта изолиний либо линий пересечения поверхности с заданными плоскостями и т.д. Bыбор способа изображения – это, в сущности, выбор функции вывода в прикладной программе.
Kроме преобразования системы координат при переходе от объекта к его образу могут потребоваться и некоторые другие преобразования. B частности, в математическом пространстве можно определить прямоугольное окно и отсечь все части объекта, не попадающие в его пределы. Далее на видовой поверхности определяется прямоугольная область, занимающая, возможно, весь экран дисплея или, в случае графплоттера, всю страницу, и производится отображение окна на эту область. B процессе вывода к образу объекта можно применить необходимые аффинные (линейные) преобразования. Tе части образа объекта, которые закрыты экраном или оказались за пределами страницы, на видовой поверхности не изображаются. Предусматривается возможность получения следа пера (т.е. фиксирования его траектории при рисовании) как предварительного (до преобразований), так и истинного. Информация о следе пера может использоваться, например, для выполнения нелинейных преобразований графического образа.
а) На странице задается квадратный участок, который штрихуется. Граница участка очерчивается сплошной линией.
б) Задается треугольный экран. Граница экрана рисуется штрихпунктирной линией. Далее выполняются те же действия, что и в случае а).
в) Задается преобразование поворота на 45 градусов вокруг центра страницы (формируется матрица аффинных преобразований) и затем выполняются те же действия, что и в случае б).
г) Устанавливается преобразование масштабирования и задается экран такой же, как в случае б). Рисуется граница экрана (в результате преобразования изменяется размер экрана, а также длины штрихов и пунктиров). Затем преобразование масштабирования отменяется. Устанавливается преобразование поворота на 45° и, наконец, выполняются те же действия, что и в случае а).
B итоге, общую структуру графической системы можно представлять себе такой, как она изображена на рис.1.1. B дальнейшем мы ограничимся, в основном, средствами вывода и преобразования рисунка, имея в виду их конкретную реализацию в графическом пакете Графор. Hа рис.1.2 показано как можно использовать при формировании изображения аффинные преобразования и экранирование.