@oneisland/tessellation
v0.0.2
Published
A simple library for triangle face tessellation
Downloads
11
Maintainers
Readme
A simple library for triangle face tessellation
Installation
Tessellation is available through the npm registry:
$ npm install @oneisland/tessellation
Usage
After installing Tessellation you can use the package like so:
simple-usage.js
// Import the tessellation package
import { Tessellation } from '@oneisland/tessellation';
// Create a new tesselation and extract the vertices and faces as a result
const { vertices, faces } = new Tessellation({
// Add the vertices
vertices: [
[-0.5, -0.5, 0.5],
[ 0.5, -0.5, 0.5],
[ 0.5, -0.5, -0.5],
[-0.5, -0.5, -0.5],
],
// Add the faces
faces: [
[2, 3, 0],
[2, 1, 0],
],
// Subdivide the faces one time
divisions: 1
});
// Log the output of the vertices
console.log('Vertices:', JSON.stringify(vertices, null, 2));
// Log the output of the faces
console.log('Faces:', JSON.stringify(faces, null, 2));
Running the following code with Node:
$ node simple-example.js
Export the output of the code
Vertices: [
[
-0.5,
-0.5,
0.5
],
[
0.5,
-0.5,
0.5
],
[
0.5,
-0.5,
-0.5
],
[
-0.5,
-0.5,
-0.5
],
[
-0.5,
0.5,
0.5
],
[
0.5,
0.5,
0.5
],
[
0.5,
0.5,
-0.5
],
[
-0.5,
0.5,
-0.5
],
[
0,
-0.5,
-0.5
],
[
0,
-0.5,
0
],
[
-0.5,
-0.5,
0
],
[
0.5,
-0.5,
0
],
[
0,
-0.5,
0.5
]
]
Faces: [
[
2,
8,
9
],
[
8,
3,
10
],
[
8,
10,
9
],
[
9,
10,
0
],
[
2,
11,
9
],
[
11,
1,
12
],
[
11,
12,
9
],
[
9,
12,
0
]
]
Please read the documentation below for more details on how to configure Mesh Exporter.
You can check out the tests or the source code of our Structure library for more complex usage.
Documentation
Tessellator
class Tessellator {
constructor({ vertices, faces, divisions = 1 }) {
return { vertices, faces }
}
}
constructor
The constructor
function is called to perfrom a subdivision.
The constructor
function returns an Array of vertices
and faces
after subdivision.
vertices
The vertices
argument should be an Array of Vertex values.
faces
The faces
argument should be an Array of Face values (representing indices of vertices
).
divisions
The divisions
argument should be a Number which defines how many times the faces should be recursively subdivided.
License
Copyright (c) 2019-present, OneIsland Limited