Getting evenly spaced isocurves of a surface

So I’m guessing this has something to do with the nature of NURBS curves/surfaces, which I don’t fully understand. But I’m trying to get the isocurves from a surface quite evenly spaced apart. I reparametrized the surface and then try to get the isocurve at UV in a domain from 0 to 1. But the result is far from evenly spaced apart.


210317 Evenly spaced isocurves.gh (9.8 KB)

  1. Where can I read more about this problem related to nurbs curves/surfaces?
  2. How can I get isocurves evenly spaced out according to distance between them? In this example it’s a revolved surfaces but I need to same to happen for surfaces created using lofts etc

I guess your thinking about it in the wrong way, but I’m no expert either. For one, NURBS surfaces don’t have a one-dimensional domain.

If you reparameterize a surface, you thus get a u-domain from 0 to 1 and a v-domain from 0 to 1. Your problem might stem from you treating everything one-dimensionally?
However, I’d have to look into that further to make sure, which I don’t have time for right now.

I like the “The NURBS Book” (1965) by Les Piegl and Wayne Tiller, if you want to have a look behind the scenes. I don’t know of any good web resources.

For this specific case and all other surfaces of revolution, the following will probably work:

For other, less “regular” geometries, things will probably get trickier!

Thanks a lot for your reply and solution. I indeed think it won’t work for all surfaces but good to see a way to solve it in this case.

I vaguely remembered reading more about this on David Rutten’s old blog, which already helps a lot.

Perhaps it could be possible to retrieve the Isocurves at 0 and 1 in both U and V of the underlying surface (in cases of trimmed surfaces) and divide those to come up with a similar solution like you are doing. Need to try this out a bit when I have some time.