4.2.4. ИЗОБРАЖЕНИЕ КРИВОЛИНЕЙНЫХ ПОВЕРХНОСТЕЙПусть объект представляет собой участок криволинейной поверхности типа ; ; . На основании закона связи экранной и объектной системы преобразуем описание поверхности в экранную систему: ; ; . Пересечем эту поверхность со сканирующей плоскостью , которая проходит через -ю сканирующую строку и центр проекции . Для центральной проекции описывается уравнением , а для ортогональной - параллельно оси , т.е. уравнение вырождается в форму . Для определения пересечения решим систему из следующих уравнений: результатом которой является параметрическая кривая, которая, к сожалению, не всегда имеет аналитическую форму и не всегда однозначна. Если же перебирать точки на сканирующей строке от пиксела к пикселу, то численными методами удастся определить параметры и в пересечениях световых лучей, исходящих из пикселов и криволинейной поверхности. В случае ортогональной проекции это означает, что для текущего пиксела под номером на -й сканирующей строке необходимо найти решения ; . По установленным параметрам для -гo пиксела вычисляется удаление до пиксела. Подобные операции выполняются для всех поверхностей сцены. Наименьшее удаление указывает на видимую поверхность, освещенность которой в данном пикселе вычисляется по параметрам . Конкретный алгоритм изображения бикубической поверхности методом сканирующей строки описан в [71]. Таким образом, в общих чертах алгоритм сканирующей строки для криволинейных поверхностей заключается в следующем. Предварительной сортировкой среди множества поверхностей сцены выделяют такие, которые попадают в поле обзора. Затем для каждой сканирующей строки , , перебирают последовательно пикселы строки , , и, наконец, последовательно перебирают каждую поверхность. При этом решают уравнения ; и вычисляют удаление от каждого -гo пиксела до каждой поверхности. Ближняя поверхность объявляется видимой, ее атрибуты и координаты используются для расчета освещенности в текущем -м рецепторе. Изображение падающих теней для такого алгоритма затруднено, а собственные тени и блики на освещенной стороне имитируются достаточно просто. Приведенный алгоритм имеет множество оригинальных модификаций, учитывающих, например, когерентность сканирующих строк [100] или ориентированных только на изображение сфер [124], что приводит к значительному повышению эффективности.
|