Yes, for pure surfaces of revolution I think using the respaced uv isovalues approach in the other definitions above can work well, but if the shape is more freeform, the relaxation approach comes into its own more.
Rather than acting on hexagons and keeping their angles, I think I’d use a triangular mesh here and take the dual at the end. The TangentIncircles goal will optimise towards a conformal mapping, so the resulting hexagons will be close to regular (within the limits created by the number of rows we set).
Here’s an example of this relaxation, outputting a hexagonal mesh at the end
hexagons_relaxed.gh (129.5 KB)