Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Алгоритмы закраски Гуро и Фонга⇐ ПредыдущаяСтр 15 из 15
При использовании модели освещения для полигональной поверхности получают изображение, состоящее из отдельных многоугольников. Метод Гуро позволяет получить сглаженное изображение. При изображении объекта методом построчного сканирования можно рассчитать интенсивность каждого пиксела вдоль сканирующей строки. Для расчета интенсивности необходимо вычислить значение нормалей в вершинах многоугольников, которые зависят от плоскостей, примыкающих к этим вершинам. Уравнение плоскости в каноническом виде имеет вид ax + by + cz + d = 0. В соответствии с уравнениями для смежных плоскостей (в данном случае – трех) вектор нормали в вершине V рассчитывается по выражению nv = (a0 +a1 +a2)*i + (b0 +b1 +b2)*j + (c0 +c1 +c2)*k, где ai, bi, ci – коэффициенты уравнений плоскостей, примыкающих к вершине V. Если уравнения плоскостей не заданы, то вектор нормали можно рассчитать усреднением векторов нормалей для указанных плоскостей. В свою очередь вектора нормалей к плоскостям можно вычислить векторным произведением векторов, лежащих в этих плоскостях. В качестве таких векторов удобно использовать ребра соответствующих граней поверхности. Расчет интенсивности пикселей выполняется последовательно. Сначала выполняется расчет интенсивности в вершинах. Затем по интенсивности вершин вычисляются интенсивности необходимых точек ребер граней. На заключительном вычисляются интенсивности отдельных пикселей. Например, для рисунка, приведенного ниже, последовательность вычислений будет следующей. Вычисляется освещенность в вершинах полигонов. Например, для грани 1 – в вершинах A, B, C и D (Ia, Ib, Ic, Id). Линейная аппроксимация интенсивностей вершин A и B позволяет определить интенсивность в любой точке ребра AB. Расчет интенсивности в точке Q выполняется по выражению IQ = u*IA + (1 – u)*IB, где u = QB/AB. Причем 0 ≤ u ≤ 1. Аналогично, по интенсивностям в вершинах В и С можно вычислить интенсивность в произвольной точке ребра ВС. IR = w*IR + (1 – w)*IC, где w = RC/BC. Коэффициент w также удовлетворяет условию 0 ≤ w ≤ 1. Вычисленные интенсивности в точках Q и R позволяют вычислить интенсивность в произвольной точке Р грани, расположенной на сканирующей строке, выполнив вторичную линейную аппроксимацию. IP = t*IQ + (1 – t)*IR, где t = PR/QR. Коэффициент t удовлетворяет условию 0 ≤ t ≤ 1. Вычисление интенсивностей точек вдоль сканирующей строки можно упростить. Для этого, например, для точек Р1 и Р2 вычисляются интенсивности
IP1 = t1*IQ + (1 – t1)*IR, IP2 = t2*IQ + (1 – t2)*IR, где t1 = P1R/QR, t2 = P2R/QR. Тогда IP2 - IP1 = (t2 – t1)*IQ – (t2 – t1)*IR = (t2 – t1)* (IQ – IR) = Δt*ΔI. Таким образом, если известна интенсивность в точке Р1, то интенсивность в точке Р2 определяется по простому выражению IP2 = IP1 + Δt*ΔI. А если расчет идет от точки к точке с шагом 1, то второй член выражения становится константой ΔI/QR. Данный метод закраски имеет недостаток в виде появления эффекта «полос Маха», который проявляется в изменении интенсивности при фактически постоянной освещенности. Возможны и другие нежелательные эффекты. Например, грани поверхности ориентированы в пространстве по-разному, но так что их нормали в вершинах дают одинаковый результат. Тогда величина ΔI будет иметь нулевое значение и, следовательно, интенсивность закраски этих граней будет одинаковой, и они будут неразличимы. Устранение этого эффекта добиваются специальными приемами разбиения граней на дополнительные многоугольники. Наиболее рационально применение этого метода для диффузного отражения, т.к. при зеркальном отражении форма бликов сильно зависит от выбора аппроксимирующих многоугольников. Метод закраски Фонга строится по тому же принципу, что и метод Гуро. Отличие заключается в том, что билинейная аппроксимация выполняется не для интенсивностей освещения, а для векторов нормалей к граням. В вышеприведенных вычислениях по методу Фонга следует заменить интенсивность в точке на вектор нормали в этой точке. Метод отличается большим объемом вычислений, но имеет ряд преимуществ. В этом методе слабее проявляется эффект полос Маха. Но на сферах метод Фонга дает еще больший эффект полос Маха. Кроме того, оба метода приводят к ошибкам при закраске невыпуклых многоугольников, т.к. нарушается равномерность закраски. Например, на представленном рисунке сканирование на участке 1 и участке 2 различаются. Расчет интенсивностей на них ведется по разным ребрам с разными интенсивностями. Прохождение сканирующей строки через вершину А будет сопровождаться скачком интенсивностей точек, что практически является необоснованным.
|
|||||
Последнее изменение этой страницы: 2017-02-10; просмотров: 466; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.221.46.132 (0.052 с.) |