A boolean that cuts a pocket into the top of a cylinder (Shell does this) splits the outer wall's straight seam edges at the pocket's floor. The wall's parameter grid has no division along its rulings, so the triangulation fanned out from the two split vertices to the far rims and its triangles cut through the part: the shelled Bolted Flange sample drew and exported its rim cut off (mesh volume 29201 mm3 for a 40796 mm3 body). Give the grid a line through each vertex that splits a boundary segment running along a ruling, in a direction that needs no division of its own and within the grid budget. Fixes #819. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
truck-meshalgo
Mesh algorigthms, include tessellations of the shape.
Sample Codes
filleted-cube
An experiment to decompose a mesh into elements for future NURBS-shape approximation of the mesh.
Contains doc(hidden) methods.
- Input: filleted_cube.obj
- Output: planes.obj, lower.obj, upper.obj
irregular-sphere
Add the normal to the sphere containing the irregular normal generated from the NURBS containing the critical point.
- Input: irregular_sphere.obj
- Output: regular_sphere.obj
octahedron-subdivision
Apply loop subdivision to regular octahedron.
- Input: hardcoded octahedron
- Output: octahedron.obj, subdivision-octahedron.obj
requadrangulate-buddha
A benchmark that reads in heavy mesh data, applies triangulation and quadrangulation, and writes it out.
- Input: happy-buddha.obj
- Output: requadrangulated-buddha.obj
smoothing-bunny
Adds smooth normals to the stanford bunny.
- Input: bunny.obj
- Output: smooth_bunny.obj
splitting-sample
An experiment to decompose a mesh into elements for future NURBS-shape approximation of the mesh.
- Input: sample.obj
- Output: planes_parts_#.obj, others_parts_#.obj
teapot
Adds smooth normals to and quadrangulate the famous teapot.
- Input: teapot.obj
- Output: quaded_pot.obj
tessellate-shape
Tessellate a shape and output an obj file.
usage: tessellate-shape <input json file> <output json file>
The default <output file> is output.obj.