Thingiverse
Triangulation library for OpenSCAD
by arpruss
14
Downloads
6
Likes
0
Makes
This is a triangulation library for OpenSCAD. It will triangulate either a 2D or a 3D polygon (without holes). The 3D polygon should be at least approximately all on one plane, but minor deviations are OK.
Call:
```
use ;
...
triangles = triangulate(points,indices);
```
where `points` is a list of points and `indices` are indices into the list of points (if not specified, the default is `[0,1,...,len(points-1)]`. The triangles returned are a list of lists of indices into the `points`. Optionally, you can add `holes=[hole1,hole2,...]` where each hole is a list of indices. The holes must not touch the main polygon or each other.
If you want to see the triangulation, do
```
showMesh(points,triangles);
```
Currently, degeneracies (e.g., self-intersection) are not handled.
You can also refine a mesh recursively until all the edges are of a specified maximum length.
```
faces = triangulate(points,indices);
pointsAndFaces = refineMesh(points=points,triangles=faces,maxE
Call:
```
use ;
...
triangles = triangulate(points,indices);
```
where `points` is a list of points and `indices` are indices into the list of points (if not specified, the default is `[0,1,...,len(points-1)]`. The triangles returned are a list of lists of indices into the `points`. Optionally, you can add `holes=[hole1,hole2,...]` where each hole is a list of indices. The holes must not touch the main polygon or each other.
If you want to see the triangulation, do
```
showMesh(points,triangles);
```
Currently, degeneracies (e.g., self-intersection) are not handled.
You can also refine a mesh recursively until all the edges are of a specified maximum length.
```
faces = triangulate(points,indices);
pointsAndFaces = refineMesh(points=points,triangles=faces,maxE
arpruss also publishes on
5 additional models across 1 more platforms
Did you print this model? Sign in and share your make!
Sign in to leave a comment
Sign inNo comments yet – be the first!