Программное обеспечение средств компьютерной графики


Применение базовых программных средств. Графические библиотеки. Авторские средства. Возможности и ограничения. Сфера применения.

Работа с компьютерной графикой невозможна без соответствующего программного обеспечения (ПО). Программные средства, как набор универсальных и прикладных программ являются тем инструментом, что позволяет разработчику решать его задачи. Поскольку последние становятся все сложнее, справиться с ними возможно только применяя или адаптируя программный аппарат.

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

Написание и применение любого, тем более графического ПО, требует:

— лингвистического (языкового) обеспечения;

— алгоритмического обеспечения;

— математического обеспечения;

— методического обеспечения.

· Лингвистическое — совокупность языковых средств, применяемых для написания программ.

Каждому языку свойственна свои правила (символика, семантика и пр.). Для графических приложений используют алгоритмические языки Fortran, Pascal, Delphi, Visual Basic, C, C++, VisualC++ и др. Важным преимуществом последних четырех является наличие визуальной интегрированной среды.

Каковы основные факторы, влияющие на качество программного средства? Это — скорость создания, скорость исполнения, возможность появления ошибок, особенности программы.

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

Возможность задействовать все декларируемые функции ОС и ее расширений (API программиста) значительно упрощает разработку, понимание хода процессов. Среди явных лидеров универсальных средств лидирует С (С++). Наличие различных компиляторов, графических библиотек способствуют популяризации. Многие пользователи (особенно последователи Turbo Pascal) предпочитают Delphi, другие — Visual Basic. Visual Basic, как инструмент, прост в освоении и имеет хорошие возможности, наглядность.

Для решения задач видео применяют специализированные пакеты, типа Quick Time. Часто при разработке мультимедийных приложений, требуется обеспечить синтез графики и текста. Причем для текста часто необходим индексированный поиск (пример — мультимедийные энциклопедии). Хорошее решение — использование Media View. Пакет Adobe Acrobat представляет интересную технологию для работы с текстом. Набор библиотек Acrobat Tool Kit позволяет осуществить индексирование в наборе файлов и поиск по файлу индекса. Имеется возможность вывода на экран сверстанных документов в формате .pdf. Но, существенной проблемой является получение Acrobat Kit, т.к. для этого надо быть лицензионным участником программы фирмы Adobe. Это недешево.

Следует заметить, что разработка собственных библиотек — трудоемкий и не всегда оправданный выход. На это, как правило, идут только крупные компании, и то, если выгода очевидна. Гораздо больший резон — использование имеющегося программного багажа авторских средств. Важным аспектом разработки графических приложений является хорошее владение информацией. В связи с этим необходима работа с документацией по продукту, обращение к WEB-сайтам фирм.

При проведении тестирования выявляются ошибки, заложенные в продукте. Негласное правило гласит, что приобретение ранних версий чревато неприятностями, которые могут возникнуть в ходе эксплуатации программ. Процесс адаптации программных библиотек к новым моделям 3D- ускорителей осуществляется с использованием технологий Quick Draw 3D, DirectX или Open GL.

Большой интерес представляет работа набора Quick Draw 3D для трехмерной графики. Среди заметных преимуществ можно отметить следующие:

— удобный интерфейс;

— наличие стандарта хранения файлов 3DMF;

— легкий просмотр и воспроизведение 3D-моделей через программу-Viewer.

Новые разработки Microsoft (идет -тестирование) посвящены индексированию и поиску информации в HTML-файлах. Пока связь объектов в PC-системах использует механизм OLE (Object Linking Embadding), МАС- платформа применяет Apple Script и Apple Events.

Среди авторских средств разработки мультимедиа хотелось бы выделить MacroMedia Director (r. 6), Apple Media Tool, mTropolis и Authorware. Наряду с явными достоинствами систем имеется ряд проблем, которые нельзя не выделить. Это:

— невысокая скорость загрузки и исполнения программы (возможный выход — грамотная оптимизация диска и программы);

— необходимость работы с большой палитрой (часто свыше 16 млн. цветов), что требует соответствующих аппаратных ускорителей.

Преимущества также очевидны:

— разработка на авторском средстве идет заметно быстрее;

— работа с ними проще (для непрограммиста);

— быстрее осваиваются (вытекает из предыдущего).

В большинстве средств ПО авторского типа имеются возможности для расширения. Так, в Director — это система модулей дополнений xtra; в Apple Media Tool — возможность вносить изменения в текст программы, генерируемой авторским средством. Скорость работы — такая же, как и на С, но время разработки меньше.

Только Visual C позволяет осуществить разработку межплатформенных данных без переписывания кода (свойства Microsoft Visual C и Cross Development Edition). В состав пакета последнего входит полный набор библиотек для Visual C (r. 4).

Разрабатываемые программные средства, и для графики в том числе, имеют большую ориентацию на авторские средства, не забывая о поддержке связи с универсальными. Приведем только два примера.

1. Долгое время возможности Quick Time VR (описания среды виртуальной реальности) были доступны только из Director и HyperCard при помощи библиотек xlib и не подвластны приложениям на С. Теперь этот вопрос решен.

