<p>For 3d printing this is not very relevant. The triangles only exist in the File read by the slicer. And there are file-formats that can describe rods without the need to use triangles.</p>

<p>If you create a model in a format that uses triangles than just use enough of them to get your model described fully. (millions of very small triangles) That is probably a waste on part where it has less details, but that just makes the file a bit bigger.</p>

<p>The problem of best print quality doesn't end there.</p>

<p>The slicer looks at the triangfles and creates a 2d image of the intersection of the triangles with the layer hight. It then creates g_COde paths along the lines in this 2d image for every Layer. Using triangles to describe the model will only give small line segments for these 2d slices. Therefore the G-Code creates will only have straight line movements (G0, G1).</p>

<p>With a format that can describe curves, the slicer could end up with circles and arcs on the 2d slice and could then use G2 and G3 moves. And if the Firmware of your printer understands these commands you would get the best possible quality with rather small model files.</p>

CC BY-SA 3.0
2016-03-21T18:14:20.740Z
Yes, well, Shapeways limits input files to 1 million triangles (or vertices? I forget, can't find it now).
Anton Sherwood
CC BY-SA 3.0
2016-03-22T16:47:24.680Z
They probably do this because their printer will not be able to create better quality. It makes no sense to have triangle so small that the tolerances of the printer are bigger. So with the given tolerances and the build volume you end up with a max number of triangles If they limit it below that then what they do is wrong.
Lars Pötter
CC BY-SA 3.0
2016-03-31T08:07:54.340Z
Shapeways also does some pre-checking of the design for topology and thinness.  Likely there's a number of facets beyond which that's hard to do efficiently.
Anton Sherwood
CC BY-SA 3.0
2016-03-20T15:38:43.993Z
2016-03-20T15:38:43.993Z
Lars Pötter
<p>I don't know whether this belongs here (where most of the questions appear to be about hardware) or on Math or on Blender (though I've never used Blender).</p>

<p>All of the <a href="http://www.shapeways.com/shops/bendwavy" rel="nofollow">designs that I've published so far</a> consist of grids of bent ‘rods’, and in most of them the spacing of vertices depends on the rod's local curvature; that's easy enough.  But I think some of these figures would look better as continuous surfaces, and it's not obvious to me how to arrange the vertices efficiently — that is, to triangulate the surface just finely enough that it's accurate to within the printer's resolution.</p>

<p>So: given a surface defined by well-behaved functions <em>x(u,v), y(u,v), z(u,v)</em>, is there a standard way to choose vertices in <em>u,v</em> space so that the length of each edge is roughly proportional to the radius of curvature in its direction?</p>

CC BY-SA 3.0
2016-03-14T13:19:33.207Z
Are you asking in regards to a specific software application? If so, which application are you using?
tbm0115
CC BY-SA 3.0
2016-03-15T01:17:04.100Z
My designs are mathematical, so I write a new little program for each.
Anton Sherwood
CC BY-SA 3.0
2016-03-15T19:37:44.140Z
And your little program creates STL, or what?
Lars Pötter
CC BY-SA 3.0
2016-03-15T21:29:58.390Z
I use .obj, not that it matters.  This is a question of mathematics, not of file formats or application commands.
Anton Sherwood
CC BY-SA 3.0
2016-03-16T11:28:15.903Z
This is a very math heavy question that probably belong on the Mathematics SE site.
Tormod Haugene
CC BY-SA 3.0
2016-03-16T23:35:46.553Z
Okay, I've taken it there.  I thought maybe, given that it seems like a common problem, there's a well known answer whose application (in contrast to its derivation or proof) is not so math-heavy.
Anton Sherwood
CC BY-SA 3.0
2016-03-17T07:58:57.237Z
@AntonSherwood could you post a link to the math.SE question? (You might be more likely to get an answer there, but that answer is clearly very useful to some members of the 3D printing community too - those who write software in particular.)
N. Virgo
CC BY-SA 3.0
2016-03-17T20:33:03.393Z
Oh, right: https://math.stackexchange.com/questions/1700853/triangulation-of-a-surface-adapted-to-curvature
Anton Sherwood
CC BY-SA 3.0
2016-07-03T20:21:00.200Z
I noticed that your question has not had much activity lately, are you still looking for an answer to this question? How might we be able to close some gaps?
tbm0115
CC BY-SA 3.0
2016-07-05T07:04:35.257Z
Sigh, I really don't know where to go with this.
Anton Sherwood
<3d-design><resolution><surface>
Triangulation adapted to curvature
Anton Sherwood
# Triangulation adapted to curvature

