Основы САПР (CAD,CAM,CAE) - (Кунву Ли)(2004) (951262), страница 10
Текст из файла (страница 10)
3. Объясните, какил| образом в векторных устройствах реалиЗуется анимация. 4. Объясните, почему независимо от сложности растрового изображения оно не мерцает на растровом устройстве. 5. Сколько цветов можно одновременно отобразить на растровом графическом устройстве с 12-разрядными плоскостями (4-разрядные плоскости для красного, 4-разрядные для зеленого и 4-разрядные для синего)? 6.
Перечислите преимущества аппаратной конфигурации, состоящей из объелиненных в сеть рабочих станций. 7. П Перечислите доступные вам программы для построения двумерных чертежей, 8. Перечислите доступные вам системы геометрического моделирования. 9. Перечислите доступные вам системы САМ. Коротко опишите функции каждого программного продукта. 10. П . Перечислите доступные вам программы САБ.
Коротко опишите функции каждого программного продукта. Глава 3 Основные концепции графического программирования Интерактивное манипулирование формами составляет значительную часть ргр:- боты с системами САог'САМ/САЕ. Следовательно, важнейшей составляющей': таких систем является программное обеспечение, создавшее графическое изо;.' бражение на экране монитора. Поэтому нам придется изучить терыинологйю« и основные понятия графического про1рал1мировання. 3.1. Графические библиотеки термин нрограмчирование на хогтьютере (сотриге ргоягатттд) раньше ггэ)в~! чал написание «сочинения» на языке компьютерных команд в соответствн(г4«» предопределенными правилами грамматики.
В ответ на вводимые числа вьив::~~ няемое «сочинение» порождало ожидаемые числа и символы на терминале'вдггт в файле данных. В наши дни на входе и выходе «сочиненнй» все чаше нахо~~!,',: ся графическая информация. Такое программирование называется графически)ф (ягарйккв ргоятаттгпя), а область его применения — компьютерной графй~ф (сотригег йгарЫсг). Помимо основного программного обеспечения, необходимого для обычного г114~': граммирования (операционная система, редактор и компилятор), графичефЬр. программирование требует наличия специальных графических программ.
Гр(б фические программы делятся на два класса: драйверы устройств и графическве библиотеки. Драйвер устройства может рассматриваться как набор аппаратно-зависимыд4(хи.: дов, непосредственно управляющих процессором графического устройстдв;;,'гвх ким образом, что электронный пучок оказывается направленным в нужное ьк)()(($ (см главу 2).
Драйверы обязательно являются аппаратно-зависимыми, то;"'й(~Ф~, жестко привязанными к конкретным графическим процессорам. Примергвг х»е же самое можно сказать об ассемблере, конкретный вид которого может:й~3~$~,' няться только на процессорах одной и той же модели. То же происходи4;:!~~ графическая программа использует драйвер устройства непосредст)гвг(г))1 (рис. 3.1). Такую графическую программу прн переходе на другое графияФ~фрв, устройство придется переписывать с использованием новых команд дранве)в Более того, команды драйвера устройства весьма примитивны, поэтому '4в«(эг( программа была бы очень длинной, если бы она должна была решать какуш.-яйца сложную задачу, К тому же программа эта получилась бы плохо читаемой Программисты предпочитают писать программы на языках высокого уров(г)ьг Графическое программирование не могло стать исключением, особенно евФ 'пРедставить,есе неУДОбатяак,свнзанные с использованием команд дРайвеРа низкого уровня.
Поэтому с вРзфйческими устройствами стали поставляться библио' теки, получ ивш не название 'графических (я ирЬгт г ЬЬгипез). Графическая библиотека, кзк, например, и математическая, представляет собой набор подпрограмм, .предназначенных для решения определенных задач. Конкретная подпрограмма 'может изображать на экране прямую, круг или иной объект. Графическая библиотека основывается на командах драйвера устройства (рис, 3.2).
Каждая подпрограмлга создается с использованием поддерживаемого набора команд драйвера. Например, подпрограмма, изображающая круг, может быть составлена из 'отдельных команд драйвера, рисующих на экране точки или короткие отрезки, Приложение с::::."„"т Драйзер с:::::ф Рис. ЗЛП Непосредственное использование драйзера устройства Пригн»кение с:~~> раф с::~~> драйвер с=ф библиотека Рис. 3.2. Использование графической библиотеки : Подпрограммы графической библиотеки могут использоваться точно так же, как подпрограммы математической.
Нужная подпрограмма вызывается из основной программы аналогично тому, как вызываются функции синуса и косинуса, когда 'программисту требуется вычислить их значения. Одна из проблем использова' ния подпрограмм графической библиотеки связана с тем, что их названия и способы вызова (входные и выходные аргументы) у каждой библиотеки свои. Это не создавало бы трудностей„если бы одна графическая библиотека могла рабо. тать со всеми существующими устройствами, что теоретически было бы возможным, если бы все существующие драйверы устройств поддерживали ее. Однако по некоторым причинам производители программного обеспечения не хотят или .
не могут создать графическую библиотеку, которая могла бы работать со всеми драйверамн, а потому у каждой библиотеки имеется свой круг поддерживаемых . драйверов. Следовательно, такая библиотека может работать лишь с ограниченным набором графических устройств, а графические программы, рассчитанные на работу со множеством устройств, приходится переписывать с использованием нескольких библиотек Чтобы обойти эту проблему, разработчики графических библиотек могли бы использовать одинаковые наборы подпрограмм с одинаковыми названиями, ' аргументами и возможностями.
(На практике каждая подпрограмма реализуется р~зработчиками по-разному.) Тогда графические программы не требовали бы :изменения на уровне исходного кода даже при изменении графических устРойств. Одним из примеров такого подхода является графическая система СОКЕ, предложенная в 1977 г. группой 91ССКАРН (Брас!а! 1псегезг Сгоцр оп Сошрп!ег СгарЫсз) Ассоциации вычислительной техники (Аэзос!айоп 1ог' Сошрцг!пя ; МасЫпегу — АСМ). Однако графическая система СОКЕ не предоставляет дослаточного набора команд для использования всех возможностей растровых уст- Фойств потому что этн устройства не были широко распространены во времена разработки системы.
Примерно в то же время Международная организация по. стандартизации (1пгегпаг!опа! Бгапг!агг!з Огдашхайап — 1БО) разработала систен ' му графического ядра (СгарЫсз Кегпе! Буксете — СКБ). СКЯ считается стандар-„-,; том в двухмерной графике, а позже эта система была расширена до СКБ-3О с поддержкой трехмерной графики. И у СОКЕ, и у СКЯ есть определенные недостатки в отношении динамическо-. го отображения и гибкого взаимодействия с пользователем.
Поэтому организация 1БО предложила еще один стандарт, получивший название Иерархических сцстеми пройоаммироеиния иптераклшвяой графики (Ргораттлег'и Н1етигсЬтси( (лгетисг1ое СтарЬ!сз 5уз1ет — РШСЬ). Этот стандарт стал стандартом де факто для большинства графических рабочих станций. Зателг он был расширен и получил название «расширение !»Н1СБ для Х» (!'Н1СЯ ехгепз!оп со Х вЂ” РЕХ), потому что в него были включены функции работы с окнами системы Х ойпг!оту. Гра- ' .-'.
фические программы, написанные на РЕХ, в сетевой среде могут использоваться, независимо от типа рабочей станции. Это достоинство было унаследовано от системы Х ту!пг!ож, о которой будет коротко рассказано в конце главы. Коммерческая графическая библиотека ОрепС1. Развивалась независимо от организаций по стандартизации, однако с течением времени она набирает все большую популярность благодаря гибкости в управлении рабочими станциями и персональными компьютерами в сетевой среде. ОрепС1.
— расширение графической библиотеки С1 (фирменной графической библиотеки для компьютеров Б!!!соп ','-"'. Сгар1псз'). Благодаря популярности компьютеров Б!!!соп СгарЫсз в областях; связанных с компьютерной графикой, библиотека ОрепС1. постепенно приобретает статус графического стандарта де факто. З.2. Системы координат Для вывода изображения объекта на экран графического устройства необходимо решить две основные задачи: !;з указать положение всех точек объекш в пространстве; О определить положение нх образов на мониторе.
Для задания положения точек в пространстве и на мониторе используются сис-' темы координат. Важно понимать, как связаны между собой различные системы координат. Особенно это важно для проектирования трехмерного объекта на плоский экран. Проекция на экране строится по тем же законам, что и проекция реального объекта на сетчатке человеческого глаза. Первой среди систем координат мы рассмотрим систлему координат устройства:,'-'- (ггеп!се соотг!!лиге зузгетл), которая определяет положение точки на экране.
Эта ..:: . система состоит из горизонтальной оси и и вертикальной оси е (рис. 3.3). Обратите внимание, что начало отсчета может выбираться произвольно. Осей и и р достаточно для задания положения любой точки экрана, поэтому третья осгч перпендикулярная первым двум, не определяется. Положение любой точки задается двумя целыми числами и и с, равными числу пикселов между началом ко-;: ' %!!соп СтарЫгз — кампания, произеоллшая графические рабочие станции, такие как,,-'-',';,. 1пб1яо а О,. динат и точкой.по.йодм'й и о.
Однако одна и та же точка может задаваться разыми парами и И и в зависимости от положения начала координат, направления й и масштаба. Зти параметры для разных графических устройств устанавли- тся достаточно произвольно (см. рис. 3.3). Поэтому аппаратные координаты графической программе могут потребовать изменения прп смене графического стройства. Рис.
3.3. Системы координат устроистаа иртуальная система координат устройства (тггиа! Иео(се сооггйпаге яузгет) озволяет избежать описанной выше проблемы. Виртуальная система координат стройства фиксирует точку отсчета, направление и масштаб осей для всех рабоих станций. Слово «виртуальный» означает, что данная система отсчега суще- вует только в воображении программиста. Обычно начало отсчета располагахся в левом нижнем углу экрана, ось и откладывается вправо, а ось о — вверх.