О Глава 3. В этой главе вводится центральное понятие отображения окна в порт просмотра (window-to-viewport mapping) для задания размеров и расположения изображений на экране. Обсуждается управление окнами и портами просмотра по принципу «сделай сам» («do-it-yourself»), а также использование OpenGL для проработки деталей. Разрабатывается первый алгоритм отсечения графического изображения границами области (clipping). Кроме того, описываются задание масштабов (zooming), панорамирование (panning), наклон (tilting) с целью получения интересных визуальных эффектов, а также простейшая анимация рисунков. Разработан класс Canvas, включающий в себя все эти инструменты. Здесь же обсуждается рисование кругов, дуг, сложных фигур из многоугольников, а также представление двумерных и трехмерных кривых в параметрической форме.

О Глава 4. В этой главе дается обзор векторов и основных операций с ними, а также демонстрируется большое преимущество применения в графике векторных инструментов. Студенты, знакомые с векторами, могут только просмотреть эту главу, обращая внимание на то, как с помощью векторов описываются соотношения между геометрическими объектами, которыми они манипулируют в своих программах. Там, где это возможно, векторные операции рассматриваются без указания на размерность пространства, но в трехмерном случае уделено специальное внимание применению векторного произведения (cross product).

В четвертой главе введено понятие системы координат и показано, как такие системы делают естественной работу с однородными координатами. Для прояснения различия между векторами и точками обсуждаются аффинные комбинации точек (чтобы помочь обойти обычный подводный камень при написании графических приложений). В некоторые приложения включены интерполяция, простейшие кривые Безье (Bezier curves) и пересечения линий. Детально разработан фундаментальный алгоритм отсечения прямой границами выпуклого многоугольника, а более сложные алгоритмы отсечения приведены в практических упражнениях по теме. (В одном из таких упражнений предложен интересный проект «Двумерная трассировка луча».)


⇐ Предыдущая| |Следующая ⇒