java - 来自 splinter 的直线多边形的引用矩形

标签 java polygon

有人可以指导我如何在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/

相关文章:

java - 将 ShareActionProvider 与 Android 支持库结合使用时出现 NullPointerException

java - JSVC 无法注册 native 方法

java - 如何在 Java 代码中监视/检查数据/属性流

html - 带有剪辑路径的 div 内的元素不适用于绝对位置

java - 有时会出现 while-true 循环循环

java - 更新 JFrame 中的 JPanel

graphics - 什么是顶点着色?

java - 基于交叉点创建多边形

r - 从点创建凸包多边形并另存为shapefile

android - Google Maps API 多边形中的 fillColor 不起作用