I am dealing with mountains again.
Is there a way to outline / with curve more or less flat zones of the terrain. With max slope control.
Say from 5 degrees to 10 degrees make flat zones.
See attached sketch.
If I can get a closed curve I can then just make a flat surface to form a base for design.
I can extract points of the mesh which have a small difference in slope angle. Meaning the areas are almost flat.
But how to connect them into islands of flat surfaces following contours?
So basically blue zones should be flat but on different heights.
Site_Flat_Areas_LD.gh (227.7 KB) If I understand well it is quite easy with Mesh Iso Splitting
You can try mesh iso splitting but you will get triangular faces.
For each vertex you have to put a weight could be X, Y or Z depending on the plane you want to cut.
Yes it is possible to apply this technique to sphere.
Bust instead of applying contour I apply Mesh Iso Splitting, so you need to put a value (double not point) at each vertex of the mesh then iso-splitting then colorize.
here is a solution using Grasshopper. As I understand you want to apply displacement and depending of the displacement colorize your mesh. I have done a mesh isoplitting which could be useful.
I propose you a script that is doing a real egg shape as a surface. This surface is remeshed and some displament is added as a proportion on the height with a sinus. But you could imagine whatever function you want.
and then iso splitting, enter a mesh, a value for each point and an iso value and…
Thank you LD
It is what I need. Is it your custom C sharp component ? Is there a way to do it with native Grasshopper tools?
It is my custom C#, as it is a standard C# component, don’t whory there are no limitations.
It could be doable to make something similar but just for faces.
So you have to measure the angle of each face and then keep just the faces that have a normal less than X°. Then join the mesh. Then disjoin the mesh.
Cool thank you it is what I need.
I can then select all points of naked edges and create smooth contour lines of flat zones.
How would you go about creating a simple curved (in plan) shapes. Almost like terraces from the contours. So it looks like simplified stepping areas with stripes about 50m wide?
I think what I have to do is to find a way to create a new contours projected on a terrain surface but so the contour line are spaced 50m between each other in plan.
Then I will be able to select them , offset and create stepping like platforms .
Maybe I have to Use surfaces and not a mesh?
Here is what I need to do.
Exclude hilly parts from surface
Create new contours - 50m apart
Offset contours by 50m to create steps/terraces in less hilly areas
here is the sketch
I almost managed to split an existing surface / topography based on slope angle.
For this I was using LD custom C#. But I definitely doing it wrong as to create sections of different slope ranges I have to create a new mesh every time.
Need a little help …
Also surface split is terrible as there is almost no way to sort a list and cull required items ? Is there a better way?
Searching for the reference of the image you provided I found theses videos.
Could be useful for your problem
Cheers LD. Useful link. He basically use Rhino to split his surface ))
Which looks much easier then trying to do it in Grasshopper.
btw does your component can work with multiple values as a tree ? one branch is a collection of 10 degree angles , second 20 and so on . So I can get split lines for multiple angles ?
The component in this discussion is for multiple iso splitting
Thank you. I think I found an easy way to do it.
I create an analytical mesh where Z value equals to angle between normal and vector Z
I then slice this mesh to get contours for different slopes degrees
I project these curves back onto original NURBS surface and split it
The only question I have how to sort these surfaces relative to the original angles I have specified when created contours , and give them different colours?
Site_Flat_Areas_03re.gh (228.9 KB)
Not sure I didn’t make a mistake. But the logic is there.
Cool thank you.
I have another idea how to make it with Galapagos :)) will try tomorrow
Yep, logic looks correct, and I tried to follow it. I am training to separate spited surfaced in different branches of one tree by angle ranges.
No luck so far
Site_Flat_Areas_03reLD.gh (232.0 KB)
I think it similar to this… but I believe I have to find a way group my points relative to angles as angles taken from surfaces are not exact .
I think it is more like
grouping them with angle ranges. For example all points which fall between 0-10 degrees one branch
10-20 second and so on Sort list of my split surfaces using these groups and BANG !!!
Here’s how my code works with your “data”:
sort_vertices_2018Jan31c.gh (24.7 KB)
@Michael_Pryor’s version is simpler because, using Dispatch, it handles only two different polygon shapes, as per your model, whereas mine was happy sorting/sifting a wide range of shapes with “3 to 10” vertices into branches of the “data tree” (final results).
Still not sure I am doing it right, but It looks like found a way to group vertexes by their angles…