@thi.ng/geom-poly-utils
Version:
2D polygon/polyline analysis & processing utilities
17 lines (16 loc) • 447 B
JavaScript
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
};