Grasshopper

algorithmic modeling for Rhino

Hi

I would like to generate a road/street network on a terrain mesh.

I have 2D map information and I have generated the terrain mesh from the contours that I have traced. I would like to use the traced road lines as break lines however I haven't got the z dimension on the road lines (they are 2D lines and I need to guess it) and I need to project the road lines on the mesh. However some of the projected lines are awkward because I have very few contour lines and they don't relate very well to the existing road network.

Basically what I want is to 'sculpt' the terrain mesh using breaklines but changing the z dimension by hand is very time consuming and inefficient. I want to come up with a flow chart that will generate the breaklines that relate to the topography and with a certain gradient.

I have used the attached gh chart that divides the curve and creates a new one moving the points on the z dimension and keeping the curve to a gradient but it still takes a long time and I need to go segment by segment depending on whether the gradient goes upwards or downwards.

I am thinking of using attractors that will create lines/vectors from the road lines(or their points) on the z dimension that will move up to a certain distance to the terrain (eg no more than 5m from the surface either above or below, as if I were creating a road through a small hill that needs to be excavated) to create new breaklines to a gradient and keeping a relation with the topography. Not sure if this make sense at all!

I have been looking at other ways of manipulating terrain meshes and I have come across with methods that use bitmaps to create heightfields and point clouds. The bitmaps can be manipulated in photoshop and brought back to rhino and gh to create the terrain. But I am not sure if this could be any quicker and it would not be as sharp/accurate as creating breaklines on the terrain

Any ideas would be appreciated

Thanks

Mikel

Views: 1782

Attachments:

Replies to This Discussion

Hey Mikel,

I work with terrain and might have some ideas to help. 

Once you have your mesh from contours I would transform that into a surface. To do this, at any resolution, make a  new surface beneath your topo and subdivide it into, say 512x512, points (using sub-divide surface or similar). Project those points in the (z) through your original mesh and sample the intersections. If you do this right your intersecting points should be in the same order as the surface points you projected through your mesh. Assuming all projected points hit the mesh...if not average those to their closest neighbors that do.... and by rebuilding a new surface with the intersecting points (at the same sub-division level) you get your new surface that represents your topo [at whatever resolution you decided].

2. BreakLines... next take your traced road lines and project them (z) to your new surface. From here you should be able to manipulate the surface based on the projected roads (curves). Then you can easily make that surface into a mesh using any method you choose.

I wrote this thing yesterday that does part of your suggestion:

http://www.grasshopper3d.com/forum/topics/manage-the-creation-of-li...

It uses a surface instead of a mesh but adapting it is easy - see attached.  With a slight re-wiring, it will now work with either a NURBS surface or a mesh.

Attachments:

Thanks for this! Brilliant!

Hey guys,

I am interested in these field generation problem,
Feel free to visit this page, even try my plugin.

If you have any suggestions,
I'd be a pleasure to study!

Best,

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service