确定位于四边形内部或四边形上的积分坐标数?

时间:2013-12-28 18:14:46

标签: algorithm graphics

有人可以告诉我任何算法,通过该算法,我可以找到位于四边形内部或四边形上的积分坐标的总数。四边形的坐标将作为输入给出,你必须告诉总数。位于四边形内部或四边形上的坐标。 例如,如果给出的点是(5,3)(1,1)(3,4)(6,1),则答案应为14.如果绘制四边形,则会发现只有14个整数坐标(3) ,2),(5,1)......等位于四边形内部和外侧。

1 个答案:

答案 0 :(得分:2)

如果四边形顶点具有整数坐标,则可以使用Pick's theorem

A = i + b/2 - 1

其中A是区域,i是内部整数点的数量,b是边界(边缘)处的整数点数。 您可以使用任何方法找到四边形区域(例如,see here),并在每条边上找到GCD(dx, dy)的边框点数(排除+1项以避免计算顶点两次)