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.
Here is a play. Spacing is controlled by the two sliders in the blue group while âresolutionâ is determined by the PFrames âNâ input (top left).
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!