МАШИННАЯ ГРАФИКА
А.Мацокин, доктор физико-математических наук.
Любопытная историческая справка: пять лет спустя после
организации Вычислительный центр имел к 1970 году мощный (по тому
времени) парк ЭВМ и предоставлял вычислительные ресурсы
практически всем институтам Новосибирского научного центра.
Ежесуточно более 2000 программ отлаживались или выполняли
вычислительные эксперименты. Для анализа результатов расчета
(сотни метров бумаги с числовой информацией) исследователи
строили десятки и сотни графиков, карт изолиний и векторных полей
вычисленных функций. Актуальной стала задача автоматизации этой
рутинной и трудоемкой работы, задача разработки методов и
программ вывода информации из ЭВМ в графическом виде с помощью
специальных электронно-механических устройств --
графопостроителей.
Решение этой проблемы поручили созданной в 1969 году лаборатории
математического обеспечения. Группа молодых программистов
(А.Куртуков, И.Питаев, А.Лукинцов) и студентов
механико-математического факультета Новосибирского
государственного университета (В.Дворжец, В.Дебелов, С.Горин) во
главе с заведующим лабораторией, 24-летним кандидатом
физико-математических наук, выпускником физического факультета
НГУ Ю.Кузнецовым начали практически с нуля: машинная графика как
научное направление находилось в стадии становления. Опыта
решения графических задач на ЭВМ не было.
Разработку системы математического обеспечения графопостроителей
разделили на три независимые части: драйверный уровень системы,
то есть программы управления графопостроителями; виртуальный
графопостроитель, иначе говоря язык описания графической
информации, и программы решения графических задач, или
преобразование результатов расчета в последовательность языковых
конструкций, описывающих графики, карты изолиний и т.д.
Графопостроитель представляет собой планшет, по которому
перемещается в горизонтальном или вертикальном направлении
пишущий инструмент (перо) в поднятом (не чертит) или опущенном
состоянии (чертит). Шаг перемещения пера фиксирован в обоих
направлениях, его величина (примерно 0.05 мм) зависит от типа
графопостроителя. Перьев может быть несколько (разной толщины или
цвета). Управляющие графопостроителем команды (установка пера,
подъем или его опускание, перемещение пера в одном из направлений
на один шаг) подаются непосредственно из ЭВМ или считываются с
внешнего носителя. Формирование последовательности этих команд --
задача драйвера системы матобеспечения графопостроителей.
Драйверов столько, сколько графопостроителей (разного типа).
Драйверы выводят информацию на графопостроители, подключенные к
ЭВМ физически и учтенные операционными системами ЭВМ (М-220,
БЭСМ-6, ЕС ЭВМ). Инженерная служба ВЦ СО АН (Н.Кульков) успешно
решила первую задачу, а специалисты лаборатории (Л.Васильева,
С.Упольников) -- вторую.
Бедность набора команд графопостроителей и различие их заставляют
определять некий виртуальный графопостроитель и описывать
графическую информацию на его языке (графическом стандарте),
оставляя ее вывод драйверам реальных графопостроителей. На первом
этапе разработчики, экономя ресурсы ЭВМ, включили в этот язык
область рисования с прямоугольной системой координат и единицей
измерения 1 мм, цвет и толщину пера, графические примитивы:
точка, отрезок, алфавитно-цифровой символ заданного шрифта.
Построение графиков, карт изолиний и векторных полей -- одна из
задач машинной графики. Простая на первый взгляд (каждый из нас
рисовал графики, изучал географические карты -- изолинии высоты
местности над уровнем океана), но сложная в реализации задача
могла быть решена только математиками (функции заданы дискретно,
их нужно проинтерполировать, для определения линий одинаковых
значений функций необходимо решать нелинейные уравнения).
Дипломники НГУ с ней успешно справились. В начале 70-десятых
годов были разработаны и реализованы алгоритмы построения
графиков, карт изолиний и векторных полей аналитически или
дискретно заданных функций. Графическая система СМОГ обеспечивала
вывод информации в графическом виде из любой системы
программирования любой ЭВМ на все графопостроители. К середине
семидесятых драйверный уровень системы СМОГ был доведен до
технологического совершенства: ежемесячный объем графического
вывода из ЭВМ достигал 50-ти тысяч графиков.
Распространение графических устройств в научно-исследовательских
и конструкторских организациях страны определили дальнейшее
развитие системы СМОГ. Прежде всего, нужно было подключать к
системе новые графические устройства: устройство
микрофильмирования КАРАТ, разработанное в Институте автоматики и
электрометрии, графические дисплеи, зарубежные и отечественные
(например, разработанные в Институте прикладной физики дисплеи
Гамма).
Для автоматизации проектно-конструкторских работ отечественная
промышленность приступила к серийному выпуску АРМов
(автоматизированное рабочее место) на базе ЭВМ М-222, имеющих в
своем составе устройство ввода графической информации,
графический дисплей и графопостроитель. Актуальной стала задача
разработки программ подготовки чертежно-конструкторской
документации и геометрического моделирования машиностроительных
изделий. Для решения этих задач сотрудники лабораторий ВЦ и НГУ
объединились с группами специалистов КБ машиностроения, НИИ
измерительных приборов, СибНИИ авиации, выступавшими заказчиками
программного обеспечения.
Графическая система СМОГ пополнилась библиотекой программ вывода
графической информации в виде фильма на устройство
микрофильмирования КАРАТ, позволяющей наглядно представить
динамику развития моделируемых процессов (атмосферных, горения и
т.д.). Формирование кадров фильма из отдельных графических
изображений привело к необходимости разработки графической базы
данных. Графическая система СИГАМ с архивами и моделями
изображений была первым опытом такой разработки.
Моделирование геометрии двумерных и трехмерных объектов принято
относить к задачам машинной графики. Автоматизированная
подготовка чертежно-конструкторской документации состоит из двух
основных этапов: построения модели чертежа изделия и собственно
его вывода на графическое устройство. Модели чертежа в дальнейшем
можно легко изменить, рисовать любые поправки, компоновать новые
модели из ранее построенных элементов. На этапе вывода чертежа на
графическое устройство решается задача размещения на чертеже
размеров его элементов и пояснительных подписей. Эти задачи
эффективно решались программами библиотеки "ГРАФИТ",
разработанной на основе графической системы СМОГ.
Трехмерные объекты в рамках системы моделировались с помощью
кусочно-линейных аппроксимаций граничных поверхностей реальных
изделий. Разработанная библиотека программ "СПЕЙС" позволяла
описывать практически произвольный набор любых поверхностей и
тел, компоновать из них с помощью теоретико-множественных
операций новые объекты, вычислять площади, объемы, моменты
инерции построенных тел, получать их изображения (проекции) с
выделением невидимых частей.
В 90-х годах для графического отображения результатов численного
моделирования в основном применялись растрововые графические
устройства: дисплеи и принтеры, позволяющие получать полутоновые
цветные изображения. Система СМОГ пополнилась программами
построения цветных карт изолиний, изоповерхностей,
аксонометрических проекций трехмерных тел. Совместно с Институтом
медицинской и биологической кибернетики СО РАМН был разработан
экспериментальный электронный тренажер с биологической обратной
связью, в котором динамика изображения плоских или
пространственных сцен на экране дисплея определялась реакцией
пациента, что позволяло осуществлять тренировки по
саморегулированию состояния человека.
Для получения реалистических изображений пространственных сцен в
последние годы применялись математические модели распространения
света, учитывающие наличие различных источников света и
характеристики отражения света от поверхностей тел. Такие задачи
требуют решения интегральных уравнений с применением метода
конечных элементов для расчета освещенности элементов сцены, а
также метода трассировки лучей для получения одного или
нескольких (с разных точек зрения) изображений сцены.
Сотрудники лаборатории продолжают разработки в области
геометрического моделирования плоских и пространственных объектов
с кусочно-гладкими границами. Замена кусочно-линейных
аппроксимаций на кусочно-полиномиальные позволяет значительно
уменьшить объем хранимой информации и повысить точность
представления объектов.
Идеи и методы, положенные в основу графической системы СМОГ,
сегодня стали уже классическими, их дальнейшее развитие
ориентировано прежде всего на высокоэффективную,
многопроцессорную вычислительную технику и Интернет-технологии.
стр.
|