designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Defective Use of Algorithms: TPI Disability

June 24, 2013 | Algorithms
#grasshopper #paneling #parametric-surface #tangent

This is based on my failure of creating an optimum solution for 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 the 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 the 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) where 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 a disability. It is caused by the fact that Grasshopper it 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 would create the smallest surface areas. Of course, 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 a “plate shell”, and you can check her works here. Also here, here, you’ll see some other research on this topic.

The definition below is logical but not functional. It uses Delaunay connectivity to check the adjacent points, then attempts to calculate the growing amount of isovist ranges to create the edges of planar surfaces. What an epic fail it is.

Defective Use of Algorithms: TPI Disability grasshopper, paneling

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

Defective Use of Algorithms: TPI Disability Grasshopper definition
Grasshopper definition (GHX)Download

Cite this post

Yazar, T. (2013, June 24). Defective Use of Algorithms: TPI Disability. designcoding. Retrieved August 21, 2026, from https://www.designcoding.net/defective-use-of-algorithms-tpi-disability/

Related Posts

Rhombille Tiling on Surface

June 13, 2023

This is an update on my 2012 exercise on rhombille tiling. This reminded me of the old-school subdivisions of surfaces again after 11 years. It was while reading about rhombic dodecahedron (the stackable solid), that I came across this cute tiling. It’s quite simple, just a hexagonal grid with a special reconstruction. I decided to recreate it by using well-known native Grasshopper components. I animated the result with a variation of the Breaststroke surface function (described here). Then I reconstructed…

Quadrilateral Surface Tessellation

April 9, 2012

As far as I understood, it is impossible to physically construct double-curved surfaces from quadrilateral and planar faces. This definition tries to find an optimized alternative to this problem. Any surface, single or double curved, is divided into standard sub surfaces. But this time, those surfaces are treated as planar surfaces, therefore one corner is moved to meet this requirement. The output consists of only planar surfaces ready for fabrication. There are potential improvements to this definition such as finding…

Surface Components Basics

January 17, 2012

This is a basic formation of component-based design in a dataflow environment. A double-curved surface is subdivided and re-constructed using straight sections. Parametric model of a surface construction by variable components. The main data list of subsurfaces are distributed into four distinct lists, that will be used to construct lines out of double-curved quadrilateral faces. Such definitions could be further advanced by adding a precise fabrication detail.

Surface Subdivision

December 25, 2011

Here is the fundamental of surface subdivision in Grasshopper. In order to design a parametric truss exercise, this is the generally accepted starting point. Get a surface from the file, subdivide it into U and V directions to create point lists, and then manipulate these points to create something interesting. Having a list of points would also present good potential regarding attraction with other entities, such as point or curve attractors. As you probably notice, this is the new version…

Snub Square Surface

February 20, 2013

For the last 10 days, I’ve been searching for a proper algorithm for representing surfaces using planar shapes. It is obvious that triangulation is an answer but there is an interesting research topic of planar remeshing using shapes other than quads, hexagons, or any other regular polygons. Especially in computer graphics, such things refer to the optimization of models to decrease the load of GPUs. In the Grasshopper community, this has also been discussed and there is a great implementation…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #rhino-python
    • #tutorial
    • #polyhedra
    • #rhinoceros
    • #robot
    • #tessellation
    • #kuka-prc
    • #design-object
    • #image-sampler
    • #relief
    • #terrain
    • #sandblasting
    • #stone
    • #dome
    • #parametric-curve
    • #animation
    • #art
    • #aperiodic
    • #circle
    • #tiling
  • Search

  • Support designcoding!

  • Enjoying designcoding? Support me on Patreon to keep it growing. Thank you!

  • copyright 2026 designcoding.net | about | privacy policy | end user license agreement