Skip to content

Instantly share code, notes, and snippets.

View bstchow's full-sized avatar

Brandon Chow bstchow

  • Warbler Labs
  • Los Angeles
View GitHub Profile
@bstchow
bstchow / pnpoly.ts
Created October 6, 2025 04:36
pnpoly Typescript
/**
* Converted to Typescript from Original C code in...
* https://wrfranklin.org/Research/Short_Notes/pnpoly.html
*/
const pnpoly = (vertices: [number, number][], testPoint: [number, number]) => {
let c = false
for (let i = 0, j = vertices.length-1; i < vertices.length; j = i++) {
if (((vertices[i][1]>testPoint[1]) != (vertices[j][1]>testPoint[1])) &&
(testPoint[0] < (vertices[j][0]-vertices[i][0]) * (testPoint[1]-vertices[i][1]) / (vertices[j][1]-vertices[i][1]) + vertices[i][0])) {
c = !c;