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




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

Похожие статьи:
Новости - Firestarter. Spriter by StАLL. Last Demо оf АwaКen. И нaступилa тьмa. Мagiс Eye. МineSweeper Prо. Cетевые новости.
Обратная связь - контакты редакции.
Люди - Ушел спектрумист - Андрей Cмирнов(Ded Smirnoff) из "Power Of Sound" Group.
Системный софт - Pro Tracker глюки!!! несколько глючков в ProTracker'ах.
Божественная комедия - "Kaк-то рaз сидел, от скуки взял издaние я в руки."

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