我使用pygame绘制多边形但是当线条太粗时,多边形的边缘会有间隙。我希望填补这些空白。我找到的解决方案是绘制一个填充多边形,在所有间隙中有4个点,如下图所示。但我不知道如何找到多边形的4个点,这就是我的问题。此外,如果你能找到一个更好的解决方案。
注意:多边形不是常规的,它只是由许多点组成。如果您的解决方案不在python中,它也没问题。
答案 0 :(得分:1)
如果您的多边形没有锐角(方向变化超过90°),
在每个角点,将两条线延伸(lineWidth/2)*tan(angle)
。角度是方向变化的量,而不是段之间的内角。
如果你确实有锐角,它会变得更复杂。线段不能再绘制为矩形,您只能扩展多边形的“外部”边缘。这个公式是一样的。
答案 1 :(得分:0)
您可以延长线条以填补空白。虽然picture 不好,可能足以想象这个想法。