Smooth mesh based on greyscale bitmap

Hi, is there a plug-in for grasshopper that would allow smoothing / flattening a landscape mesh based on greyscale bitmap overlay ?


I don’t know if such a plugin exist. What I understand is that you want to smooth a mesh for example if white flatten and do nothing if black. If you have a white band how to choose the new height of the mesh ? You will see that there are many possibilities.
Most of the time I use Laplacian Smoothing in Weavebird. You could surely duplicate its logic in 1direction (Z I presume) with number of smoothing depending on the position … It will look like some tools in Zbrush …

1 Like

You can perform a custom smooth with native components + Sandbox plugin (to know the vertex-vertex connectivity). Since the smooth operation is an iterative process of few iterations usually, you can copy/paste the process as many iters as you need, then the process would be something like:

For each vertex, create a vector from it to its connected vertices. You should obtain a branch for each vertex with N(i) elements per branch, where N are neighbours count and i the vertex index.
Perform the arithmetic mean of these vectors and multiply it by a number between 0 and 1 depending on the brightness of the pixel corresponding to that vertex position.
Move the vertex with that vector and replace the mesh with the new vertex position.

1 Like