Minimal Surface (Sort of) but Control Gradient at Edges

I’ve used Kangaroo LiveSoap to blend a lofted Mesh between a rectangle and a circle that is lower in Z.

I want the final mesh to be steeper around the circle and flatter around the rectangle. Can I add goals in Kangaroo that will help control this?

BlendSurface.gh (21.1 KB)



image
A very low strength OnPlane goal is one way

1 Like

That’s a nice solution because it is so simple and it works for this example. It works better at flattening the surface near the rectangle than it does steepening (?) it around the circle.

Anyone think of a way that gives a bit better control?

You could vary the strength of the OnPlane goal with proximity to the curves.

However, as this is not about finding a minimal surface, you could also do this without relaxation at all, just defining height as an implicit function of the curves.

My aim is to have a hole in a piece of wood that “falls” from a rectangular border into a circular hole smoothly…

image

I think I get what you mean about “defining height as an implicit function of the curves”… change the value of Z for the mesh vertices according to their distance from each curve? How to get the blend working smoothly all around the shape where the rectangle can be close to the circle or have a large distance.

Something like this

BlendSurface.gh (14.6 KB)
You might want to use the height of an actual curve in place of the graph mapper to have more options for control of the profile.

Nearly!

but more like this…

It seems hard, with this approach, to get something really nice and smooth which is why I thought of a relaxation approach.

I get creases that run from the rectangle corners to the circle and I won’t get a beautiful surface that would stand up to scrutiny under the Zebra analysis or, more importantly, my missus when she inspects the actual pieces of oak that I fasten to the ends of my stairs!

Ideally I want the entire depression to blend seamlessly into the oak it will be machined into (sandpaper can cover a multitude of sins but I hate sanding!)

Maybe this is some kind of advanced surfacing problem rather than a mesh approach?

EDIT: Using the onPlane goal suggested above with a finer mesh gives good results…