designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Snub Square Surface

February 20, 2013 | Algorithms
#paneling #parametric-surface #semi-regular #snub-square #tessellation

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 at the Trada pavilion by Ramboll Computational Design Team (link here). There are some professional planar remeshing algorithms out there also such as TPI (Tangent Plane Intersection). I tried to implement various approaches and hopefully will present some results shortly.

By that time, I tested a quick solution; just confirming a two-dimensional tessellation onto the given surface, then manipulating the cells in order to achieve partial planarity. The first test was using the famous snub square tessellation (discussed here). I thought it would be interesting to implement snub square tessellation on a surface, (of course, squares would be bent); then move one vertex of each cell to make those squares planar. There is also another test (here) in this blog that can be regarded as the starting point of this.

However, in snub square tessellation, there is a more sophisticated problem of squares sharing corner vertices. Those vertices should be moved to meet both squares’ planarity at the same time. This is why I used plane intersection to find a point that meets both conditions.

Snub Square Surface paneling, parametric-surface
Snub Square Surface Grasshopper definition

After adding parameters to curve evaluation, I realized that it is no longer a snub square tessellation, but it includes planar quads on a surface in a fashion that can be fabricated using 3-axis machining. The definition is a little bit messy.

Snub Square Surface animation
Snub Square Surface semi-regular, snub-square
Grasshopper definition (GHX)Download

Cite this post

Yazar, T. (2013, February 20). Snub Square Surface. designcoding. Retrieved August 24, 2026, from https://www.designcoding.net/snub-square-surface/

Related Posts

Snub Square Tiling

October 22, 2012

Here is the step-by-step generation of the old Snub Square Tiling. Frankly, this is the first step in the generation of Cairo Pentagonal Tiling I generated with Grasshopper earlier. Because Cairo pentagonal is the dual of a snub square. The first step was easy. Just dispatch cells of a square grid, then evaluate them according to the ratio of 0.366 approx. which is derived from the bisector of an equilateral triangle. Now, we have a snub square tiling, composed of…

Constructing Snub Square Tiling

December 11, 2024

Snub Square Tiling is a semi-regular tessellation of the plane, composed of two squares and three regular triangles at each vertex. The arrangement of these two regular shapes seamlessly covers the plane without any gaps or overlaps. It is one of the eight semi-regular tessellations known in geometry. The dual of Snub Square Tiling is Cairo Pentagonal Tiling, which we will explore later. In this short tutorial, I am drawing and constructing the Snub Square Tiling by using an abstract…

Euclidean Construction of Snub Square Tiling

February 28, 2024

The snub square tiling is one of the semi-regular tessellations, where regular triangles and squares match perfectly to fill the plane without gaps or overlaps. The Euclidean construction of Snub Square tiling is possible by utilizing the basic compass and straightedge operations. I made this construction in Rhinoceros to show that there is no need for any numerical input to locate the points and draw the tiling. There are two major techniques explained there. One of them is the basic…

Semi-regular Surface Tessellation

December 20, 2011

Back in 2011, one of the first posts on designcoding explored how to divide a surface in alternative ways. I called this Grasshopper definition a semi-regular surface tessellation. Although the term isn’t entirely accurate -since the pattern is neither planar nor made of equilateral shapes- it still reflects what I had in mind. Dividing surfaces into fabricable parts remains a key concept in learning parametric modeling, so I decided to revisit and update this old definition. There must be many…

Scary Patterns

August 6, 2026

While digging through my archives, I found an old animation I made in 2023. Back then, I was generating patterns with Parakeet. Thanks to this talented add-on, I managed to create a nice pattern by dressing a different component onto a Snub Square tiling base. However, for some reason, things started turning into a horror movie after that. MultiPipe was popular back then. So, I converted this pattern into surfaces using MultiPipe and attempted an animation using Rhino’s rendered viewport…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #grasshopper
    • #tutorial
    • #rhinoceros
    • #tiling
    • #euclidean-construction
    • #interlocking
    • #pattern
    • #relief
    • #wave
    • #islamic-pattern
    • #structure
    • #contouring
    • #terrain
    • #aperiodic
    • #polygon
    • #rhino-python
    • #curvature
    • #deformation
    • #boolean
    • #linear-algebra
  • 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