I have an oval surface with vertical isocurves on it.

and:

I have a list of values for curve length.

but:

I want more isocruves at the domain of the oval curve where vertical isocurve are long, and less where isocurve is short. See screenshot for manual modelling in rhino.

Yes, thank you for asking!
Hopefully I can describe the problem clearly, as I am trying to control the frequency of how often srf is evaluated along U-direction… Dependent on V-value.

Noticed that the second, non-planar curve is not closed. Is this important? Having 2 closed curves and lofting between them may allow you to evaluate the surface more easily- or at least allow you to loft in GH and stick to a parametric workflow. Right now the surface you’re using to create the isosurface curves is an invalid surface.

As @rahul1 mentioned, your lower curve is not continuous, making lofting impossible and isocurves irrelevant (why is that word in the title?). It’s also not directly below the upper curve in some places. Both these issues add complications.

P.S. This is the same code but using @akche001’s more carefully constructed curves instead of yours.

P.P.S. The blue group sliders can be adjusted so that vertical lines are more closely spaced when top and bottom curves are near each other, just the opposite of the spec.

Hey @Joseph_Oster,
Hope you’re well!
This is a really nice, tidy definition.
I am not so familiar with function notation, though.
I so far haven’t been able to figure out what “if(x>y,0,x)” is testing for; in particular, I am unclear on the comma-separated part of it.

The “comma-separated part of it” is just the way an “if” statement works in GH. It’s a way of saying:

if (x>y) then result=0 else result=x

The logic is a little harder to explain… The ‘D0’ value is the running sum of A/B(the increment value which is the curve length divided by the number ofPFrames). It gets reset to zero by the ‘if’ statement each time that sum exceeds the Remap value for that point on the curve (from.List Item). So each zero in the result indicates where a vertical line should remain visible. “Cull” can be a confusing term; in this case it means “keep” while in other contexts it can mean “discard/ignore”.

That is brilliant, thanks for taking the time to explain.

I had come to the same thought of needing some “resolution” and had determined that it would take an iterative process to create the relationship between the curve distance and density- this solution is just so much cleaner than anything I was coming up with. Kudos to you!