# Geometry Nodes - a curve line between each pair of points at index and index + 1

I have a node setup as in the screen below. I try to create a curve line between every two instances (at index and index+1) given by the "Instance on points" node. When I try to do it for the specific two indices - it works as expected, but once I connect the "Index" node, the Sample at Index node output, become a function, and Quadratic Bezier does not accept it's result anymore. I understand why it's happening and this is indeed expected, but I have no idea how to achieve my goal - is it even possible? I use Blender 3.5.0

Current:

Wanted (but for every two instance, not just first ones):

• The Quadratic-Bezier's input sockets are always round when you instance it. They are not diamond-shaped. This means that they generate geometry objectwise (once) not instance-wise (per point). Try instancing a curve with two points on each position, realize them and continue with that real geometry. Apr 26, 2023 at 6:20
• look at this answer, retry solving your issues, then update your question. blender.stackexchange.com/a/291514/165102 Apr 26, 2023 at 19:47
• @shmuel I did understand the "no loop" thing, however I hoped maybe I just don't see some "magic" combination of Duplicate Elements and Set Position that I just can't figure out or something like that. I don't know exactly - if I knew I wouldn't ask :) but based on the link you gave, basically - the thing I want is impossible right? I just need to try different approach like for example in the answer below Apr 27, 2023 at 6:24

I don't know if something more concise or shorter can be done. But that may be a solution.

Here is the result from six mesh points:

The group input has three slots:

• the mesh line
• the resolution for each quadratic line
• a Z delta for the bottom part of the quadratic line

Top part:

From the input geometry, it creates a mesh line that as a vertex count that is the resolution multiplied by the vertex amount (one resolution amount for each interval + one for the last vertex).

The "set position" is calculated below.

Second part:

This is calculating the vertex position from the quadratic formula given three points.

The formula (parametric on "t") is the following:

P(t) = P0*t^2 + P1*2*t*(1-t) + P2*(1-t)^2


Next, calculating the 3 points we need for each segment of the initial shape/mesh:

which cuts the indices into chunks that are at the resolution size. Then takes mesh points and their middle lowered on Z by the input parameter.

PS: I would be very interested to see a solution that uses only three points on a bezier curve with the good tuning of the handles to have the same result. Is it possible? What is the math?

• it's not exactly what I wanted, but it looks good - as mentioned in the comment above, the thing that I want, is most likely impossible at the moment. I'll mark your answer Apr 28, 2023 at 8:11
• you may encounter index order issues. To avoid that prefer starting from (for instance) a poly line instead of a mesh (as I did in the example above). Apr 28, 2023 at 8:15
• @MattNomatter if you're focused on the implementation detail - connecting fields to circular fields - yes, it's impossible. If there's a particular result you want to achieve which lemon's solution doesn't - you have to explain it, because he solves the problem exactly as I understood it. Sep 2, 2023 at 14:09