【发布时间】:2012-04-30 04:27:16
【问题描述】:
我正在寻找一种在凹面或凸面多边形内找到轴对齐矩形的方法。
我一直在网上寻找,我能找到的最接近的解决方案只适合凸多边形,而不适合凹多边形。例如 -
Finding an axis-aligned rectangle inside a polygon
说实话,我不是一个出色的数学专家,所以我宁愿找到代码示例或代码库,但我想我可以自己处理一些数学,或者找人来帮助我。
如果解决方案也可以使用 Java 那就太好了,但也许我太贪心了 :P
编辑:为了回应 Russell 的评论,我添加了更多信息。
有界矩形应尽可能大。该矩形旨在在其中包含文本。最多 1 到 4 个字,支持文本换行。因此,例如,如果它太薄,我会垂直放置文本而不是水平放置。因此,对于纵横比,我想它需要足以容纳 1-4 个单词,无论是垂直还是水平,并带有自动换行。如果矩形很小,我可以调整文本的大小,但最好是文本尽可能大。
另一个很好的要求是,如果多边形的一般方向是对角线,并且文本在对角线方向时会更合适,那么矩形不一定与轴对齐,而是与多边形的对角线对齐。我想这个需求让这变得非常棘手,但如果你们认为它可能,那就太好了!
我想我现在已经满足了所有要求。 :P
谢谢!
【问题讨论】:
-
矩形是否有更多限制?你想要它的最大面积吗?有一定的高度或宽度?或者也许是某个纵横比?它是否应该至少接触两个角的边缘?对于可能存在多个不同可能位置的凹多边形,是否存在更好的启发式方法?
-
嗨罗素,感谢您的回复!我已经更新了我的问题。
标签: java geometry computational-geometry