java - 将adiacent矩形合并为多​​边形

 淡若无诤 发布于 2023-02-05 10:51

我有一组具有相同宽度和高度的矩形,并且始终是adiacent.我知道所有顶点的位置,每个顶点只有4个(因为是正方形).

这张图片可以解释这个: 在此输入图像描述

如果有任何差距,如果算法将"填补"差距,则可以.

我搜索了很多,找不到任何好的东西.我需要一个简单的算法,它不一定非常有效.让我们说我们有7个矩形,就像图像中的第二个多边形示例一样.如果我先将1与2合并,然后将我们的新多边形与3合并,那么就可以了,依此类推,它不一定非常快,因为最多会有50个矩形.

1 个回答
  • 因为您的形状仅由矩形组成且它们始终相邻,所以合并算法比没有这些假设的算法简单得多.

    从矩形创建所有边的列表.一个矩形有4个边.

    Edge与正确定义一个类compareTo()equals().

    对边列表进行排序(使用compareTo).

    遍历列表.如果列表TWICE中存在相同的边缘,请从列表中删除它们.

    其余边是多边形的边.

    2023-02-05 10:52 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有