I’m looking for a way to divide a 3D or flat surface into somewhat equidistant curves along either the U or V direction. The end goal is to tile this surface for manufacturing a facade, so the spacing must be physically accurate.
I am struggling to get a clean result that maintains equal distance without distorting at the edges. Here is what I’ve tried so far:
Standard Isocurves: Fails because it maps to the UV parameter space, resulting in severe pinching where control points converge.
Hard Division by Arc Length: Dividing rails by an absolute distance gives perfect parallel spacing, but doesn’t align nicely with the surface boundary edges.
Warped Contour / Blended Tweening: I tried a C# script that keeps the center lines equidistant and uses an S-curve to warp the outer lines to snap to the surface edges. However, the resulting pinching/distortion is still remains.
To use a Photoshop analogy: its strictly mathematical “Linear” gradient often looks harsh, whereas a “Perceptual” gradient flows much more naturally to the eye. I am looking for the geometric equivalent of that perceptual blend for these curves.
So I need the “best of both worlds”: iso curves that maintain a visually equal-like distance between each other, and flow nicely with the surface topology, and cleanly align with the boundaries without pinching.
Has anyone tackled this specific facade tiling problem or have suggestions for a mathematical approach in to achieve this?
i attach a test file incase anyone is willing to give it a shot. I am open of installing/using external plugin soloutions
Hi Laurent, yes i recall this topic, and that may indeed be the way to get these curves.
Come to think about, maybe i need a new approach, as what i need is more akin got the attach image. More like an adaptive grid on a surface where the number and length of isoparametric-like curves increases or decreases based on the local width of the surface to maintain a consistent spacing (edge length)?
@cfee
I think this is doable, if you solve first one direction, such as the horisontal width of panels in the image. Subdivide the surface to strips and then solve the panel lengths per strip.
Its not possiblle to divide domain of surface that is not a rectangle into equal real length distances. Because if one side is longer than other, how do you want to match them? Surface system of coordinates has curvature and does not translate into real world size. You can divide offsetting curves, but you will end up with rectangles that do not follow your geometry.
Paneling tools does something close to what you want