Дополнение. Правильные лабиринты не являются слишком сложными, поскольку их всегда можно пройти с помощью правила «плечо к стене» (shoulder-to-the-wall), когда вы отмечаете свой путь, прижимаясь плечом к левой стене. В тупике вы разворачиваетесь и идете тем же путем, постоянно сохраняя контакт со стеной. Поскольку лабиринт является «деревом», вы в конце концов достигнете цели. В действительности, даже при наличии циклов в графе, вы всегда доберетесь до конца, поскольку и начальная, и конечная ячейки находятся на внешних границах лабиринта. (Почему?) Чтобы сделать задачу еще более интересной, поместите начальную и конечную ячейки внутрь лабиринта и заодно разрешите мыши прогрызть несколько дополнительных стен (например, случайным образом одну из 20). В этом случае может возникнуть несколько циклов, окружающих конечную ячейку, и метод «плечо к стене» не принесет успеха.

2.7. Дополнительная литература В целом ряде книг имеется введение в OpenGL. Существует отличный курс «The OpenGL Programming Guide», написанный By, Нидером и Дэвисом (Woo, Neider, Davis) [Woo, 215]. Кроме того, масса информации доступна в Интернете. (Обратитесь, например, в хранилище OpenGL по адресу http://www.opengl.org/ и к полному руководству по OpenGL по адресу http://www.sgi.com/software/opengl/manual.html.)

Дополнительные инструменты для рисования

□ Понятия порта просмотра и отсечения.

□ Осуществление преобразования из окна в порт просмотра.

□ Изложение классического алгоритма отсечения.

□ Создание инструментов для рисования в мировых координатах.

□ Разработка класса С++ для инкапсуляции подпрограмм рисования.

□ Рассмотрение способов выбора окон и портов просмотра для оптимального визуального отображения.

□ Создание сложных изображений с использованием относительного (relative) рисования и черепашьей (turtle) графики.

□ Построить фигуры из правильных многоугольников и их потомков.


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