designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

#computational-geometry

14 posts

Curvature Map on Terrains

September 17, 2026

This is the last of the site analysis tools we previously used in the midterm project of first-year architecture education. As you may recall, we previously introduced a tool that generates topographies based on specific parameters. Afterward, we examined two tools that perform slope and flow analyses on these topographies. Today, we are presenting a tool that analyzes curvature. This topic actually constitutes one of the interesting intersection points between architectural design and differential geometry. Curvature is not something architects…

Polar Sorting

September 13, 2026

I’d like to write down an interesting problem here. I remembered this while thinking about this post. It represents one of my favorite, simple pieces of reasoning. I frequently find myself needing to sort a number of points around a center in Grasshopper. Don’t ask why. I realized I’ve been using three different methods to achieve this. The first one that comes to mind is using the Vector Angle component, naturally. All we have to do is supply a plane…

Convex Hull with Rhino Python

July 28, 2017

This Rhino Python code calculates the cross-product determinant used to determine the orientation of three points (current, next_point, and point) to see if they form a left turn or a right turn. This is a well-known technique in computational geometry to check the relative orientation of points. In this script, the direction is the cross-product determinant that determines the relative orientation of the points. If the result is negative, the point is to the right of the line from current…

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…

Detecting Closed Shapes

August 26, 2013

Again, I continue with some simple solutions for Grasshopper. The surface split component gives all possible surfaces sliced with given curves. And it creates “invalid” curves with at least one open edge. I used this to perceive the closed regions within a given complex curve set. Just put the “Clean” component to erase the outer invalid surfaces and there remain the closed ones. However this time the question was where to put the circle and what its radius of it…

Detecting Inner Regions in Grasshopper

August 26, 2013

This is a simple trick that shows the utilization of the “surface split” component in Grasshopper. It is used for detecting the inner regions of any given two-dimensional linework. Thus, it resembles the hatch boundary detection of AutoCAD and similar software. There is no built-in hatch component in Grasshopper. But maybe you can use this as a starting point if you want to develop it. The definition starts with drawing a circle around a point large enough. The size of…

Curve Farthest Point

August 26, 2013

Today’s tip is about two-dimensional curve-point calculations. It is very handy to use “closest point” components in Grasshopper. You can calculate distances and directions between curves, surfaces, and points. Then, place point objects in relation to the proximity of another object. However, there is no “farthest point” implemented yet. I tried to calculate the farthest point from a curve. First, I tried to translate the curve in a fashion that would result in the opposite of the closest point calculation….

Method of Descartes

October 3, 2012

When I was younger, among the branches of philosophy, I had studied a little logic and, among the subjects of mathematics, geometrical analysis and algebra, three arts or sciences which looked as if they ought to contribute something to my project. But in looking at them, I took care, because, so far as logic is concerned, its syllogisms and most of its other instructions serve to explain to others what one already knows or even, as in the art of…

Architectural Geometry

August 16, 2012

Here is the preface of the famous book “Architectural Geometry”. It simply encourages me to learn new things every day even sometimes it seems to become impossible. Geometry lies at the core of the architectural design process. It is omnipresent, from the initial form-finding stages to the actual construction. Modern constructive geometry provides a variety of tools for the efficient design, analysis, and manufacture of complex shapes. This results in new challenges for architecture. However, the architectural application also poses…

Algorithmic Roots of Geometry

May 28, 2012

Here are several passages from Shamos’s dissertation thesis, where he is studying the history of geometry from the perspective of a computer scientist. This topic always fascinated me. However, this is a good reading for the algorithmic roots of geometry. …Egyptian and Greek geometry were masterpieces of applied mathematics. It is well established that the original motivation for tackling geometric problems was the need to tax lands accurately and fairly and to erect buildings (Eves, 72)… Euclid’s chief contribution to…

1 2 »
  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #rubber
    • #octahedron
    • #3d-max
    • #text
    • #complex-number
    • #hoopsnake
    • #space-syntax
    • #solar-analysis
    • #processing
    • #boolean
    • #maxscript
    • #minimal-surface
    • #sandblasting
    • #macro
    • #calculus
    • #vector-field
    • #random
    • #quad
    • #escher
    • #stone
  • 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