Grasshopper

algorithmic modeling for Rhino

Smoothing out voids in Elk, i.e., moving deviant points on a surface back into average

Hi guys, I'm currently using Elk to map a remote region of the world using a GeoIMG file from the AGRM site. As happens sometimes, in the output surface are voids in the topography that appear as these deep pits seen in the image below. I could bake this into rhino and then manually move all the nurb points into place but I'd like to be able to accomplish this automatically through grasshopper.

For those not familiar with Elk, the output surface seen below is made of a grid of points in plan that vary vertically. Is it possible to take these points below a certain height, i.e., outside a certain criteria and move them into place so that they average out between the other points that are accurately placed? Other suggestions on how to do this are welcome.

Thanks.

Views: 557

Replies to This Discussion

Ignore all the points out of range, create 'IntCrvs (Interpolated Curves)' from what remains and loft them?  Or fill in the missing points along the interpolated curves and rebuild the surface from the network of points.

There are other ways too.  It may depend on performance.  How many points?

There are 147112 points altogether and 457 that are displaced at the bottom of the pits. I've got as far as culling the points from the pit but having trouble with rebuilding an accurate surface from the points that remain. I've attached the output file if anyone could play around to come up with a solution?

Attachments:

Do you happen to have the points as columns and rows instead of a flat list?  They appear to be evenly space in a grid, so maybe that data tree can be re-established by partitioning?

Got it: 284 X 518.  Partitioning is quick.

With that many points, almost any approach will be slow, but perhaps not too bad.  Working on it...  Gaps at the edges are causing a problem.

Perhaps not the most efficient but it looks pretty good?  The slow part is the final 'PCX (Curve | Plane)' intersection at the end.  ~32 seconds.  Be patient.

Two adjacent edges were missing points so reconstructed one of those first, then inserted the derived points into the lists for the 284 'IntCrvs' going the other direction, just before the final 'PCX'.

Attachments:

This version is MUCH FASTER, more efficient.  Does 'CLX (Curve | Line)' intersections only for the bad (missing) points and uses all the original good points.  'Sort Pt' restores the sequence in each row after the missing points have been replaced.

Attachments:

Same code and data as before, viewed from the opposite direction, or end of the valley(s).

This has the Big Mountain on the right in the foreground, looking upstream, up valley:

Earlier post has Big Mountain on the left in the background, looking downstream, down valley.

Amazing! Thank you! This is great

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