I have a detailed mesh that is concave in parts so there are multiple surfaces for a given x,y coordinate. What is the best way to filter the mesh so that there is only the lowest surface at any given point.
I can think of some really inefficient and buggy ways, such as converting the mesh to points, 2d forcing (keep z value as attribute) find duplicate points, then 3d force and rebuild the mesh. This may work on simplier areas, but has the risk of completely changing your mesh when its rebuilt...
I can think of some really inefficient and buggy ways, such as converting the mesh to points, 2d forcing (keep z value as attribute) find duplicate points, then 3d force and rebuild the mesh. This may work on simplier areas, but has the risk of completely changing your mesh when its rebuilt...
I was thinking something along the lines of
break the mesh into individual faces/triangles
store the centroid Z-value as an attribute
find overlapping triangles (create list of overlapping centroid values)
filter out any overlapping triangles whose z-centroid value is greater than the lowest z-value in the list
rebuild the mesh with the remaining triangles.
This does seem like a brute force approach, and I was hoping someone with more experience with meshed or 3d in general has a better option.
I may be doing something wrong, but even in drape mode model, only the perimeter of the polygon is given a z value.
oooh yeah right, draping will only drape the vertices. You'll need to replace the polygon with a bunch of points I guess. Then once the points are draped you can use a SurfaceModeller to produce the TIN