Isothermic Costa Surface

Hello Jess,
Circling back on this - I hope you don’t mind!

Small thing - but I’ve noticed that the tangent seam on your torus is in a different place than the default result of the torus command. How?

To illustrate, on the right is a standard torus with the Costa UV curves applied in comparison to yours, on the left.

Hi Nick,

With the _SrfSeam command you can place the seams wherever you want. Actually they could be anywhere and I guess I placed it in a way that they are always visible and do not cross the holes.

Regards, Jess

Thanks, Jess. I thought so too, but the seam was remaining after running the command.
This is an edited post - It seems in R7 the SrfSeam command won’t adjust the seam location after the surface has been rebuilt. In any case, onward!

Hi @DanielPiker,
I thought I’d share some recent tinkering on this that you may find interesting.

In addition to trying the above techniques (still very much a work-in-progress), I tried to conicalize the mesh to see where that would lead. The starting topology could use some work, but it’s based mostly off of your old K1 version in terms of the location of the singularities. It seemed to get really close to what I’m looking for; a PQ Costa that can be offset with thickness, which is really encouraging:

There is some trouble with the offset mesh though - the faces near the singularities are having a hard time becoming planar … (not shown is the original mesh, which does converge with planarity)



Another trial takes a shot at creating the Costa from 8 congruent parts, as shown here The Costa Surface
and documented by Weber’s diagrams of the divisors, here: claynotes.pdf (7.2 MB)

An early attempt was to “zip” 8 congruent parts together toward the single, center singularity:

Another, perhaps better attempt is to model the big faces of the congruent strip and reflect it around after relaxing it to form the base topology with 8 congruent parts:

Early results on planarizing/conicalizing yields some unintended (but sort-of beautiful?) results:

The center saddle never really materializes - the quads at the singularity remain folded, for lack of a better description. But I wonder if the congruent strip may be a better starting point to your earlier trials in this thread that attempted to find perfect symmetry in the part, which could then be reflected around to form the minimal discrete Costa?

5 Likes

If the mesh is planarizing fine but its offset and beam structure are not also planar, that suggests that something is going wrong either in the conicalization or the offset at the irregular vertices.
(the offset around the boundary is always expected to be slightly imperfect, since when the vertex is not surrounded by faces it doesn’t have enough information to calculate the exact normal. This usually isn’t an issue though, as you can just trim off the outer rings of faces.)

I’ll have another look at how I define the conicality and offset at irregular vertices.

One other way to tackle this though is to do a multi-stage optimisation, where you planarize the beam and offset meshes after the initial conicalization. This does work to give perfectly planar beams and panels:


costa_multistage.gh (63.3 KB)

I’d rather use a more elegant way of getting to this though.
Ideally a way of finding true discrete minimal surfaces without fixing the boundaries in advance.
I was watching this talk by Christian Müller the other day that I think might provide some clues.

Also, btw - That last one starts to look a bit like this version of the Costa with the central planar end replaced with an Enneper end:
(the ‘end’ of a minimal surface is the shape it tends towards as you extend it outwards from a boundary. Note that a planar end does not imply that the finite boundary curve lies in a plane - only that it tends towards that as the surface extends to infinity. This is one reason why finding these is harder than for minimal surfaces with simple boundaries, as we can’t simply fix the boundary vertices on planes.)

Though there the top and botom ends stay catenoidal, while yours seem to be distorting into something else, possibly also Enneper type ends. It’s definitely not a classical Costa surface, but perhaps another minimal surface with these ends does exist.

5 Likes

Agreed!
But the multi-stage process is a helpful suggestion to at least get some useful prototyping started. It was next up on my list of things to try.

With a couple of co-circular goals, the top and bottom ends are easily kept catenoidal: (edit, I know constraining the boundary fakes it a bit, but just for fun …)


That saddle portion is really bugging me, but it’s fascinating that the difference in how the meshes are constructed will dramatically alter the outcome when subject to similar energies.

I believe there can be multiple different conformal parametrizations of the same minimal surface, but only one of them will be aligned with the principal curvatures. If the quads aren’t curvature aligned, then when planarizing, the shape of the surface will change into something else until they are.

