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

Matplotlib多边形在多边形外部获取填充,matplotlib,scipy-spatial,Matplotlib,Scipy Spatial,我有一个多边形集合,用scipy.spatial.Voronoi(特别是Voronoi区域的子集)创建,我想用matplotlib绘制。但是,matplotlib多边形的顶点顺序似乎有一些约束,因为有些多边形最终填充在多边形的外部而不是内部。在这些情况下,颠倒顶点的指定顺序似乎可以解决问题,因此在我看来,这似乎是一个棘手的问题(即使文档中没有提到类似的内容) 但是,由于有些多边形的顺序正确,有些多边形的顺序错误,所以我不能反转所有的顶点列表,那么,有没有一种方法可以检测错误的列表并只修复这些列表

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


但是,由于有些多边形的顺序正确,有些多边形的顺序错误,所以我不能反转所有的顶点列表,那么,有没有一种方法可以检测错误的列表并只修复这些列表,或者让matplotlib自动执行相同的操作?

ImportanceOfBeingErnest的评论让我走上了正确的道路,这反过来又让我找到了正确的方法。基本上,我们在多边形P中找到最右下角的点,P之前的点A,P之后的点B。叉积AP x PB的符号表示绕组:逆时针绕组为正,顺时针绕组为负。

我假设多边形是凸的?然后检查它们的点是否围绕中心点逆时针旋转,就会告诉你它们是否需要反转。