(Asked by: username_0 on 2016-03-14)

I don't know whether this belongs here (where most of the questions appear to be about hardware) or on Math or on Blender (though I've never used Blender).

All of the [designs that I've published so far](http://www.shapeways.com/shops/bendwavy) consist of grids of bent ‘rods’, and in most of them the spacing of vertices depends on the rod's local curvature; that's easy enough. But I think some of these figures would look better as continuous surfaces, and it's not obvious to me how to arrange the vertices efficiently — that is, to triangulate the surface just finely enough that it's accurate to within the printer's resolution.

So: given a surface defined by well-behaved functions *x(u,v), y(u,v), z(u,v)*, is there a standard way to choose vertices in *u,v* space so that the length of each edge is roughly proportional to the radius of curvature in its direction?

**Tags:** 3d-design, resolution, surface

> **Comments:**
> **username_1**: Are you asking in regards to a specific software application? If so, which application are you using?  
> **username_0**: My designs are mathematical, so I write a new little program for each.  
> **username_2**: And your little program creates STL, or what?  
> **username_0**: I use .obj, not that it matters.  This is a question of mathematics, not of file formats or application commands.  
> **username_3**: This is a very math heavy question that probably belong on the Mathematics SE site.  
> **username_0**: Okay, I've taken it there.  I thought maybe, given that it seems like a common problem, there's a well known answer whose application (in contrast to its derivation or proof) is not so math-heavy.  
> **username_4**: @username_0 could you post a link to the math.SE question? (You might be more likely to get an answer there, but that answer is clearly very useful to some members of the 3D printing community too - those who write software in particular.)  
> **username_0**: Oh, right: https://math.stackexchange.com/questions/1700853/triangulation-of-a-surface-adapted-to-curvature  
> **username_1**: I noticed that your question has not had much activity lately, are you still looking for an answer to this question? How might we be able to close some gaps?  
> **username_0**: Sigh, I really don't know where to go with this.  

---

## 1 answers

### Answer by username_2 on 2016-03-20. Score: 1

For 3d printing this is not very relevant. The triangles only exist in the File read by the slicer. And there are file-formats that can describe rods without the need to use triangles.

If you create a model in a format that uses triangles than just use enough of them to get your model described fully. (millions of very small triangles) That is probably a waste on part where it has less details, but that just makes the file a bit bigger.

The problem of best print quality doesn't end there.

The slicer looks at the triangfles and creates a 2d image of the intersection of the triangles with the layer hight. It then creates g\_COde paths along the lines in this 2d image for every Layer. Using triangles to describe the model will only give small line segments for these 2d slices. Therefore the G-Code creates will only have straight line movements (G0, G1).

With a format that can describe curves, the slicer could end up with circles and arcs on the 2d slice and could then use G2 and G3 moves. And if the Firmware of your printer understands these commands you would get the best possible quality with rather small model files.

> **Comments:**
> **username_0**: Yes, well, Shapeways limits input files to 1 million triangles (or vertices? I forget, can't find it now).  
> **username_2**: They probably do this because their printer will not be able to create better quality. It makes no sense to have triangle so small that the tolerances of the printer are bigger. So with the given tolerances and the build volume you end up with a max number of triangles If they limit it below that then what they do is wrong.  
> **username_0**: Shapeways also does some pre-checking of the design for topology and thinness.  Likely there's a number of facets beyond which that's hard to do efficiently.  

---

