There have been some fairly heated posts and discussions in the blogs recently on the subject of some patents relating to architectural geometry held by Evolute, Helmut Pottmann and RFR,  about the commercialisation of academic research, and particularly how all this relates to what I do in Kangaroo, and what people can legally use Kangaroo for.

Firstly, rather than attempting to paraphrase or summarise, I will link to the posts in question so you can read them (and particularly the comments people made in reply) yourself:

Patenting Geometry on Daniel Davis’ Digital Morphogenesis blog

and Evolute’s response

Why is Evolute Patenting Geometry ?

I welcome this debate, and think it is of great interest and importance to everyone involved in the future of computational geometry. There is also a discussion starting on the Grasshopper forum ( and I’d be interested to hear the thoughts of you my readers on the matter. There are also some further comments and discussion on the download site here

To clarify some aspects of my own position :

Several of the geometry optimization features I have developed in Kangaroo have been  informed and inspired by the works of the Polyhedral Surfaces Unit at TU Berlin lead by Alexander Bobenko, and the Geometric Modeling and Industrial Geometry Group at TU Wien lead by Helmut Pottmann. I first encountered some of these works as a student, via a long running interest in minimal surfaces, circle packing, and conformal mapping, which lead me to papers and presentations such as these:

Minimal surfaces from circle patterns: Geometry from combinatorics – Bobenko Hoffmann and Springborn 2006    (and a presentation on the same title)

Discrete differential geometry. Consistency as integrability – Bobenko and Suris 2005

Discrete Minimal Surfaces from Quadrilaterals – Bobenko 2007

The focal geometry of circular and conical meshes – Pottmann and Wallner 2006

Geometry of Multi-layer Freeform Structures for Architecture – Pottmann, Liu, Wallner, Bobenko and Wang 2007

Geometry of Architectural Freeform Structures – Pottmann, Schiftner and Wallner 2008

Despite usually not fully understanding most of the technical details of these often beautiful papers I somehow found the results very appealing, and they alerted me to the great potential for the use in design of planar quad meshes, circular and conical meshes and other related geometry.

Another important later influence for me in my recent work has been the paper Physics-based Generative Design – Ramtin Attar, Robert Aish, Jos Stam, Duncan Brinsmead, Alex Tessier, Michael Glueck & Azam Khan 2010, where among other things they describe embedding properties useful for fabrication (such as planar mesh faces and constant offsets) in an interactive model, and iteratively enforcing these constraints.

Following the example of how Grasshopper has made advanced computational methods vastly more accessible to many people, I saw a potential to put some of these geometrical results in the hands of ordinary designers by adding them to my physics engine Kangaroo, and make them intuitive to use and cheaper(free!) than the existing commercially available software for this (Evolute Tools). I don’t claim to replicate all the capabilities of their software, and my work is still under development, but I do think I offer a unique way of interacting with some of these geometric properties, and feel the results so far are very promising.

The method I use is quite simple compared to many other optimization techniques, and in fact I can describe it here:

It works by assigning every vertex  a mass and velocity, and calculating and applying forces for the set of points acted on by each force object (such as the 2 end points for a spring, or the 4 vertices of a quad for a planarization force), adding up all of the forces acting on each particle, applying the corresponding accelerations and repeating, with a damping term to cause the system to settle to an equilibrium. Similar techniques are widely used in computer games and animation, and a good overview can be found in Baraff and Witkin’s Siggraph 97 course notes Physically based modeling.

The force calculations themselves are also quite simple – for example, to force 4 points to lie on a circle they must be equidistant from a 5th point and also planar. In Kangaroo this is achieved by:

-An ‘equalization’ force acting on the lines from these points to a floating 5th point (simply taking the average length of the 4 lines and then treating each one as a Hooke’s law spring with this average as its rest length). When these lines are equal length clearly the 4 points lie on a common sphere.

-A planarization force. If the 4 points are not coplanar, they define a tetrahedron. As the volume of this tetrahedron decreases to zero, the quad becomes planar, so a zero rest-length spring-like force is applied pulling the the top and bottom diagonals towards each other. When the distance between these diagonals is zero the quad is planar.

(That takes care of circularizing the mesh, but where all this gets really interesting for me is when this is combined with other forces to shape the form – Laplacian smoothing, gravity, inflation, etc and point or boundary constraints which can be interactively adjusted by the designer)

This is not to say that the reasons behind why circular meshes have the interesting properties they do is simple, just that the methods of their creation can be. In fact the study of these discretizations of curved surfaces has its roots in some very deep mathematics going back quite some way.

Much of the discussion in the pages linked to at the start centres around the distinction between patenting the use of geometric results vs geometric methods. This can lead to some fascinating abstract philosophical and moral debates, such as whether mathematics and mathematical truths are invented or discovered, and to what extent can or should they, or certain uses of them, be owned. However the debate about the legality of these things also has much more immediately practical and economic implications for those in the business of designing buildings.

I’m not actually going to go into my own personal thoughts and feelings on these matters much here, and I do not have the expertise to contribute meaningfully to any legal debate, but I will certainly be following developments with interest, and am keen to hear your opinions.

Fortunately for me, whatever debate there may be about  who has what right to use certain geometry in their buildings, nobody is trying to stop me developing Kangaroo. In fact I have had some enjoyable and encouraging discussions with the people at Evolute, and even provided them with some meshes which they used to demonstrate some of their new optimization procedures in a recent paper.

Aside from any other discussion I also want to publicly thank Helmut Pottmann and his co-authors for their many great papers over the years. I would not want anyone to get the impression that I am ungrateful for or ignorant of the contribution they have made to the field and to some of my own recent work.

I have tried to give credit to those that have influenced and inspired me in my postings on this blog and elsewhere, and make no secret of the fact that all of my work builds on that of others from many sources, just as those sources themselves build on others. I believe  everyone who contributes to the increase of knowledge with original work is entitled to public credit (and I believe that there is at least general consensus about this, aside from the issue of legal and commercial entitlement).  As this is an informal blog and not an academic publication these acknowledgements have not always followed a standard format, which is why I felt the need to clarify matters.

Finally, on a related note, I want to end with an example of what I enjoy about all this – learning from the work shared by others, applying it in hopefully interesting ways, and sharing my work in turn. So – I am happy to introduce one of the most recent additions to the Kangaroo repertoire of forces – for optimizing a given pair of triangles towards having tangent incircles. Meshes where all pairs of adjacent triangles have this property are referred to as circle packing meshes – the wonderful properties of which are described and illustrated in the paper

Packing Circles and Spheres on surfaces (thesis of Mathias Hobinger 2009)

and also a shorter paper of the same name – Shiftner Hobinger, Wallner and Pottmann 2009

from which I learned of these meshes and took the simple length criteria to optimize for with this force.

[vimeo 28519758]

(more details and documentation for this feature to follow shortly)

Enjoy, join in the discussion, and keep on optimizing!