glutDisplayFunc (displayFcn); glutMainLoop ( );

}

АЛГОРИТМЫ ОТСЕЧЕНИЯ

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

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

Алгоритмы отсечения применяются к двухмерным процедурам наблюдения, чтобы определить те части изображения, которые находятся внутри отсекающего окна. Затем все, что находится вне отсекающего окна, удаляется из описания сцены, передаваемого на устройство вывода для отображения. Для эффективной реализации отсечения в конвейере наблюдения алгоритмы применяются к нормированным границам отсекающего окна. Это сокращает расчеты, поскольку все матрицы геометрических преобразований и преобразований наблюдения можно объединить и применить к описанию сцены перед отсечением. Обрезанную сцену можно затем перевести в экранные координаты для окончательной обработки.

В следующих разделах исследуются такие двухмерные алгоритмы.

• Отсечение точки.

• Отсечение линии (прямых отрезков).

• Отсечение закрашенной области (многоугольники).

• Отсечение кривой.

• Отсечение текста.

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

Если не оговорено иное, будем предполагать, что отсекающая область - это прямоугольное окно стандартной ориентации, углы которого находятся в точках с координатами хгит[п, хгитах, уч’тт и уготах- Данные углы обычно соответствуют нормированному квадрату, в котором значения х и у принадлежат диапазону от 0 до

1 или от - 1 до 1.

ДВУХМЕРНОЕ ОТСЕЧЕНИЕ ТОЧКИ

Если любое из этих неравенств не удовлетворяется, точка отсекается (не сохраняется для отображения).

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


⇐ вернуться назад | | далее ⇒