designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Subdividing Triangular Surfaces

December 22, 2011 | Algorithms
#grasshopper #interlocking #paneling

NURBS surfaces by nature, like four-corner topologies with U and V directions. Şebnem Yalınay Çinici has formulated a tectonic exercise of “Primitive Hut”, which in my point of view is a tough geometric challenge; a subdivision on a real three-corner manifold. That seems very easy at the beginning as both Rhinoceros and Grasshopper are able to create surfaces with three corners, by either lofting, meshing, or edge curve methods. However, those surfaces, then cannot be used to develop sub-surfaces because of the need to define U and V directions. Then, Rhino seems to add an extra invisible corner and get the shape triangular by actually forcing a cut on a four-corner surface.

Subdividing Triangular Surfaces grasshopper, interlocking
Subdividing Triangular Surfaces paneling, grasshopper

In my case here, that seems to be solved by trimmed surfaces. A four-corner surface is split across to create two triangular surfaces. The definition of the cutting path was the first challenge in Grasshopper3D.

Subdividing Triangular Surfaces interlocking, paneling

After that, the proposed design solution was to create an egg-crate structure that has three axes of offset curves. As there seems to be a problem with Grasshopper3D, it cannot run offset on the surface properly in every condition. So, I decided to create those sections also using surface UV parameters. That was a nice list management exercise because the lists of UV indexes change sequentially in every row in every direction. In order to develop variations, I decided to experiment with some sort of curve selection using patterns, which may be different in all three directions. You’ll see that in the definition file also. If you put the same pattern in every direction, the output is composed as shown above. Different pattern inputs create various solutions such as shown below;

Subdividing Triangular Surfaces grasshopper, interlocking

In order to model the solid sections, each curve is extruded in a rule, that as high as it reaches, the sections are becoming thinner. Typically, egg-crate structures use planar contouring, which fails when the base surface “tumbles”. In this case, I used surface normals to calculate thickness, so it’s still stable in even harder double-curved surfaces. Of course, the material used to physically construct this system should be able to bend and twist (cardboard for example).

Subdividing Triangular Surfaces paneling, grasshopper
Subdividing Triangular Surfaces interlocking, paneling

There are some parameters left for the exploration of different variations. The result seems to be a solid and stable solution to most problems of egg-crate structures which has three corners. Further studies may include adding labels and CNC cutting-friendly outputs.

Grasshopper definition (GHX)Download

Cite this post

Yazar, T. (2011, December 22). Subdividing Triangular Surfaces. designcoding. Retrieved August 24, 2026, from https://www.designcoding.net/subdividing-triangular-manifolds/

Related Posts

Quad Tiling on Double Curvature

April 3, 2024

It is not possible to cover a double curvature surface with planar quads. Here is one method that overcomes quad tiling on double curvature by pulling one vertex of the quads to the plane defined by the other three. This method was used in architecture on several occasions such as the exterior facade of The Yas Hotel, designed by Asymptote Architecture in 2009. The same approach is also evident in the roof design covering the central courtyard of the Smithsonian…

Fibonacci Dome

March 1, 2024

This is the continuation of my previous study on the Fibonacci lattice on a spherical surface, creating a Fibonacci Dome structure. The panelization of curved forms with flat surfaces has been a favorite topic in architectural geometry. The trigonometric layout of the Fibonacci sequence generates a spherical formation, while the Faceted Dome component handles planarity. Here, I further enhanced the previous code into a pavilion design. The essential part of the code is about the placement of points on the half…

Turtle Pavilion

December 23, 2023

Here is a simple pavilion design I call the Turtle Pavilion. It was exceptionally easy. The planar shapes placed on the sphere continue to be planar after the ellipsoidal deformations. I was amazed when I first noticed this, for some reason. With Grasshopper’s Facet Dome component, we can panel spheres as we desire. When we deform these panels in the X, Y, and Z directions, they continue to remain planar. After deformation, we can create the desired macro forms by…

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…

Defective Use of Algorithms: TPI Disability

June 24, 2013

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…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #rhino-python
    • #polyhedra
    • #parametric-surface
    • #robot
    • #tessellation
    • #boolean
    • #kuka-prc
    • #dome
    • #design-object
    • #image-sampler
    • #terrain
    • #sandblasting
    • #stone
    • #parametric-curve
    • #animation
    • #cycloid
    • #art
    • #simulation
    • #aperiodic
    • #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