если масштаб 1:1, то ничего не надо - просто усреднение с весом. Для масштаба 1:2, 1:3, 1:4 можно применить следующий алгоритм. Есть 3 последовательных экрана Э1, Э2, Э3. В тех точках экрана, где ничего не меняется, вопросов как поступать - понятно, что нет. Это случай 111 и 000. Для точек, где что-то меняется, можно попробовать применить что-то вроде hqm-фильтра, но во времени. Берем матрицу 3х3 точки вокруг каждой точки, которая менялась, и отслеживаем ее изменение за последние 3 кадра. Итого на входе 27-разрядное значение, получается матрица решений в виде таблицы на 2**27 входов (128 млн.) Это много, но можно отдельно брать 4 матрицы 2х2. Т.е. для исходной матрицы
ABC
DEF
GHI
рассматривать 4 матрицы
AB BC DE EF
DE EF GH HI
Тогда получается 4 решения по 4 таблицам разрядности 12, т.е. каждая на 4096 входов. Теперь берем финальную таблицу, которая по 4 полученным решениям определяет, что конкретно делать с центральной точкой E.
В итоге можно решить (собственно, для чего весь сыр-бор), в какую сторону двигается данная конкретная точка. Например:
Э1 Э2 Э3
111 110 100
110 100 000
100 001 011
в данном случае центральная точка "движется" вместе с окружающими ее точками влево. Это значит, что при увеличении ее в 2, 3 или 4 раза левые части ее образа оставлям полностью закрашенными, и только самую правую точку в образе точку заполняем смешиванием по формуле (в формуле надо учесть, что наример для масштаба 2 уже 50% точки закрашено).
(Но если честно, все это слишком медленно даже для современным пней, кроме может быть, самых крутых. Я не собираюсь париться таким макром, и просто весь образ исходной точки буду красить по формуле. Так быстрее получится, а эффект будет вполне приличный. Ведь на самом деле проблема в том, что глаз ловит некратность частоты кадров, видимую по отношению к идеальной частоте 50Гц, даже при условии очень хорошей равномерности отображения).




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
