UNPKG

@thi.ng/geom-poly-utils

Version:

2D polygon/polyline analysis & processing utilities

17 lines (16 loc) 447 B
import { illegalArgs } from "@thi.ng/errors/illegal-arguments"; import { add } from "@thi.ng/vectors/add"; import { divN } from "@thi.ng/vectors/divn"; import { empty } from "@thi.ng/vectors/empty"; const centroid = (pts, out) => { const num = pts.length; !num && illegalArgs("no points"); !out && (out = empty(pts[0])); for (let i = num; i-- > 0; ) { add(out, out, pts[i]); } return divN(out, out, num); }; export { centroid };