我正在使用线性插值来在屏幕上的两个二维坐标之间进行对象动画。这已经非常接近我想要的效果,但由于四舍五入,我得到了一种锯齿状的运动。ASCII艺术如下:
注意它是如何按照曼哈顿网格行走的,而不是进行45度转弯。我想要的是沿着Bresenham算法所创建的线性插值:
ooo
ooo
ooo
oo
注意它是如何按照曼哈顿网格行走的,而不是进行45度转弯。我想要的是沿着Bresenham算法所创建的线性插值:
oo
oo
oo
oo
对于每个x,只有一个相应的y。(对于陡峭的线条,交换x/y)
那么为什么我不使用Bresenham算法呢?我当然可以,但那个算法是迭代的,而我只想知道沿着线的一个坐标。
我将尝试通过线性插值x坐标,将其舍入到像素网格,然后找到相应的y。(对于陡峭的线条,再次交换x/y)。不管这种解决方案如何,我都对其他建议和以前的经验感兴趣。