Абстрактный графический тип данных ( AGDT ) — это расширение абстрактного типа данных для компьютерной графики . AGDT предоставляют преимущества ADT с возможностями для построения графических объектов структурированным образом. Формально AGDT можно определить как «класс графических объектов, логическое поведение которых определяется набором графических характеристик и набором графических операций».
AGDT были введены в 1979 году Надей Магненат Тальманн и Даниэлем Тальманном . [1]
Самым важным инструментом в этом графическом расширении является 3-D графический тип — тип figure. Синтаксис описан на рисунке 2. Слово «figure» является ключевым словом. Раздел формальных параметров, объявление и тело аналогичны соответствующим элементам в процедуре.
Чтобы определить тип фигуры, необходимо
Для построения фигур следует использовать типичные графические операторы, такие как: moveabs , moverel , lineabs и linerel для рисования векторов, а также include для определения существующей фигуры как части новой.
Например, пирамиду с четырьмя вершинами можно определить как
тип ПИРАМИДА = фигура (A, B, C, D: ВЕКТОР);начинатьmoveabs A; lineabs B, C, A, D, C;moveabs B; lineabs Dконец;
Дерево можно определить с помощью трехмерных графических типов как
тип ДЕРЕВО = фигура (var ВЕТВИ: ТЕКСТ; NВЕТВЕЙ: ЦЕЛОЕ ЧИСЛО;ПОЛОЖЕНИЕ: ВЕКТОР; ВЫСОТА, ДЛИНА: ДЕЙСТВИТЕЛЬНАЯ);
где BRANCHES — файл типов ветвей, NBRANCHES — количество ветвей, POSITION — положение ствола, HEIGHT — высота ствола, а LENGTH — длина ветвей.
Лес деревьев можно определить как
var FOREST: массив [1..NBTREES] из TREE
Абстрактные графические типы были реализованы как расширение языка программирования PASCAL под названием MIRA-3D. [2]