Defective Use of Algorithms: TPI Disability

This is based on my failure of creating an optimum solution to planar polygonal subdivisions. There is a method called Tangent Plane Intersection (TPI), explained briefly here (sometimes similar algorithms are called “planar remeshing” and  “variational shape approximation”) which is effectively used in Trada pavilion (here). I tried to implement a similar method using only native Grasshopper components and no recursion, but it quickly became much more complicated than I thought. It was based on a simple idea that I can obtain the tangent plane of any point on a surface. By expanding circular planar surfaces on these planes, multiple planes intersect and create a planar polygonal subdivision eventually. However there are some cases (some angular intersections) that this logic does not work properly and has to be edited. I quit at this stage but saw that it became an interesting definition by itself. This is why I called this post as the disability. It is caused by the fact that Grasshopper is very hard to handle multiple events at the same time. I couldn’t tell Grasshopper that it should treat multiple plane intersections together in a fashion that it would create the smallest surface areas. Of couse there are lots of different approaches and solutions to this problem. Maybe I can return and continue this research further. Anne Bagger calls her system as “plate shell”, and you can check her works here. Also here, and here, you’ll see some other researches about this topic.

The definition below is logical but not functional. It uses delaunay connectivity to check the adjacent points, then attempts to calculate growing amount of isovist ranges to create the edges of planar surfaces. What an epic fail it is. Here is the Grasshopper definition: [GHX: 0.9.0056], you should manually input a surface to it;


An optimization system might allow diverse design paths to emerge when it fails. This might be one of the points that designing not an optimization. It is somehow a reflective optimization of personal stimulations, but of course includes much more than that.