Using contours as the input, I have been experimenting with various ways to generate accurate terrain meshes using Rhino, Grasshopper, and also plugins such as Lands Design. All of the methods I have tested generate a common inaccuracy.
Essentially, it seems most methods use the Delaunay triangulation or similar, which often ends up creating triangular faces between 3 vertices on the same contour line rather than between two contour lines which results in flat faces that should actually be sloped. This is most common when a contour line takes a sharp turn causing control points on itself to be closer than those on the adjacent contour line.
I have included the image below to illustrate the issue:
The left half shows how all methods I have tried thus far generate the mesh. The green/yellow faces are areas that should be flat as there are no contours higher. The red faces are areas that are generated as flat faces but should be sloped.
The right half illustrates what I would like to achieve, with the red mesh edges forming triangular faces that are sloped when they should be.
I can manually edit the mesh to remove the flat sections, or use MeshFromPoints to get an approximation of the terrain, but neither of these is an ideal solution. I am hoping to find an automated way to generate accurate terrain that remains true to the contour data, with the control points of the contour lines used as the vertices for the mesh faces.
Is anyone aware of a way to generate meshes that conform to the actual topography in such a way?