有人可以指导我如何在java中实现以下内容:在将任何直线多边形分割成两个或更多 block 后,我需要引用两个矩形。
Polygon http://img853.imageshack.us/img853/2475/picture1eu.jpg
我的算法:
ArrayList coordinates;
for (int a = 0; a < coordinates.size(); a++)
{
if (coordinates[a] at point of concave)
{
Draw intersecting line North Or South from coordinates[a] depending on
which direction remains inside the polygon.
}
}
在此特定图表中,两个凹边位于同一 x 轴上,但情况并非总是如此。
我猜我需要使用 Shape 和 Area 类?我想我最纠结的是我用什么来进行分割(常规 .drawLine?),然后能够引用这两个矩形。
谢谢。
最佳答案
您可以获得可能的矩形列表,找到 4 个顶点的所有可能组合。然后只留下矩形(检查相邻顶点的 x 和 y)。然后检查它们是否彼此相交。
此外,它们应该位于从 Polygon
创建的 Area
的主 Shape(使用 contains())方法内。
有效果吗?
关于java - 来自 splinter 的直线多边形的引用矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13452573/