primitive-cylinder
v1.0.3
Published
A minimal 3D cylindrical geometry, including normals, UVs, and mesh.
Downloads
34
Maintainers
Readme
primitive-cylinder
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
mesh = cylinder(radiusTop, radiusBottom, height, radialSegments, heightSegments)
Creates a new torus with options:
radiusTop
the radius of the cylinder at the topradiusBottom
the radius of the cylinder at the bottomheight
the height of the cylinderradialSegments
the number of segments for the radial axisheightSegments
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.