Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取曲边闭合形状的近似顶点(用于计算质心和其他特性)_Python_Shapes_Curve_Polygons_Centroid - Fatal编程技术网

Python 获取曲边闭合形状的近似顶点(用于计算质心和其他特性)

Python 获取曲边闭合形状的近似顶点(用于计算质心和其他特性),python,shapes,curve,polygons,centroid,Python,Shapes,Curve,Polygons,Centroid,我希望画出具有弯曲边缘的二维闭合不规则形状的轮廓,然后计算(a)形状区域的重心(质心)和(b)形状周长的重心(即,例如,紧紧缠绕在形状外部的导线的质心)。我对Python和Matlab的熟练程度已经达到了初级水平 (a) 和(b)在给定多边形顶点时非常简单:多边形区域的质心由给定,多边形周长的质心只是所有线段中点的平均值,由线段长度加权。我已经编写了一些函数来实现这一点 我遇到的麻烦是从我知道如何绘制带曲线边的闭合形状的任何方法中获取/近似这些顶点。到目前为止,我提出的最好的解决方案是使用类似这

我希望画出具有弯曲边缘的二维闭合不规则形状的轮廓,然后计算(a)形状区域的重心(质心)和(b)形状周长的重心(即,例如,紧紧缠绕在形状外部的导线的质心)。我对Python和Matlab的熟练程度已经达到了初级水平

(a) 和(b)在给定多边形顶点时非常简单:多边形区域的质心由给定,多边形周长的质心只是所有线段中点的平均值,由线段长度加权。我已经编写了一些函数来实现这一点

我遇到的麻烦是从我知道如何绘制带曲线边的闭合形状的任何方法中获取/近似这些顶点。到目前为止,我提出的最好的解决方案是使用类似这样的方法来绘制曲线形状,然后调用
path.to_polygons()
,它将路径对象转换为多边形,但分辨率低得出奇,因此得到的近似效果非常差(对我来说太差了——我想相当精确地计算这些质心)

因此,我希望(I)找到某种方法来提高
.to_polygons
(大约10倍)的分辨率,这将符合我的目的,或者(ii)尝试一些全新的策略。一种选择是使用Adobe Illustrator之类的工具绘制形状,然后通过一些插件或图像处理工具箱获得顶点的近似值(但我不知道如何做这两件事)。另一种方法是使用一些工具箱/库绘制形状,这些工具箱/库已经内置了用于查找区域和周长质心的函数(我见过一些工具箱/库有前者,但没有后者)。但我确信还有许多其他选项我没有考虑