# How can I scale instances based on the length of a curve? (Geometry Nodes)

I’m currently trying to Array a group of objects/instances along a curve in geometry nodes and am wanting to control the scale of them via evaluating their position on a curve.

I.e., the objects in the middle of the curve would be the largest with them gradually getting smaller the closer they get to the ends

(I was hoping to potentially control this using a float curve node graph if possible but not sure??)...

I'm trying to do it at the moment with a 'Map Range' node, but it's not quite working as I'd hoped (see below for a screenshot and what the desired result I'm going for):  ..If you did want to follow your scheme, and use a Float Curve, you could do something like this.. .. without thinking, this one goes via Curve to Points, for the convenient rotation. You could go directly, in which case you wouldn't have to capture the 0-1 Spline Factor.

To achieve what you show in your example, you can use the following setup: Here I use the value Factor that the node Spline Parameter returns. This starts at the beginning of the curve at $$0$$, and ends at $$1$$.

By multiplying this by $$2$$, and sending it into Math mode with the Ping-Pong setting, I get a value that starts at $$0$$ at the beginning of the curve, has $$1$$ in the middle, and $$0$$ again at the end.

This value can then be used directly as Scale.