Neverending Package Mountain

    primitive-sphere

    3.0.0 • Public • Published

    primitive-sphere

    stable

    screen

    (demo)

    A minimal UV sphere geometry for 3D rendering, including normals, UVs and cell indices. The algorithm has been adapted from BabylonJS.

    Example

    var radius = 1
    var mesh = require('primitive-sphere')(radius, {
      segments: 16
    })
     
    // the simplicial complex
    console.log(mesh.positions, mesh.cells)
     
    // rendering attributes
    console.log(mesh.uvs)
    console.log(mesh.normals)

    Usage

    NPM

    mesh = sphere(radius, [opt])

    Creates a new UV sphere mesh with the given radius (default 1) and options:

    • segments number of segments to use, defaults to 32

    The returned mesh is an object with the following data:

    {
      positions: [ [x, y, z], [x, y, z], ... ],
      cells: [ [a, b, c], [a, b, c], ... ],
      uvs: [ [u, v], [u, v], ... ],
      normals: [ [x, y, z], [x, y, z], ... ]
    }
    

    See Also

    License

    MIT, see LICENSE.md for details.

    Install

    npm i primitive-sphere

    DownloadsWeekly Downloads

    4,092

    Version

    3.0.0

    License

    MIT

    Last publish

    Collaborators

    • mattdesl