2 Likes

Note - While this works for the offset panels and beams, it seems to reverse the planarization of the either the original planar mesh or one of the offsets (if you offset in both directions …)

Also, this may be another useful reference: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/CDF.pdf

I had a look back at the conical goal code, and see it is only operating on valence 4 vertices, and leaving all other valences alone, which fits with the behaviour at the valence 6 nodes with the quads being planar there but the beams and offset not.

The popular paper on conical meshes ‘An angle criterion for conical mesh vertices’ gives the angle condition as:

A vertex v of valence 4 is conical if and only if the
sums of opposite angles are equal, i.e., ω1 +ω3 = ω2 +ω4.

Which is exactly what is enforced by Kangaroo’s ‘Conicalize’ goal. It doesn’t mention an equivalent conicality condition for non valence 4 vertices at all though, and I can’t recall now which papers do.
The obvious guess is that it would be something very similar for any even valence - so for valence 6 that the 3 pairs of opposite angles all sum to the same value. I can try this out to see if it works. It would be good to find confirmation of this though.

Regarding that last linked paper - note that in the figure description it says that those quads are not even perfectly planar, and definitely not conical or curvature aligned (there are valence 5 nodes, so it can’t be). I also spot asymmetry on the lower central handle, kinks around the irregular verts, and odd spacing around the boundary, so don’t think it’s a great approach to emulate!

2 Likes

Very nice demonstration of the ideas of the Koebe polyhedron and Christoffel dual (as in my example files further up this thread)

5 Likes

Well, not necessarly related to the methods provided, but I just released BATS https://www.food4rhino.com/app/bats, which manages to find really nice costa surfaces.

It searches for bending-free surfaces which can converge to uniform stress tensile geometries, which are geometrically identical to minimal surfaces, and can be seen on the example files provided with the tool. Quite good results using quad meshes from R7 QuadRemesh were observed. However the method overcome any type of irregular meshes, as on image bellow. Interesting aspect of the methods is that its direct, meaning that with few linear system solving one reaches a minimal surface.Imagem1

Maybe it can provides nice meshes for planarization. Maybe some kind of constrained optmization could do the work directly using the method provided, I will keep an eye on that.

4 Likes

Very nice! do you think it could work to generate planar hexagons?

Hi @Asad_Farooque,

Thanks. Do you mean to create planar hexagons based on this quadrangular mesh using for example one of the techniques shown here: https://www.researchgate.net/publication/227280537_A_Note_on_Planar_Hexagonal_Meshes/figures ?

That may be possible. Maybe there are some special challenges around the star points. However it will not look nice because the Costa Srf is overall anticlastic (negative gaussian curvature) and in such areas the hexagons do not look like hexagons. P-Hex works well on synclastic shapes with positive gaussian curvature.

A mixed polygon solution might be nice. But what are you interested in?

Best regards,
Jess

Hi Jess,

Thanks a lot for the detailed reply and sharing the link. Theoretically, I know what to do and how it should be done like tangent plane intersection method and strip generated from quads as explained the article. But the problem is not being able to do so correctly on Grasshopper.

I’m actually trying to generate planar hexagons on a mesh which has both clastic and anticlastic regions (please have a look at the attached file). I’ve tried several methods but haven’t been able to do so successfully. Also I’m thinking about controlling the location of singularities.
PlanarHex_test.gh (255.6 KB)

@Mahdiyar shared a nice solution but I think somewhere around the edges the hexagons appear to be out of proportion.

DoubleTorus Complex Mesh.gh (629.5 KB)



I saw very nice example of a similar mesh planarized by Luis on Behance. Here’s the link: https://www.behance.net/gallery/76829717/Planar-hex-algorithm-2018

Hi @Asad_Farooque,

This is going a bit off-topic now and maybe it is possible to split this into a new thread?

If this “double torus” is really what you want to solve then I’d start with very clean geometry.
I can help to make something from overall planar quads…

  • Jess

@DanielPiker can you please help. Thanks in advance