Optimisation of Quad Meshes Based on Diagonal Meshes

Hi Daniel!

I know you have been implementing many tools relation to PQ meshes and conical meshes, including this really insightful page here:

I am working on diamond meshes at the moment and recently came across this paper that is looking at diamond meshes based on PQ meshes. The idea is based on an additional constraint that each quad of the control mesh has to possess orthogonal diagonals.
The resulting optimisation produces a torsion-free support framework, but also has an option to change a constant angle in the diamonds to create different proportions for the diamonds.

Would you be able to show how this can be implemented in Kangaroo?

As always your help is much appreciated!

Many thanks,
Mathias

1 Like

Hi @mathias_gmachl,

Quad meshes with orthogonal diagonals (and those where the diagonals are also equal length) are indeed very interesting. I got interested in these a few years ago and they have all sorts of neat properties.
For instance, this animation is based on an underlying (not shown) orthodiagonal & equidiagonal mesh found with Kangaroo:

using this construction:

a more freeform example:

here with fixed ratio between diagonal lengths instead of equal:

and here a connection with graphic statics

So I was quite excited when I saw those papers by Jiang investigating this topic further.
I’ll post some example definitions shortly.

2 Likes

In the simplest form, these can be optimised for by directly adding an angle goal and equal length goal for the diagonals per quad:
midsquare_example01.gh (15.5 KB)

I also found an old definition I made for midsquare meshes which also have planar vertex stars
planarvertexstar_midsq2.gh (45.7 KB)


(related to this discussion Best ways to simulate grid shell bending? - #16 by DanielPiker)

Also - they did a few more papers on similar theme:

1 Like

Amazing, thanks you so much.
I will work through these and let you know how I get on.

1 Like