ZXNet эхоконференция «code.zx»


тема: Morphing



от: Vitaly Vidmirov
кому: Vasily Below
дата: 08 Dec 1998
Здрасте, здрасте Vasily! Однажды, в студёную летнюю пору, что-то около (07-11-98/01:21:00) писал как-то Vasily Below к All ... VB> У меня есть 2 картинки (а именно в chunks). VB> Может кто-нибудь кинуть алгоритм или формулы для реализации VB> морфа? Вот тебе простейший алгоритм для реал-тайм морфинга с изгибом: Реализовывать не пробовал, потому как придумываю на ходу ;) Тем не менее, работать должно... ИК- исходная картинка ПК- получаемая 1. Hужно сопоставить пикселя одной картинки к пикселям другой. 1.1 Hакладываем на ИК сетку: О--О--О--О | | | | О--О--О--О | | | | О--О--О--О Буквы "О" обозначают опорными точки (узлы сетки). 1.2 То же самое делаем и с ПК, но сетка тут будет уже не прямая, а деформированная. Т.е. каждый квадратик ИК превратится в соответствующее "нечто" на ПК. Можно делать всё что угодно, с условием, что получаемые многоугольники остаются выпуклыми. О--О--О--О | О-О/---О О/| | | | | О-О--О---О 1.3 Для каждой опорной точки вычисляем направление и шаг перемещения. xstep(i)=(dstX(i)-srcX(i))/n ystep(i)=(dstY(i)-srcY(i))/n где n - кол-во кадров. 1.4 Теперь нужно сделать кое-что посложнее, а именно найти шаг изменения цвета пикселей ИК, чтобы в финале они превратились в пиксели ПК. Для этого каждый деформированный четырехугольник ПК с помощью texturemapping'a преобразуем в недеформированный, размеры которого совпадают с прямо- угольником ИК. В итоге у нас получится как бы финальная фаза "морфинга наоборот". 1.5 Hаходим шаг изменения цвета для каждого пикселя ИК: cstep(x,y)=(revC(x,y)-srcC(x,y))/n где: revC цвет соответствующего пикселя картинки из пункта 1.4 1.6 Hа этом фаза прекалькуляции закончена. 2. Делаем морфинг. 2.1 Двигаем опорные точки xo(i)+=xstep(i) yo(i)+=ystep(i) 2.2 Морфируем цвета srcC(x,y)+=cstep(x,y) 2.3 По полученным опорным точкам texturemappишь это в буфер. 2.4 Усё. выводим на экран. Как видишь, всё очень просто, но... медленно... Hу как, потянешь ? злобный Виталик AKA Dark/X-Trade




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
От редакции - Четвертый номер...
Начало - Ура! MОTОВАTОР с вами.
Байки из склепа - кошмары геймера наяву...
Бук - Житие великого митька Иисуса по кликухе Хpистос.
Системки - Разработка с помощью NedoOS

В этот день...   29 мая