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,

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.


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:


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

1 Like

Hi Daniel,

Why my result is different from yours?


Hi @netsonicyxf,

Make sure the planarity constraint is set to be very low, when you do the form finding.
Otherwise the points cant move out of the plane…


1 Like

Hi Everyone,
I’ve been wondering a bit about this project by Studio Other Spaces - specifically how they managed to arrive at what seems to be similar translations shared by Daniel here:
https://discourse.mcneel.com/t/kangaroo-2-tensile-surface-with-holes/80332/13 and of course, here Force polygons of equilibrium structures | Space Symmetry Structure

It feels very related to this more recent thread, so I hope I’m not off topic.
I’m curious how they may have made the translations occur without altering the form?

1 Like