2

我正在寻找具有弯曲边缘的二维封闭不规则形状的轮廓,然后计算(a)形状区域的重心(质心)和(b)形状周长的重心(即例如,紧紧缠绕在形状外部的电线的质心)。我对 Python 和 Matlab 的熟练程度达到了初学者的水平。

(a) 和 (b) 很容易给定多边形的顶点:多边形面积的质心由此处的等式给出,多边形周长的质心只是所有线段中点的平均值,由线加权段的长度。我已经编写了一些函数来做到这一点。

我遇到的麻烦是从我知道如何绘制带有弯曲边缘的封闭形状的任何方式中获取/近似这些顶点。到目前为止,我想出的最佳解决方案是使用类似 thismatplotlib的脚本来绘制弯曲的形状,然后调用path.to_polygons(),它将 Path 对象转换为多边形 - 但这样做的分辨率低得惊人,因此产生的近似值很差(对于我的目的来说太差了——我想相当精确地计算这些质心)。

因此,我希望 (i) 找到某种方法来提高.to_polygons(大约 10 倍)的分辨率,这对我的目的来说是令人满意的,或者 (ii) 完全尝试一些新策略。一种选择是使用 Adob​​e Illustrator 之类的工具绘制形状,然后通过一些插件或图像处理工具箱获得它们的顶点的近似值(但我不知道如何做这两件事)。另一种方法是使用一些工具箱/库来绘制形状,该工具箱/库已经具有用于查找区域和周长的质心的内置功能(我见过一些有前者,但没有后者)。但我敢肯定,还有很多其他的选择我没有考虑过。

4

0 回答 0