How to have a rotating depression in a circular array of meshes, that corresponds to a MD slider?

I have a setup where a circular array of mesh cylinders bend based on the vector intensities of an MD slider. I am trying to build on this current setup by also enabling an exponential height decrease in areas affected by the MD slider vectors, such that the intensity of the bend corresponds to a decrease in the cylinder height from its baseline height. How should I go about doing this?


posting your GH file with internalized geometries could be a good starting point :slight_smile:
you can just drag and drop the file in the same place where you type text and it will be attached to your message

question.gh (26.9 KB)

1 Like

one option could be to scale 1D the curves along Z axis
in this example the sum of all vectors bending each curve is used to quantify how much each curve is affected by the 1D scaling (the passed through a 0-1 slider)


Question_Re.gh (33.6 KB)

1 Like

This is great. Do you know of a way to invert the curve intensity such that the more extreme curves occur toward the center?

you could use an attractor, which measures the distance between the first point of each curve (which is on the XY plane) and the center of your array, then based on this distance value it gives a multiplication factor to the scaling, like this:


this point on the graph represents the pipes at (remapped) distance 0 from the center point, so the inner ones

this part of the definition sifts the curves that have not been initially bent horizontally, in such a way they are kept completely uneffected by the scaling (I have also disabled the previous method: if you turn it on consider that they will multiply each other, so a factor of 1D scaling of 0.5 for both will result in a final 0.25 :+1: )


Question_Re_Re.gh (33.7 KB)