designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Delaunay Exercise

June 28, 2013 | Algorithms
#delaunay-triangulation #grasshopper

After becoming a ready-made component in Grasshopper, the Delaunay triangulation lost its popularity quickly. It used to be a nice problem of computational geometry for designers obsessed with scripting.  Last month, Benay reminded me of the method of circle checking. She showed her Rhinoscript that creates circles from point triplets and checks if a point is inside or not. Today I studied this in Grasshopper to see if I can handle the required point combinations quickly. However, my first attempt was terrible.

Wikipedia has a clean-quick explanation of the term:

In mathematics and computational geometry, a Delaunay triangulation for a set P of points in a plane is a triangulation DT(P) such that no point in P is inside the circumcircle of any triangle in DT(P). Delaunay triangulations maximize the minimum angle of all the angles of the triangles in the triangulation; they tend to avoid skinny triangles. The triangulation is named after Boris Delaunay for his work on this topic from 1934.

After a couple of dead ends, I solved it. The best part was understanding the “cross reference” component. It is a brute-force approach, creating all possible triangles from a given list of points. By using the combination formula I calculated the correct number of triangles. However, the different modes of the “cross reference” component give different results. “Lower strict” mode was the one I want, which calculates every combination of point triplets without caring about their order. I studied it with other native Grasshopper components but it became too complicated. After finding all of the circles. I checked if any point is inside these circles. If there is no point inside the circle, then these three points create a cell of the Delaunay triangulation. I checked with the ready-made component and it works correctly. But in some conditions, the circle component gives an error as three linear points cannot create a circle.

Delaunay Exercise Grasshopper definition
Delaunay Exercise delaunay-triangulation, grasshopper
Grasshopper definition (GHX)Download

Cite this post

Yazar, T. (2013, June 28). Delaunay Exercise. designcoding. Retrieved October 3, 2026, from https://www.designcoding.net/delaunay-exercise/

Related Posts

Delaunay Triangulation on Surface

March 26, 2015

This is a useful tip both to solve some of the problems with custom surface subdivisions, and to explain the uses of parametric surface evaluations (the U, V, W thing) and the practical use of data lists. Step 1: Put your points inside 0,0,0 and 1,1,0 so that the resulting coordinates can easily be converted to U and Vs. In the example, we are putting some random points between 0,0 and 1,1 using the Populate2d component. Step 2: Then make whatever you…

Landscape Extensions Final: Digital Sketch

February 1, 2015

This is the final Grasshopper sketch of our graduate studio conducted together with Fulya Akipek at Yıldız Technical University Computational Design Unit. The project was about designing parametric “Landscape Extensions” at Kabataş Park in İstanbul. I hope I’ll be able to post the actual student works and the material system, but now; only the final result of the digital sketch we’ve developed together with students is presented here. This was a kind of “sketchy” definition that came up as an…

Delaunay Triangulation with Rhino Python

July 27, 2017

Boris Nikolayevich Delaunay was a Russian mathematician and mountain climber. He developed the Delaunay triangulation, which is a method in computational geometry. It is a triangulation of a set of points such that no point is inside the circumcircle of any triangle formed by the points. It’s widely used in computer graphics and mesh generation. In 2013, I made the brute force code in Rhino Python which is a slow solution to this problem. It used to be a nice…

Tensile Fabric with Kangaroo

September 25, 2026

How much work we did last year for first-year architectural education! The tensile fabric study we carried out using Grasshopper Kangaroo in “Design Computing”, a first-year course I coordinated alongside my colleague Serkan Uysal, served as a baseline for the material research addressed in the Basic Design studio at that time. Such geometric optimizations in Kangaroo are no longer surprising or novel to anyone. However, experiencing these tools and possibilities in architectural education in the very first year offers a…

Generating Harmonic Motion

September 21, 2026

While trying to program the curves produced by Spirograph toys in Grasshopper, I took a slightly different path. The topic eventually led to a broader heading: harmonic motion, and from there, to the Fourier Series we looked at previously. This simple Python code models Fourier Synthesis, driven by circles of different radii in a very straightforward way. The Python component sets up a loop that calculates the effect of each circle to the x and y values, individually. In this…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #rhino-python
    • #polyhedra
    • #design-education
    • #robot
    • #parametric-surface
    • #terrain
    • #tessellation
    • #kuka-prc
    • #curvature
    • #fourier
    • #computational-geometry
    • #visualization
    • #dual
    • #parakeet
    • #pattern
    • #simulation
    • #vector-field
    • #growth
    • #boolean
    • #sandblasting
  • 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