有人可以指导我如何在java中实现以下内容:我需要在从任何直线多边形分割成两个或多个部分之后引用两个矩形。
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?)然后能够引用两个矩形。
谢谢。
答案 0 :(得分:1)
您可以获取可能的矩形列表,找到4个顶点的所有可能组合。然后只留下矩形(检查邻居顶点的x和y)。然后检查它们是否相互交叉。
此外,它们应位于Area
创建的Polygon
的主要Shape(使用contains())方法中。
有效吗?