lect_8b (Лекционный курс в ворде)
Описание файла
Файл "lect_8b" внутри архива находится в папке "Лекционный курс в ворде". Документ из архива "Лекционный курс в ворде", который расположен в категории "". Всё это находится в предмете "инженерная графика" из 4 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "lect_8b"
Текст из документа "lect_8b"
Лекция
-
Композирование (Composing) – размещение одного изображения внутри другого.
Background
Foreground
Возникает проблема: Как быть на границе, чтобы избежать ступенчатости? Можно смешивать цвета фона и переднего плана в соотношении занимаемых площадей в пикселе.
Bnew=(1-a)*Bold+a*F
Где a – отношение площадей
Bold
F
Bnew
Или так:
Можно накладывать несколько изображений с разными коэффициентами прозрачности (в соотношении занимаемых площадей) s- коэфф. прозрачности второго изображения на переднем плане G. Тогда:
Bnewnew=(1-s)*Bnew+s*G
H=F&G
( (F&B)&G=F&(B&G)=F&H )
Тогда:
(1-s)[(1-a)*B+a*F]+s*G=(1-j)*B+j*H , где j – новый коэффициент.
(1-s)*(1-a)*B+a*(1-s)*F+s*G=(1-j)B+j*H
тогда:
(1-s)*(1-a)=1-j
a*(1-s)*F+s*G=j*H
j=a+s-a*s
H=(1-s/j)*F+s/j*G
Отсюда:
Таким образом цвет пиксела может быть представимым в виде четвёрки (a, R, G, B), где a – коэффициент прозрачности при наложении картинки на фон. Эту четвёрку можно представить в виде массива: for(i=0; i<4; i++)
B[i]=B[i]*(1-F[0])+F[i]*F[0];
Или в форме записи: t=1-F.a;
B.R=B.R*t+F.R;
B.G=B.G*t+F.G;
B.B=B.B*t+F.B;
B.a=B.a*t+F.a;
-
Морфирование (Morphing) – плавный перевод одного изображения в другой.
Первый подход – растворение (Fading):
Fade(x,y)=A(x,y)*t+B(x.y)*(1-t), 0<=t<=1
Где А(x,y), B(x,y) – цвета соответствующих изображений.
К сожалению, в промежуточных стадиях изображение – не красивое.
Второй подход –деформация (Warping)
В изображении выбирается конечное число особых точек (Features), которые будут перемещаться в процессе морфинга по некоторым фиксированным траекториям.
Зная их положение в каждый момент времени, вычисляются все остальные точки.
Замечание: Иногда вместо точек используются отрезки прямых.
.
(xd,yd)
.
(xs,ys)
Возможна ситуация, когда не все точки в Destination будут задействованы, поэтому лучше искать обратное отображение. Т. е. Искать прообраз для каждой точки (xd,yd), тогда каждая точка в конечном изображении будет окрашена в соответствии с преобразованием. Если при этом прообраз окажется за границей исходного изображения, то можно использовать цвет фона или границы исходного изображения.
В результате получаем следующую последовательность шагов при морфировании:
1). Строим обратное отображение (xs,ys)=S(xd,yd)
2). Ищем цвет по обратному соответствию S(xd,yd)
3). В изображении закрашиваем соответствующую точку цветом, полученным в 2).
Если же используются отрезки прямых то построение частичного изображения проходит следующим образом:
Получаем следующий алгоритм построения :
С
A
B
1). Вычисляем отображение А->C, затем В->С с использованием характеристических линий (см. Internet)
2). Осуществляем Fading с соответствующим коэффициентом, который вычисляется из значения соотношения АС/СВ т. е. Из того, насколько близко промежуточное изображение к исходному и конечному.
Трёхмерная графика.
Необходимо смоделировать 3D-объект на 2D плоскости.
Это осуществляется с помощью следующей последовательности действий:
Локальное пространство
Моделирование,
Композиция составных частей.
Мировое пространство
Сцена, Освещение,
Материалы поверхностей.
Пространство глаза
Удаление невидимых частей картинки.
Пространство экрана
Отсечение (clipping),
Растровое преобразование закраски.