РЕЦЕНЗИИ

 

Порев В. Н. Компьютерная графика. СПб.: БХВ-Петербург, 2002. - 432 с.

В современной жизни компьютерные образы окружают нас повсюду - начиная от игр, мультфильмов и кинофильмов и заканчивая сконструированными с помощью компьютера моделями одежды, автомобилей и т. п. Над ними трудится целая армия художников и дизайнеров, работу которых обеспечивает многочисленная рать программистов, создающая, обновляющая и непрерывно совершенствующая разнообразные графические пакеты и программы. Надо отметить, что книг, помогающих освоить подобное ПО, выпущено (и выпускается) предостаточно, а вот для программистов, приступающих к их созданию, доступной и понятной информации не-много. Отрадно видеть, что автор В. Н. Порев внес свой вклад в дело становления русскоязычного графического программиста, представив ему книгу “Компьютерная графика”. Отличительной особенностью этого пособия можно считать четкость, простоту, последовательность и ясность изложения в общем непростого материала.

Книга состоит из двух частей, приложения, небольшого терминологического словаря и весьма обширного библиографического списка.

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

В главах третьей и четвертой даются алгоритмические основы построения различных элементов двумерных и пространственных объектов, начиная от простейших - прямой, окружности и эллипса и заканчивая кривыми Безье и алгоритмами стиля. Особое внимание уделяется трехмерным изображениям: обсуждаются модели описания сложных пространственных поверхностей - аналитическая, векторная полигональная, воксельная модели, равномерная и неравномерная сетка, изолинии; показывается, как каркасным методом построить объемный объект, как его визуализировать с удалением невидимых точек, как правильно закрасить поверхности. Здесь же читатель познакомится с моделями отражения света, методами Гуро и Фонга, трассировкой лучей, узнает, как вычислять нормали и углы отражения, как рассчитать вектор преломленного луча. Особое внимание автор акцентирует на методах трассировки лучей, указывая на их эффективность при отображении реальных объектов.

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

Вся вторая часть посвящена собственно программированию графики, которое ведется на языках Си и С++ с использованием графических функций Windows API. Здесь читателю предстоит знакомство с использованием в программах контекста различных объектов системы: графического устройства, окна, принтера, метафайла, памяти. В седьмой главе описываются примитивы графики Windows API: пикселы и подвижные шары, фрактал Мандельброта, трассировка лучей, стиль линии, меридианы и параллели, фрактал из линий, фигуры, векторные шрифты TrueType.

В восьмой главе даются примеры использования классов языка С++. На этих примерах показано, каким образом можно проводить анализ и оптимизацию разработанной графической программы. Девятая глава дает пример анимации поверхности Безье с градиентным закрашиванием объемной поверхности объекта.

Заключительная, десятая глава посвящена краткому введению в графическую библиотеку OpenGL, предложенную Si-licon Graphics и ставшую на сегодняшний день стандартом де-факто при разработке профессиональных графических программ и игровых пакетов. Здесь читатель познакомится с простыми примерами программ, выполненными с использованием OpenGL, а также со способами моделирования освещения, текстурой и стандартными объемными объектами.

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

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

Web-адрес издательства “БХВ-Петербург”: www.bhv.ru.

Версия для печати