2012-11-19 37 views
1

有人可以指导我如何在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?),然后能够在之后引用这两个矩形。

谢谢。

回答

1

您可以获得可能的矩形列表,查找4个顶点的所有可能组合。然后只留下矩形(检查邻居顶点的x和y)。然后检查它们是否相互交叉。

另外它们应该在Polygon创建的Area的主Shape(使用contains())方法内。

它工作吗?

+0

嗯,这听起来很有希望。我认为这会奏效。我会尝试实施,看看我如何继续。谢谢 – cworner1

+0

是的,稍微调整一下就可以解决我的问题了。 – cworner1