【发布时间】:2018-05-18 23:06:13
【问题描述】:
目标是找到具有特定值的最接近的像素。为此,我想循环遍历像素,从最近的像素开始,随着距离的增加,直到达到符合我要求的像素(网格边缘或所需值)。
我相信这不是重复的,尽管之前出现过非常相似的问题。
Looping in a spiral 或 another spiral answer 很有用,但它们不会产生按到中心的距离排序的点。
Justin L.实际上提到他的应用程序是为了找到最近点,但忽略了实际距离。
例如,此图像中的算法会在 [0, 1] 之前找到 [1, 1],尽管 [0, 1] 与 [1, 1](距离为 √2)更近(距离为 1) .
我想获得按距离排序的积分
[1, 0] [0, 1] [-1, 0] [0, -1] [1, 1] ...
否则它不会是一个真正的螺旋。
This answer 建议以非常小的步长螺旋,但由于我不知道我需要螺旋多远,这听起来非常低效。
我希望这张图能让订单更清晰。
【问题讨论】:
标签: c++ grid generic-programming discrete-mathematics spiral