【发布时间】:2014-12-18 07:11:45
【问题描述】:
假设我有一个 10x10 的网格(可以是任何大小,但只是为了举例说明 10),并且该网格有 3 个点标记三角形的顶点(同样可以是任意数量的定界任意形状的点)。
所以我的问题是......有没有办法只给出这些信息来以编程方式确定任何给定坐标是否在该形状内?
免得说坐标是 3,2-7,3-5,5。我可以在遍历给定网格时挑选出落在这些点内的单元格吗?
【问题讨论】:
-
这可能对你的研究有所帮助:这个问题通常被称为point in polygon。
-
您想检查几个点是否在一个多边形中,或者您是否有一个网格并且想要确定属于多边形一部分的所有个正方形?第一个是前面提到的多边形点问题,后者是光栅化,需要完全不同的算法(如果你希望它高效的话)。
-
对于凸的情况,这很容易,但你说'任何任意形状',所以我假设你会有非凸的形状。对吗?
-
@delnan,我需要确定多边形中的所有点。
-
@TobiLehman 是的,也可以是非凸的。它用于创建非矩形的元胞自动机模拟。
标签: algorithm computational-geometry