isosurface

    1.0.0 • Public • Published

    isosurface

    Isosurface polygonizer algorithms in JavaScript. For more details, see the following blog posts:

    Or try out a live demo

    Example

    var isosurface = require("isosurface")
     
    var mesh = isosurface.surfaceNets([64,64,64], function(x,y,z) {
      return x*+ y*+ z*- 100
    }, [[-11,-11,-11], [11,11,11]])
     
    console.log(mesh)

    Install

    npm install isosurface
    

    API

    var isosurface = require("isosurface")

    isosurface.surfaceNets(dims, potential[, bounds])

    Extracts an isosurface from potential using surface nets with resolution given by dims.

    Params:

    • dims: A 3D vector of integers representing the resolution of the isosurface
    • potential(x,y,z): A scalar valued potential function taking 3 coordinates as arguments returning a scalar.
    • bounds: A pair of 3D vectors [lo, hi] giving bounds on the potential to sample. If not specified, default is [[0,0,0], dims].

    Returns: A mesh object with the following members:

    • positions: The coordinates of the vertices of the mesh
    • cells: The faces of the mesh.

    isosurface..marchingCubes(dims, potential[, bounds])

    Same as above, except uses marching cubes instead of surface nets to extract the isosurface.

    isosurface.marchingTetrahedra(dims, potential[, bounds])

    Same as above, except uses marching tetrahedra instead of surface nets to extract the isosurface.

    Credits

    (c) 2012-2014 Mikola Lysenko. MIT License

    Install

    npm i isosurface

    DownloadsWeekly Downloads

    28

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • mikolalysenko