Реферат: Трёхмерная компьютерная графика
30yi = yi – 1
Di = Di – 2xi + 1
goto 1
4finish
Растровая развёртка сплошных областей
До сих пор речь шла о представлении на растровом графическом устройстве отрезков прямых линий. Однако одной из уникальных характеристик такого устройства является возможность представления сплошных областей. Генерацию сплошных областей из простых описаний ребер или вершин будем называть растровой разверткой сплошных областей, заполнением многоугольников или заполнением контуров. Для этого можно использовать несколько методов, которые обычно делятся на две широкие категории: растровая развертка и затравочное заполнение.
В методах растровой развертки пытаются определить в порядке
сканирования строк, лежит ли точка внутри многоугольника или контура. Эти алгоритмы обычно иду от “верха” многоугольника или контура к “низу”.
В методах затравочного заполнения предполагается, что известна некоторая точка (затравка) внутри замкнутого контура. В алгоритмах ищут точки, соседние с затравочной и расположенные внутри контура. Если соседняя точка расположена не внутри, значит, обнаружена граница контура. Если же точка оказалась внутри контура, то она становится новой затравочной точкой и поиск продолжается рекурсивно.
Растровая развёртка многоугольников
Можно разработать эффективный метод растровой развёртки многоугольников, если воспользоваться тем фактом, что соседние пикселы, вероятно, имеют одинаковые характеристики (кроме пикселов граничных рёбер). Это свойство называется пространственной когерентностью.
2.7 Растровая развёртка сплошной области
Характеристики пикселов на данной строке изменяются только там, где ребро многоугольника пересекает строку. Эти пересечения делят сканирующую строку на области.
Для простого многоугольника на рис. 2.7 строка 2 пересекает многоугольник при x = 1 и x = 8.
Получаем три области:
x < 1вне многоугольника
1 £ x £ 8внутри многоугольника
x >8вне многоугольника
Строка 4 делится на пять областей:
x < 1вне многоугольника
1 £x£ 4внутри многоугольника
4 < x < бвне многоугольника
б £x£ 8внутри многоугольника
x > 8вне многоугольника
Совсем необязательно, чтобы точки пересечения для строки 4 сразу определялись в фиксированном порядке (слева направо). Например, если многоугольник задаётся списком вершин P1 , P2 , P3 , P4 , а список рёбер - последовательными парами вершин P1 P2 , P2 P3 , P3 P4 , P4 P5 , P5 P1 , то для строки 4 будут найдены следующие точки пересечения с рёбрами многоугольника: 8, 6, 4, 1. Эти точки надо отсортировать в возрастающем порядке по x, т. е. получить 1,4, 6, 8.
При определении интенсивности, цвета и оттенка пикселов на сканирующей строке рассматриваются пары отсортированных точек пересечений. Для каждого интервала, задаваемого парой пересечений, используется интенсивность или цвет заполняемого многоугольника. Для интервалов между парами пересечений и крайних (от начала строки до первой точки пересечения и от последней точки пересечения до конца строки) используется фоновая интенсивность или цвет.
2.8 Системы координаты строк сканирования.