Skip to content

Iteratively split edges to get a more uniform tessellation

Notifications You must be signed in to change notification settings

ataber/edge-split

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

edge-split

experimental

Mesh refinement via edge-splitting. Does not change the surface normals. This package is useful if you want to refine your tessellation in order to more finely sample some field, but still preserve sharp corners in your mesh.

Usage

NPM

var bunny          = require('bunny')
var split          = require('./index');
var refined        = split(bunny.positions, bunny.cells, 0.01, 1000);
console.log(refined) # <- {positions: [[0.5,0.2,0.1], ...], cells: [[0,1,2],...]}

require("edge-split")(cells, positions[, edgeThreshold, maxIterations])

This returns a simplicial complex that has maximum edge length less than edgeThreshold. By default, edgeThreshold is set to the mean edge length. By default it will split indefinitely, which can be customized by the maxIterations argument. Note: this function modifies cells and positions in-place, so create a copy before using if needed.

Contributing

See stackgl/contributing for details.

License

MIT. See LICENSE.md for details.

About

Iteratively split edges to get a more uniform tessellation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published