Computes the visible region from a point for a given environment represented by a collection of line segments. Based on Amit Patel's blog post
Just install it using npm:
npm install vishull2d
Then you can use it in your game like this:
var vishull = require("vishull2d")
//Line segments are encoded as pairs of arrays
var lines = [
[[10, 10], [10, -10]]
]
//Compute visible hull from the point [0,0]
var result = vishull2d(lines, [0,0])
var region = result.region
var ids = result.ids
require("vishull2d")(segments, center)Computes the visible hull from the point center
segments is a collection of line segmentscenter is the point from which the visibility is computedReturns: An object with two properties:
region a counter-clockwise oriented simple polygon representing the visible region.ids a list of indices into segments representing the walls visible from the region(c) 2013 Mikola Lysenko. MIT License