0
点赞
收藏
分享

微信扫一扫

C# 多个矩形围成的多边形标注位置的问题


如下图1,需要对各小块进行序号标注。

如果按组合多边形的方式,则会出现图2的情况,序号不在块内或排列不美观。

C# 多个矩形围成的多边形标注位置的问题_python

C# 多个矩形围成的多边形标注位置的问题_c#_02

如图2,序号不在合适的美观位置。

C# 多个矩形围成的多边形标注位置的问题_c#_03

这种如何将带圈的序号绘制成如上图所示的样子,由于点和图形非常多,需要程序绘制,求解。

也就是说,需要对各矩形小块组成的多边形进行序号标注。如果按组合多边形的方式,则会出现可能序号不在块内或排列不美观。

上述问题转化为:如何通过编程方式在任意多边形中找到最大的内接矩形?

参考文献:

​​多边形区域信息最佳注记位置分析 - 道客巴巴

C# 多个矩形围成的多边形标注位置的问题_任意多边形_04

http://www.doc88.com/p-0864523372688.html​​

前段时间有个求点是否在多边形内部的需求,折腾了不少时间,现截取其中的的重点部分——求任意多边形内部水平方向似最大矩形——来搞篇博客。求点是否在多边形内部这个算法很容易搞,一搜一大把,但数据量大的时候,算法就必须进行优化。一个显然的优化点就是求最大内接矩形,毕竟判断点是否在矩形内,最多只需要执行四个判断语句,执行速度非常快;而要判断多边形,则需要与每条边比较,相对于矩形会慢很多,特别是在做GIS数据的时候,基本全是复杂多边形。


举报

相关推荐

0 条评论