两个CGPoints之间的Lerp,以获取其间所有像素的值?

时间:2009-08-25 02:19:00

标签: iphone objective-c interpolation linear

我正在尝试在两个CGPoints之间进行搜索,以获取其间所有像素的值。我正试图找到一个更简单的解决方案,因为现在我有一个令人困惑的递归混乱。

问题是两点之间的冲刺会在两者之间产生一个点。现在我有两组要点通过......

必须有一种更简单的方法。

1 个答案:

答案 0 :(得分:1)

听起来你做的相当于在两点之间划一条线。事实上,直接的方法,例如递归地选择中点或“一点一点地”在两点之间移动并不是很吸引人。我相信你可以让Breshenham的线描算法适应这项任务:

http://en.wikipedia.org/wiki/Bresenham's_line_algorithm

该算法的基本特征是查看这两个点并确定该线是否主要在X或Y中移动。也就是说,“大多数X”表示线更接近水平,“大多数Y”表示更接近到垂直。然后它保证每次迭代都会为你提供一个新的像素,它会根据需要精确地移动X(或Y)方向的像素数。

而且,这很酷。