答案 0 :(得分:1)
如果要计算所有梯形部分面积的总和,可以使用以下公式:
Area = ((sum of all y values)- 0.5*((first y value)+(last y value)) * (delta x)
或者,JavaSript代码:
A = (y.reduce((s,v)=>s+v)-.5*(y[0]+y[y.length-1]))*deltax
答案 1 :(得分:1)
我基于出色的答案https://stackoverflow.com/a/10045537/4505826解决了这个问题。 请记住,路径必须是封闭路径,这意味着它必须以Z结尾。
运行代码时,浏览器会不断通知这些错误:
::::解决方案:如下调整上述代码::::
path.getPointAtLength(d) -> path.node().getPointAtLength(d)
path.getTotalLength(d) -> path.node().getTotalLength(d)
然后替换
var doc = path.ownerDocument;
var poly = doc.createElementNS('http://www.w3.org/2000/svg','polygon');
作者
var poly = document.createElementNS('http://www.w3.org/2000/svg','polygon');