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.

Package Sidebar

Install

npm i primitive-sphere

Weekly Downloads

1,262

Version

3.0.0

License

MIT

Last publish

Collaborators

  • mattdesl