Matplotlib多边形在多边形外部填充

时间:2019-11-19 15:18:09

标签: matplotlib scipy-spatial

我有一个用scipy.spatial.Voronoi创建的多边形集合(特别是Voronoi区域的一个子集),我想用matplotlib进行绘制。但是,似乎对matplotlib多边形的顶点顺序有一些限制,因为某些多边形最终以多边形的外部而非内部填充。在这些情况下,颠倒指定顶点的顺序似乎可以解决此问题,所以在我看来,这就像一个棘手的问题(即使文档中未提及此类内容)。

但是,由于某些多边形的顺序正确,而某些多边形的顺序错误,所以我不能只反转所有顶点列表,所以有一种方法可以检测不正确缠绕的列表并仅修复那些多边形一种使matplotlib自动执行等效操作的方法?

1 个答案:

答案 0 :(得分:0)

ImportanceOfBeingErnest的评论使我走上了正确的轨道,这又使我进入How to determine if a list of polygon points are in clockwise order?。基本上,我们找到多边形P的最右下点,P之前的A点和P之后的B点。叉积AP x PB的符号给出了绕组:CCW绕组为正,CW为负缠绕。