Topography Terrain generation error

I have problems doing the topography, I use Grasshopper to join the curves but I get these results. I don’t understand why. I attach specifications, tha
nks in advance for your help <3


Hi Antonio -

That’s how Delaunay triangulation works. You’ll have to cull triangles that are outside the borders. If you search this forum, there are multiple posts about that.
-wim

Hi Wim, sorry if I didn’t understand well, what do you mean by moving the triangles? I’ve seen dozens of tutorials and none find these errors, and I don’t understand how to proceed. Could you kindly point me to the article that’s right for me, or could you explain better how to proceed

3. Attach minimal versions of all the relevant files

i use delaunay triangulation for topos and there will always be cleanup whether in rhino or gh

for consistent results, only triangulate the contours, and then trim it with your boundary curve.

in your case, triangulate only the curves that represent the hillside (red curves). do not include the stacked curves that would be “cut earth” (curves with yellow X’s, typical) or the boundary curve (green curve) in the triangulation.

you might need to extend the contour curves by ~ 15% at both ends to create a large mesh patch that contains more topography than you need. then you can split the mesh with the boundary curve (green curve) to get the just the topography that you need. this helps with cleanup

I attach the rhino file.
erorre.3dm (986.4 KB)

why do I have to extend the land? I cleaned the curves and left only the slopes but it doesn’t work, I don’t understand why I have to extend the curves by 15%, thanks for your reply

Hi Antonio -

I didn’t say move, I said cull.

Searching this forum for “Cull Delaunay” shows, e.g., the following:

-wim

1 Like

some of the errors like here in yellow:

happen because the shape is concave (the shape “bends” inwards"). if you create more topography than you need and then cut it afterwards, the result will be cleaner because the delaunay meshing won’t try to bridge the “bend” in the outline of the shape.

an analogy would be like rolling out cookie dough and making cookies → you usually roll out an area of cookie dough that’s larger than the final shape of the cookie. the cookie cutter trims out the final shape of the cookie

no idea how to resolve the random stuttering indicated by the sea-green marks

1 Like

perfect now I understand correctly, you were very clear thanks! now I have to resolve the errors within the perimeter (your green signs)
seeing it up close it seems that the points of the curves are hooked to non-existent points, creating those forced triangular shapes

yeah not sure how to go about resolving these faces.

it looks like segments are unexpectedly drawn between points on different contours. one reason this happens is because in a projected plane those two points on different contours are closer together than two points on the same contour. delaunay meshing will connect the two closest points on a projected plane even if they have different Z-coordinates

  1. increasing the subdivision of each curve could help with the tradeoff of a larger mesh / longer computation. may not fully resolve the issue, so probably not the best idea.

  2. maybe compare the Z-coordinates of each vertex on face to the average Z-coordinate for that face, and cull the face if the difference between the Z-coordinate and the average is too large?

  3. you could compare the normal of each face to the unit Z-vector, and if the difference is too large, that face is culled. might be faster to implement with less data tree management. might leave the mesh with unexpected holes

my vote is for option 2 or 3 or some variation of them

Try this GH too.
terrain.gh (451.1 KB)

1 Like
1 Like

Update.
terrain a.gh (456.5 KB)

1 Like