【问题标题】:Can be SVG path centroid calculated with paper.js?可以用paper.js计算SVG路径质心吗?
【发布时间】:2021-10-23 20:38:25
【问题描述】:

我想获得 SVG 路径的重心。我已经在使用 paper.js 进行路径操作,但我可以看到任何计算选项。有没有可能?

【问题讨论】:

  • 你的路径是多边形,或者你能用多边形来近似它们吗?如果是这样,您可以自己轻松计算:stackoverflow.com/a/43747218/1869660
  • 它们是通用曲线。

标签: svg paperjs


【解决方案1】:

如果您有一个Path 对象(最好没有自相交),您可以使用.flatten() 函数创建一个近似多边形克隆:

const path = ...

//Approximate polyline/polygon:
const poly = path.clone();
poly.flatten(8);
const polyPoints = poly.exportJSON({ asString: false })[1].segments;

然后,网上有几个资源解释了如何计算多边形的质心,例如:

Full example

【讨论】:

    猜你喜欢
    • 2012-08-17
    • 2022-11-21
    • 2010-11-11
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 2013-01-16
    • 2019-05-12
    相关资源
    最近更新 更多