J JohnsonGuo Unregistered / Unconfirmed GUEST, unregistred user! 2000-11-27 #3 通常有两种算法: 1.直接算法.对图像中的每一个点运用公式 x' = x cos a + y sin a y' = -x sin a + y cos a 求得的点的坐标一般来说不是整数,对该坐标按离整数坐标点的距离加权到整数坐标点. 2.间接算法.对结果图像中的每一点反用上面公式 x = x' cos a - y' sin a y = x' sin a + y' cos a 求得的点的坐标按离整数坐标点的距离求插值颜色值
通常有两种算法: 1.直接算法.对图像中的每一个点运用公式 x' = x cos a + y sin a y' = -x sin a + y cos a 求得的点的坐标一般来说不是整数,对该坐标按离整数坐标点的距离加权到整数坐标点. 2.间接算法.对结果图像中的每一点反用上面公式 x = x' cos a - y' sin a y = x' sin a + y' cos a 求得的点的坐标按离整数坐标点的距离求插值颜色值
B BaKuBaKu Unregistered / Unconfirmed GUEST, unregistred user! 2000-11-28 #4 实现很难,因为 Bitmap 本身是方的,需要逐一计算每一像素的变换坐标,在内存里开辟 Bitmap 缓冲,再显示到屏幕上。
吕 吕雪松 Unregistered / Unconfirmed GUEST, unregistred user! 2000-11-28 #5 坐标变换+象素操作。不过要处理好变换后的“空洞”问题(用相邻象素进行计算来求平均 值)。
G g622 Unregistered / Unconfirmed GUEST, unregistred user! 2000-11-28 #6 不难啊,“空洞”问题其实可以反向求解的方式解决,就是说,不是已知 假如sx,sy是源图象点坐标,tx,ty是目标图象点坐标,直接的想法是 通过tx=f(sx),ty=f(sy)算对应点在目标图象中的位置,但这样会因为f(x)的 值不是连续的,要取整;所以可以用y=f(x)的反函数用y求解x,即用目标点的坐标 去找源图中对应那个点。 具体的函数,上面有,而且网上有一堆c++的源码
不难啊,“空洞”问题其实可以反向求解的方式解决,就是说,不是已知 假如sx,sy是源图象点坐标,tx,ty是目标图象点坐标,直接的想法是 通过tx=f(sx),ty=f(sy)算对应点在目标图象中的位置,但这样会因为f(x)的 值不是连续的,要取整;所以可以用y=f(x)的反函数用y求解x,即用目标点的坐标 去找源图中对应那个点。 具体的函数,上面有,而且网上有一堆c++的源码