问题描述
我有一个封闭的多边形(起始顶点结束)和一个简单的多边形(内部无孔),我试图考虑一种算法,该算法可以在顶点之间绘制线,从而满足以下条件:
- 线的两端应该有平衡数量的顶点(一侧最多可以再有1个顶点)
- 线彼此连接时,它们必须成90度或135度的角度。
这是一个示例图像,您可以看到画出的蓝线满足上述条件:
解决方法
提示:
如果将顶点垂直投影在一条线上,则形状的“侧面”的顶点与投影方向对齐的顶点将形成簇,如果选择这些簇之一,则投影到该顶点上的线群集的中位数将满足您的平衡条件。
因此,可能的攻击途径是考虑几个初始方向,并以90°和135°的适当倍数旋转,然后研究如此获得的星团。
不用说,没什么简单的。 (但是您的问题不是。)