2. Технология Real VR фирмы Real Space, позволяет моделировать миры VRML, а в качестве фона использует реальные изображения. Однако до сих пор нет библиотек для использования Real VR на С поскольку рентабельность таких разработок низкая, а затраты достаточно высоки.

·Алгоритмическое обеспечение — представляет из себя набор алгоритмов (схем решения) графических задач, описывающих функционирование программ, их взаимосвязи, ограничения, интрефейс.

Алгоритмы построения и редактирования графических объектов известны давно. Еще в 60-70 годах в ряде стран (США, Франция, Германия и др.) проводились исследования в области построения графических моделей, синтеза объектов, анализа способов отсечения, закраски и пр. Однако аппаратное обеспечение сковывало поиски исследователей, так как требовало больших затрат (хорошая графическая станция стоила нескольких сотен тысяч долларов). С появлением новых графических систем, обладающих мощными ресурсами, многие проблемы были сняты. Однако методы построения изображения изменились незначительно. Традиционно для описания алгоритмов используют блок-схемы, НИРО-диаграммы или псевдокод. Условно, графические приемы можно разделить на:

— алгоритмы векторной графики (построения примитивов, проекций, преобразования);

— алгоритмы растровой графики (Брезенхейма, Сазерленда-Кохена, создания растра);

— методы отсечения (Кируса-Бека, Вейлера-Азертона, трехмерные и др);

— методы удаления (Робертса, Варнока, Аппеля, с использования Z-буфера и пр.);

— методы закраски (Гуро, Фонга);

— методы визуализации (метод трассировки лучей, .

· Математическое обеспечение — объединяет те разделы математики (аналитическую геометрию, дифференциальное и интегральное исчисление, алгебру логики и матричные преобразования), которые служат инструментом решения задач компьютерной графики. Применение аналитических приемов позволяет избежать рутинных вычислений, снизить нагрузку на процессор, повысить точность построений.

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

Известно, что графические примитивы, описываются уравнениями, позволяющими однозначно определить ее координаты. Получаем V = F(x, y,) — для плоскости, и V = F(x, y, z) — для пространства. При наличии неоднородности или динамических изменений необходим ввод дополнительных параметров; сложность задачи существенно возрастает. Поэтому для нахождения решений применяются допущения (краевые условия, напр. x=0 или у = const), сложные преобразования приводят к ряду простых, и объединяют их (на основе принципа суперпозиции). Здесь весьма эффективным средством является матричная алгебра.

·Методическое обеспечени5Ё — включает совокупность информационно-методичсеких средств (руководства по программированию, пользователя системы и пр.), которые позволяют создать программу, выполнить аппаратные настройки, устранить возможные ошибки, оказать помощь.

При разработке графического интерфейса часто возникает ряд проблем, связанных с невозможностью программно-аппаратной поддержки. Требования по быстродействию вызывают необходимость изменения платформы (мощных графических ускорителей, шины AGP, быстрой видеопамяти), поэтому в методических руководствах по программных продуктам это обязательно отражается. Даже на тех же традиционных CD-ROM обязательно пишутся требования к апаратному обеспечению.

По меньшей мере непонимание вызывают моменты, когда после первого запуска пакета пользователем “виснет” клавиатура, гаснет экран и т.п. неприятности. Человек нервничает, пытается устранить дефекты, что нередко оказывается фатальным для программного продукта. Зная, что эти программы у него просто не смогут работать — этого можно было-бы избежать. Поэтому важно учитывать ресурсы компьютера для решения той или иной задачи.

Если графические элементы выступают в качестве наглядного оформления действующей программы (известно, что 50% информации нейроны мозга получают через зрение), то уважающие себя (и пользователя) авторы стремятся оговорить возможные проблемы и аспекты.

Очень важно отметить, что успех и качество программного любого программного продукта (и графического в том числе) зависит от:

— удобства работы;

— наглядности;

— простоты интерфейса;

— мобильности.

Так, если используются графические пиктограммы, то они должны быть максимально понятны, доступны любому пользователю. Желателен соответствующий подбор цветовой гаммы, палитры. Не стоит насыщать рисунки мелкими деталями и элементами в окнах запуска и меню. Это утомляет зрение и отвлекает от решения основной прикладной задачи. Лучше больше внимания уделить организации помощи и текущих подсказок по работе с графической системой. Пользователь должен иметь автономность работы, не исключая возможности связаться с разработчиком (в крайних случаях). В силу многообразия различных аппаратных (PC, Mac) и программных (Win 95, NT, OS/2 и др.) платформ необходимо обеспечить адаптацию графического средства к конкретным условиям, иметь набор соответствующих драйверов и вспомогательных утилит.

В заключение хочется отметить, что постоянный рост количества и качества графических программных средств требует быть в курсе последних новинок, изменений, сообщений. Поэтому использование следует почаще обращаться к публикациям, WEB — страницам фирм, специализирующихся в области компьютерной графики.