GREC2P - графическая библиотека для МВС-100/1000


Разработана графическая библиотека для МВС-100/1000. Предлагается для использования сотрудниками ИММ.


Краткое описание библиотеки

Библиотека предназначена для построения несложных двумерных графиков на вычислителе МВС-100. Результатом работы библиотеки является файл с графической информацией. Это может быть, как файл в формате PostScript, так и файл в значительно более компактном формате GI.

Библиотека не является параллельной программой. В отдельный метафайл может писать только отдельный процессор. Но одновременное создание нескольких метафайлов разными процессорами не запрещено.

Заинтересованные сотрудники ИММ могут высказать свои пожелания или получить более подробную консультацию по тел. 5-42 (7-62, 7-89).


Принципы библиотеки

Пример рисунка, построенного библиотекой

Библиотека рассчитана на пакетный режим работы - посмотреть созданные рисунок можно только после окончания работы с ним. Библиотека не поддерживает параллельный вывод из нескольких процессоров в один графический файл, каждый процессор в текущий момент времени может держать открытым только один файл графического вывода.

С графическим файлом асоциируется область вывода (виртуальный экран) с фиксированными физическими координатами от 0.0 до 640.0 по горизонтали и от 0.0 до 480.0 по вертикали, причем начало физических координат распологается в левом верхнем углу области. Физические координаты необходимы для задания местоположения областей вывода с математическими координатами и для вывода текста.

На одном виртуальном экране можно открыть одновременно до десяти областей. Каждая область идентифицируется своим номером (от 0 до 9). При открытии области (процедура region) необходимо задать физические координаты области, пределы изменения математических координат внутри области и некоторые другие параметры. Библиотека поддерживает только естественное направление изменения математических координат - по горизонтали координаты возрастают справа налево, по вертикали - снизу вверх.


Функции библиотеки. Краткое описание


int absciss(int n, double yab, double step, int nsm, char* txt, char col, int flag)
Процедура построения оси абсцисс. Для автоматического выбора шага между делениями и количества подделений используется оригинальный алгоритм.
int close_page(void)
Процедура закрытия страницы.
int line(int n, double x1, double y1, double x2, double y2, char col)
Процедура построения отрезка по математическим координатам.
int lineo(int n, double* xmass, double* ymass, int n1, int n2, char col)
Процедура построения ломаной по координатам ее вершин.
int lineox(int n, double* xmass, double* ymass, int n1, int n2, char col, int flag, char* txt)
Процедура построения ломаной по координатам ее вершин с возможностью вписывания строки текста в разрыв линии.
int mark(int n, double x, double y, char marker, int size, char col)
Процедура построения маркера по математическим координатам.
int open_page(char* file_name, char* page_name)
Процедура, открывающая страницу и файл графического изображения.
int ordinate(int n, double xab, double step, int nsm, char *txt, char col, int flag)
Процедура построения оси ординат.
int region(int num, double x1, double y1, double x2, double y2, int flag, double xmin, double xmax, double ymin, double ymax)
Процедура открывающая область математического вывода.
int symbol(char *text, double x, double y, char color)
Процедура размещения строки текста по физическим координатам.
double x_mathtopic(int n, double x)
double y_mathtopic(int n, double y)
Вспомогательные программы для перевода координат точки из математических в физические.

Краткое описание формата GI

Формат GI - двоичный векторный формат для хранения графической информации. Рабочее поле 32000 пикселей (условных единиц) по горизонтали и 24000 пикселей по вертикали. Размер пикселя не фиксирован и определяется программой-обработчиком файла. Линии, точки и символы могут иметь номер цвета от 0 до 15. Сопоставление цвета номеру цвета определяется программой-обработчиком. Обыкновенно: цвет 0 - цвет фона, цвет 7 - серый, цвет 15 - максимальная контрастность относительно фона. Символы выводятся в матрицу 400 на 800 пикселей и не имеют заранее определенного начертания. Русификация символов - кодовая страница 866 (альтернативная кодировка DOS).

Разработаны программы вывода GI-файлов на экран для DOS и Windows. Существует программа преобразования GI-файлов в векторный графический формат фирмы Golden Software. С помощью утилиты plot возможен вывод рисунка на различные устройства вывода (принтеры, плоттеры и др.). Если будет такая необходимость, то возможно написание программы конвертации GI в PostScript.


Файлы библиотеки

Все комментарии на русском языке в кодировке DOS (cp866).

Отдельные файлы

Архив со всеми файлами библиотеки

grec.zip - архив (106K), содержащий все библиотечные файлы


Books Home Home New! ParaSoft
Программное обеспечение | Главное меню | Обо мне | Новости | Параллельное программирование

Пишите по адресу: iagsoft@imm.uran.ru