Tween two surfaces with different distances to each other


I’m looking for a way to tween two surfaces along a segmented curve, so that the intermediate surfaces are located at the divisionpoints of the curve and, in the best case, adapt to the respective segment of the line in terms of width.

Thanks in advance for your help!!! (38.1 KB)

I’m stuck at the point where you link the divided curve to the tween-function.

The elements also have a preset width and height. Is there a way to link these set parameters to the divided curve by a factor and still keep the ratio of height and width to each other?

Hi, you can use the native component called ‘PointDeform’. Essentially, you are moving each control-point of a given surface in the direction of its counterpart-surface control-point. It requires that both surfaces have the same surface properties, at least the same amount of control-points. The length of the moving vector can then vary. Instead of using a vector, you can also use a curve connecting in between each source and target control-point. Although I imagine this difficult to control, because on a 4x4 patch you would need 16 curves…

Hi Tom,
thank you very much for your answer!

In our case we have already transformed the elements into each other using the ‘tweenfunction’. Arranging the controlpoints separately feels like a small step back…

Do you know a way to integrate the distances (for example) at ‘range’ and line up the ‘series’ along the segmented curve? - I’m not sure if this ist possible… But in my imagination there has to be something, that arranges the ‘tweens’ with a not equal distance to each other…

Ok, so I misunderstood the question. You still apply “linear” blending. The component shown, does something very simple:

Now, if you plug a series of numbers (for your cell-factors) within the range of 0.0 to 1.0, then you have basically a fixed step-size. If you want to “curve” that, all you need to do is to create a series of numbers with increasing or decreasing step-size. You either use a mathematical function, or you just draw a simply XY diagram in Rhino and intersecting the curve in given steps. You can also use the Graph Mapper for this, although with a drawn diagram you have more freedom. Simply because, you can draw whatever you like. You can also draw it directly into the shape, then you just need to Remap the numeric domain (min and max) from the actual bounds to 0-to-1.

(y is your factor here)