Some questions from the literature

Hello all, I’m trying to have a better understanding of the theoretical backbone of Kangaroo as we see it today and have some questions about the research papers I’ve come across. @DanielPiker I’d appreciate the help as well!

In Interactive real-time physics: An intuitive approach to form-finding and structural analysis for design and education (2015), Kangaroo is said to use a force-based approach, and this seems to be corroborated by the Related Work section in ShapeOp - A robust and extensible geometric modelling paradigm (2015). In contrast, ShapeOp uses something called “projective constraints”. However, in a bunch of later application-type papers, it sounds like Kangaroo is now built on top of ShapeOp (e.g. see Shaping hybrids – Form finding of new material systems).

So just to be clear, does Kangaroo use the projective constraints approach? Does it no longer use a force-based approach or dynamic relaxation?

Was that shift in approach tied to the introduction of Goals in Kangaroo 2? I’m looking at the source code (GitHub - Dan-Piker/K2Goals: Example Goals for use with the Kangaroo2 solver) especially at the Calculate method in each goal and I’m not sure how projective constraints come into play.

Is the Kangaroo solver explicit or implicit? It sounds like the old solver was explicit but I’m not sure about the current one.

Where does ShapeOp stand now in relation to Kangaroo? Is it accurate to say that “Kangaroo is built on top of the ShapeOp library”?

Have there been any major changes in Kangaroo in the seven years since those publications?

Edit: Upon further digging, I’ve found Pierre Cullivier’s thesis and it looks like it will have the answers to most of my questions!

This gives some explanation of the methods used:

In short - Kangaroo 1 was force based, Kangaroo 2 is projection based. It is not using or based on Shape Op, and the methods differ but do share some features.