UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

2 lines (1 loc) 398 B
const e=.01;function f(r,t,n){return Math.abs(.5*(r.x*(t.y-n.y)+t.x*(n.y-r.y)+n.x*(r.y-t.y)))}export function computePolygonArea(r){if(r.length<3)return 0;let t=0;for(let n=1;n<r.length-1;n++)t+=f(r[0],r[n],r[n+1]);return t}export function pointInPolygon(r,t,n=computePolygonArea(t)){if(n===0)return!1;let u=0;for(let i=0,a=t.length-1;i<t.length;a=i++)u+=f(r,t[a],t[i]);return Math.abs(n-u)<n*.01}