Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

primitive-cylinder

ataber41MIT1.0.3

A minimal 3D cylindrical geometry, including normals, UVs, and mesh.

ecosystem:stackgl, cylinder, cone, frustum, arrow, mesh, simplicial, complex, meshes, geo, geometry, meshes, 3d, circle, primitive, stackgl

readme

primitive-cylinder

stable

screen

(demo)

A minimal 3D cylindrical geometry, including normals, UVs, and mesh.

Example

var cylinder = require('primitive-cylinder')
var mesh = cylinder(10, 10, 50, 10, 10)

// the simplicial complex
console.log(mesh.positions, mesh.cells)

// rendering attributes
console.log(mesh.uvs)
console.log(mesh.normals)

Usage

NPM

mesh = cylinder(radiusTop, radiusBottom, height, radialSegments, heightSegments)

Creates a new torus with options:

  • radiusTop the radius of the cylinder at the top
  • radiusBottom the radius of the cylinder at the bottom
  • height the height of the cylinder
  • radialSegments the number of segments for the radial axis
  • heightSegments the number of segments for the height axis

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], ... ]
}

Note that you can build a cone by setting one of the radii to be zero.

Contributing

See stackgl/contributing for details.

Credits

The algorithm here is from ThreeJS CylinderGeometry.

License

MIT. See LICENSE.md for details.