draw-triangles-2d
v1.0.0
Published
draws a simplicial complex using Canvas2D context
Downloads
88
Maintainers
Readme
draw-triangles-2d
Draws indexed triangles from a simplicial complex using Canvas2D context.
Positions and cells look like this:
{ positions: [ [25,25], [50, 50], ... ], cells: [ [0,1,2], [1,2,3], ... ] }
Demo:
var drawTriangles = require('draw-triangles-2d')
var path = [ [25, 25], [40, 30], [50, 75], [125, 15] ]
//get a thick polyline
var mesh = require('extrude-polyline')({
thickness: 20,
miterLimit: 1.5
}).build(path)
function render(ctx, width, height) {
ctx.clearRect(0,0,width,height)
ctx.beginPath()
drawTriangles(ctx, mesh.positions, mesh.cells)
ctx.strokeStyle = 'black'
ctx.lineJoin = 'bevel'
ctx.stroke()
}
Simplicial complexes are a common ground between various modules, such as triangulate-contours, extrude-polyline, etc.
Usage
draw(context, positions, cells[, start, end])
Draws the 2D positions and triangle cells (i.e. indices into positions) to the given context. You can specify start
(inclusive) and end
(exclusive) indices to only render a sub range of the cells. These values defualt to 0 and the length of cells
, respectively.
License
MIT, see LICENSE.md for details.