Отсечение (clipping) является фундаментальной технологией в графике, поэтому мы изложили классический алгоритм отсечения отрезков прямой относительно мирового окна. Этот алгоритм дает программисту возможность определять, какая часть изображения будет фактически визуализирована (rendered): те части, которые находятся за пределами окна, отсекаются. OpenGL осуществляет отсечение автоматически, однако в других программных средах «отсекатель» должен содержаться в явном виде.

Мы разработали класс Canvas для инкапсуляции многих основных деталей и тем самым предоставили программисту единый и единообразный инструмент для создания графических программ. Canvas

3.10. Тематические задания прячет детали OpenGL внутри удобных подпрограмм, таких как setWindowO, setViewportO, nioveToO, lineToO и forward О, а также гарантирует, что будут произведены все необходимые инициализации. В тематических заданиях мы будем реализовывать Canvas в обобщенной программной среде, без OpenGL, где подпрограммы отсечения и преобразования «окно - порт просмотра» должны иметься в явном виде. В такой среде значение инкапсуляции данных внутри класса Canvas становится даже более очевидным.

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

3.10. Тематические задания Один из симптомов приближающегося нервного срыва - это вера в то, что твоя работа чертовски важна.

Бертран Рассел (Bertrand Russell)

Тематическое задание 3.1. Изучение логистического преобразования и имитация хаоса Уровень сложности II.

В конце главы 2 рассматривались системы итерируемых функций (IFS). Рассмотрим IFS, которая дает возможность по-новому взглянуть на мир хаоса и требует корректной установки окна и порта просмотра. Последовательность величин генерируется посредством повторяющегося применения функции/(.), именуемой логистическим преобразованием (logistic map). Эта функция описывает параболу с помощью следующего уравнения:


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