
- •Компьютерная графика
- •Понятие о компьютерной графике
- •Графические диалоговые (интерактивные) системы инженерного конструирования
- •Базовая графика. Международный стандарт компьютерной графики gks (Grafical Kernel System – Ядро графической системы)
- •Понятие графических объектов и их параметров.
- •Графические языки
- •Примитивы пространственной графики. Применение интерактивных графических систем сапр
- •Литература
Понятие графических объектов и их параметров.
Если вы создаете объект-примитив, например сферу, то вызывается функция, которая запрашивает у вас набор данных, характеризующих сферический объект. Запишем эту функцию в следующем виде:
СФЕРА (О, R, n, m, М), (1)
где СФЕРА – название функции (в данном случае название графического объекта); О, R, n, m, М – набор данных о сфере: О – координаты центра сферы, R – радиус сферы, n - число продольных сегментов при построении сеточной графической модели (вдоль параллелей как на рис. 1); m - число поперечных сегментов при построении сеточной графической модели (вдоль меридиан); М – материал сферы.
В
графических системах, основанных на
преобладающих в настоящее время принципах
объектно-ориентированной теории, данные
(О, R, n, m,
М) и соответствующая этим данным функция
СФЕРА укомплектованы в блок, называемый
объектом. Проектируемое изделие
может состоять из набора объектов.
Данные (О, R, n,
m, М) называют в различных
графических программах по-разному:
атрибутами, свойствами, параметрами. В
дальнейшем будем применять термин
параметры.
В свою очередь параметры объекта тоже могут быть функциями (объектами). Например, материал (М в формуле (1)) в графических проектных системах представляется в виде объекта, имеющего значительное количество параметров: блеск, прозрачность, плотность и т.д.
В объектно-ориентированной графической системе есть возможность в любой момент времени обратиться к объекту и при необходимости изменить параметры функции. В этом случае функция сохраняется, и если вы меняете параметры функции, объект-примитив, соответствующий этой функции перерисовывается заново с нуля.
В ряде случаев можно изменить тип объекта и соответственно поменять число и тип параметрических данных. Это происходит, когда сферу преобразуют в редактируемую сеть, например, в деталь типа «Рукоятка» сужением нижней части сферы, т.е. перемещением узлов в нижней части сеточной модели бывшей сферы. Функция СФЕРА (О, R, n, m, М) в этом случае перестает быть сферой и преобразуется в функцию СЕТЬ(n; m; x1,y1,z1; … xn,yn,zn; … xnm,ynm,znm; M), где x1,y1,z1; … xn,yn,zn; … xnm,ynm,znm – координаты каждой точки сети.
На рис. 2 для примера представлена сеть с одинаковыми значениями m и n, равными 4. Сеть имеет 16 вершин, со следующими координатами:
Вершина(0,0): 70,260
Вершина(0,1): 70,140
В
ершина(0,2):
120,165,50
Вершина(0,3): 120,245,50
Вершина(1,0): 170,260
Вершина(1,1): 170,140
Вершина(1,2): 220,165,50
Вершина(1,3): 220,245,50
Вершина(2,0): 250,260
Вершина(2,1): 250,140
Вершина(2,2): 300,165,50
Вершина(2,3): 300,245,50
Вершина(3,0): 350,260
Вершина(3,1): 350,140
Вершина(3,2): 400,165,50
Вершина(3,3): 400,245,50
Графические языки
Рассмотрим, как работает конструктор с графическим редактором:
конструктор определяет характер очередного действия;
конструктор вводит соответствующую команду в ЭВМ;
графическая программа интерпретирует эту команду, т.е. разворачивает ее в последовательность команд процессора ЭВМ;
затем эта последовательность команд выполняется;
результат выполнения отображается на экране.
Таким образом, рассматриваемый способ характеризуется тем, что конструктор мыслит дискретными командами, а вся их последовательность (сценарий) заранее не определена и присутствует в его голове лишь как общий замысел, который уточняется и корректируется в ходе создания изображения. Таким образом, сценарий, т.е. необходимая последовательность команд графического редактора, формируется в конце создания изображения.
В графических редакторах имеются средства создания сценариев. Сценарий - это тоже последовательность команд графического редактора, но составленная заранее и записанная в виде файла. Это обычно текстовый файл, который называют скриптом (script) или пакетным файлом. Сценарий иногда называют макрокомандой. Последний термин – «макрокоманда» – широко применяется в любых типах программ.
Преимущество сценария в том, что его можно использовать многократно. Однако, составить сценарий значительно сложнее, чем работать в графическом редакторе, так как он редактируется вручную без мгновенного отображения на экране. Такая работа "вслепую" приведет к тому, что в сценарии могут остаться ошибки, которые после запуска сценария придется отыскивать в его тексте и исправлять.
Сценарий, написанный на языке команд графического редактора, можно рассматривать как частный случай программы на графическом языке программирования.
Программа - это тоже заранее составленный текст, который хранится на магнитном диске и может быть использован для генерации изображения. Технология составления и использования программы такая же, как и для сценария.
Отличие программы (в данном случае, программы работающей в графическом редакторе) от сценария состоит в том, что язык программирования обладает дополнительными возможностями по сравнению с системой команд графического редактора и позволяет выполнять более сложные действия и записывать действия более компактно.
Такие возможности характерны для любого языка программирования. К ним относятся:
обращение из программы к подпрограммам (в сценарии аналогичный эффект может быть достигнут запуском из сценария других сценариев);
компактная запись повторяющихся последовательностей действий - циклов;
ввод данных пользователем в процессе выполнения программы (для сценария ввод данных должен осуществляться перед запуском сценария), а также вывод сообщений из программы;
проверка выполнения разного рода условий и выбор направления действий в зависимости от результатов проверки.
Последние две операции не могут быть реализованы в сценарии. Именно они позволяют написать программу [4], которая в зависимости от данных, вводимых в диалоге с конструктором, генерирует ту или иную, каждый раз новую, геометрическую модель.
Н
а
рис. 3 для примера приведена геометрическая
модель объекта (назовем изделие
«Подставка») с формальными значениями
параметров – D, D1,
L …, предназначенная для
формирования конкретной геометрической
модели объекта с числовыми геометрическими
параметрами.
Н
а
рис. 4 представлены некоторые из таких
полученных объектов. Все они принадлежат
целому классу геометрических объектов,
названных «Подставка».
Формирование таких геометрических моделей может производиться как с помощью сценария, так и с помощью программирования.