【发布时间】:2012-11-22 07:16:28
【问题描述】:
我正在为我正在进行的项目寻求帮助。
我正在做的是一个多边形逼近算法。我已经得到了边界的所有点,但是为了启动算法,我需要从点集中找到左上角和右下角的点。所有点都存储在一个结构数组中,该数组具有每个点的 x 和 y 坐标。关于循环点数组的简单方法的任何想法?
任何帮助将不胜感激。如果您需要更多信息,请询问,我会尽力提供。
【问题讨论】:
-
是的,我知道如何“遍历点数组”——使用
for语句或while -
显然会有某种循环。我需要弄清楚如何确定左上角和右下角的点。如果它是左下角和右上角,它只是最小的 x+y 和最大的 x+y,但这不是我要找的。span>
-
左上角的定义是什么?是最高 y 最低 x 的点吗?当您有竞争标准时会发生什么,例如两点,一个具有最高的 y,但不是最低的 x,另一个具有最低的 x 但不是最高的 y。你如何选择获胜者。
-
说清楚;你需要你的边界矩形的角吗?还是多边形集中的一个点?
-
最大的 x+y 几乎不是“右上角”。如果您沿一个轴拉伸多边形,“顶部”和“右侧”保持不变,但您的“右上角”会发生变化。目前尚不清楚为什么“右上角”对于多边形近似很重要。无论如何,如果这是您想要的,请考虑翻转 x 坐标的符号反转“左”和“右”。