Отбеливание зубов

Отбеливание зубов

 

Заработок для студента

Заработок для студента

 Заказать диплом

Заказать диплом

 Cкачать контрольную

Cкачать контрольную

 Курсовые работы

Курсовые работы

Репетиторы онлайн по любым предметам

Репетиторы онлайн по любым предметам

Выполнение дипломных, курсовых, контрольных работ

Выполнение дипломных, курсовых, контрольных работ

Магазин студенческих работ

Магазин студенческих работ

Диссертации на заказ

Диссертации на заказ

Заказать курсовую работу или скачать?

Заказать курсовую работу или скачать?

Эссе на заказ

Эссе на заказ

Банк рефератов и курсовых

Банк рефератов и курсовых

Компьютерная графика Векторные файлы Физическое и логическое сжатие Алгоритм художника Трехмерная графика Растровая графика

Алгоритм художника

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

Метод основан на вычислении удаленности (глубины) di центров ячеек ci (в разных вариантах алгоритма используются и другие опорные точки ячеек) от наблюдателя, сортировке выводе в порядке уменьшения элементов вектора d. При наблюдателе, находящемся конечной точке S, глубина равна расстоянию

di = | ci - S |,

а в вычислительном аспекте более эффективно использовать квадрат расстояния как скалярное произведение:

di2 = (ci - S) ◦ (ci S).

В случае наблюдателя, бесконечно удаленного в направлении вектора S, расстояния от него до всех точек также бесконечны. Впрочем, для сортировки можно использовать и относительные глубины, отсчитываемые вдоль любой оси d, противоположной направлению S. Запишем проекцию точки ci на вектор S:

img border=0 width=176 height=45 src="ris/image044.gif"

Увеличение значения ti означает приближение точки ci к наблюдателю. Следовательно, в качестве эквивалента глубины, который должен уменьшаться с ростом ti, можно принять легко вычислимое скалярное произведение

di = -ci ◦ S.

Алгоритм художника отличается высоким быстродействием, но, к сожалению, имеет серьезный недостаток: ячейки каркаса должны быть примерно одинакового и достаточно малого размера по сравнению с габаритами поверхности. При определенном ракурсе разновеликие могут выведены на экран в неверном порядке.

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

 

22. Flat – закраска

Здесь используется специальный дополнительный массив (буфер), в который записывается координата Z для каждого пикселя растра изображения. Координата означает расстояние соответствующей точки объекта до плоскости проецирования – это может быть, например, видовая ( ось располагается перпендикулярно проецирования). Пусть, чем ближе точка пространстве к проецирования, тем больше значение Z. Тогда сначала буфер заполняется минимальными значениями. Потом начинается вывод всех объектов. Причем не имеет значения порядок вывода Для выводятся все его пиксели любом порядке. Во время по координатам (X,Y) находится текущее буфере. Если рисуемый пиксель большее Z, буфере, то этот пиксель действительно рисуется, а буфер. Таким образом, после рисования пикселей объектов растровое изображение будет состоять из пикселей, которые соответствуют точкам с наибольшими значениями координат есть видимые являются ближайшими нам.

Метод Гуро

Этот метод предназначен для создания иллюзии гладкой криволинейной поверхности, описанной в виде многогранников или полигональной сетки с плоскими гранями. Если каждая плоская грань имеет один постоянный цвет, определенный учетом отражения, то различные цвета соседних граней очень заметны и поверхность выглядит именно как многогранник. Казалось бы, этот дефект можно замаскировать за счет увеличения числа при аппроксимации поверхности. Но зрение человека способность подчеркивать перепады яркости на границах смежных – такой эффект называется эффектом полос Маха. Поэтому гладкости нужно намного увеличить число граней, что приводит к существенному замедлению визуализации чем больше тем меньше скорость рисования объектов.

Метод Гуро основывается на идее закрашивания каждой плоской грани не одним цветом, а плавно изменяющимися оттенками, вычисляемыми путем интерполяции цветов примыкающих граней.

Закрашивание граней по методу Гуро осуществляется в четыре этапа.

Вычисляются нормали к каждой грани.

Определяются нормали в вершинах. Нормаль вершине определяется усреднением нормалей примыкающих граней (рис.28).

На основе нормалей в вершинах вычисляются значения интенсивности согласно выбранной модели отражения света.

Закрашиваются полигоны граней цветом, соответствующим линейной интерполяции значений интенсивности в вершинах.

Вектор нормали в вершине (a) равен: Na = (N1 + N2 N3) / 3.

Интерполированные значения интенсивности отраженного света в каждой точке грани (и, следовательно, цвет каждого пиксела) удобно определять во время цикла заполнения полигона. Рассмотрим заполнение контура горизонталями экранных координатах (рис. 29).


Интерполированная интенсивность I в точке (X, Y) определяется исходя из пропорции

(I - I1) / (X X1) = (I2 / (X2 X1).

Отсюда I = I1 + (I2 - I1) (X X1) / (X2 X1).

Значения интенсивностей I1 и I2 на концах горизонтального отрезка представляют собой интерполяцию интенсивности в вершинах:

(I1 - Ib) / (Y Yb) = (Ic / (Yc

(I2 - Ib) / (Y Yb) = (Ia / (Ya

I1 = Ib + (Ic - Ib) (Y Yb) / (Yc

I2 = Ib + (Ia - Ib) (Y Yb) / (Ya

Цветовое пространство LAB представляет цвет в трех каналах: один канал выделен для значений яркости (L - Lightnes) и два других для цветовой информации (А и В). Цветовые каналы соответствуют шкале, а не какому)нибудь одному цвету. Канал А представляет непрерывный спектр от зеленого к красному, в то время как канал В - от синего к желтому. Средние значения для А и В соответствуют реальным оттенкам серого.
Графические библиотеки в языках программирования