Find intersections of L with all edges of P // находим пересечения L со всеми ребрами Р
должно быть включено следующее уточнение:
Find the intersections of the scan line with all edges of P. // находим пересечения строки развертки со всеми ребрами Р.
Discard intersections with horizontal edges and with the upper endpoint of any edge. // отбрасываем пересечения с горизонтальными ребрами и II с верхней концевой точкой любого ребра
Рис. 10.32. Число видимых пересечений с ребрами полигона
Средства для растровой графики
Практическое упражнение 10.7.1. Проверка метода Рассмотрим образец полигона О, на рис. 10.33, содержащий следующие 16 вершин"images/tmp8E4A-699.png" alt="Пример полигона для закрашивания">
Рис. 10.33. Пример полигона для закрашивания
10.7.2. Повышение эффективности алгоритма Для увеличения эффективности метода, изложенного в предыдущем разделе, найдем ту его часть, которая отнимает больше всего времени. В данном случае это большое количество вычислений, связанных с пересечениями строк развертки с ребрами. Для снижения этих затрат времени мы построим и будем вести простой список, в результате чего сможем быстро определять точки пересечений. Этот список, называемый списком активных ребер (active-edge list - AEL), позволяет алгоритму использовать связность ребер (edge coherence), состоящую из двух частей"opengl1_723.html">⇐ Предыдущая| |Следующая ⇒