designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Gaussian Curvature

September 23, 2026 | Discourses
#calculus #curvature #grasshopper #sphere

The development of geometry began by measuring the world as discrete objects. Moving beyond measuring nature, it evolved into reasoning, calculation, and mathematics. Platonic solids were one of the most elegant and beautiful ideas reached by geometry. Pondering why there are only five of them was a tribute to collective human intelligence. Earlier in this blog, we modeled polyhedra, like the Platonic solids, using geometric construction methods. This process was like solving a puzzle. To construct a point whose distances from specific reference points are known, we intersected spheres (trilateration). Remember how precise and rational the geometric construction method is. By connecting the points we found, we created edges, faces, and ultimately closed objects. While making these models, we defined sub-objects such as vertices, edges, and faces.

When defining geometric objects on a computer through their relationships with sub-objects, we utilized a concept called Boundary Representation (B-Rep). This concept is not merely a modeling method; these boundary conditions determine where the inside of solid objects ends and where the outside begins. In Rhino, by using the SHIFT+CTRL combination on the keyboard, we can select and edit the sub-objects of a cube. By moving the edges along an axis using the Gumball, we can create different polyhedra.

Infinity?

So what are the sub-objects of a sphere? What are the differences and similarities between a sphere and an icosahedron? Both define a closed volume. As B-Reps, they are objects with an inside and an outside. A sphere has no vertices or edges; it has a smooth, curved surface. The faces of an icosahedron, however, are flat. The vertices of an icosahedron lie on a sphere. Its faces are connected to one another, but because they connect at an angle (breaking), vertices and edges are formed. If you remember, those with more faces, like the Archimedean solids, gradually began to resemble a sphere. If there were a polyhedron with an infinite number of vertices, would it somehow become a sphere? Infinite? And we thought an icosahedron was complex! Is a sphere a shape with infinite vertices and edges? Then how is Rhino able to draw a sphere on the screen?

For our computers with finite capacity, the only way to display a sphere on the screen is by dividing it into a large number of small planar pieces and showing it to us without us noticing. Let’s draw and convert a sphere in Rhino into a coarse mesh object using the Mesh command, zoom in, and examine its sub-objects. Let’s overlap it with the non-mesh sphere and see the differences. If even our advanced computer can only visualize the simplest shapes like a sphere by cheating, how was it possible to define this and all other conceivable curvilinear forms long before computer technology even existed?

We use mathematics to talk about infinity. As you might remember from high school math, calculus makes it possible to perform operations involving infinitely small quantities. When calculus is adapted to geometry, the concept of infinity ceases to be frightening or unsolvable. That is why the subject we need to work on to understand curvature is differential geometry. As an answer to the question we just asked, it was this branch of mathematics that enabled infinite shapes to be analyzed centuries before computers even existed.

To understand the differential geometry of surfaces, one of the first and most important subjects we must focus on is curvature. To examine the curvature of a sphere and other shapes, we must look at these objects more deeply, not from an external space, but from within the object itself (intrinsically). We had noticed that the sphere possesses characteristics different from the Platonic solids. The most prominent of these features was that the surface is a single closed curved surface without edges or vertices. Let’s get a little closer to the sphere to understand its curvature. For example, let’s open an empty canvas in Grasshopper and place a Sphere component. Let’s control its radius with a Number Slider. Let’s set the maximum value of the Number Slider to a very high number, like 100000. I want the camera to stay on the sphere. Therefore, by using a Negative and a Construct Point component, let’s make the center of the sphere move in the -Z direction as it grows.

Gaussian Curvature Grasshopper definition

After completing the code, let’s make observations by changing the Number Slider value. When the sphere is small relative to us, we can examine it from the outside. When it grows, it appears flatter to us. Eventually, it can grow so large (or we can get so close to the surface) that it may begin to appear completely flat to us. Note that our perceiving it as flat didn’t make the sphere flat. The curvature of the sphere is the same. The sphere is still the same sphere. So, if we didn’t know that the component we placed was a Sphere or hadn’t seen its small version, could we realize that the form we are looking at is a sphere? How?

Geography is Destiny

Our planet also looks like a sphere to someone looking at it from the outside, but we don’t really notice this much. You have probably heard that the sizes of countries on maps are inaccurate. Maps of planets cannot be made completely accurately. It is geometrically impossible to transfer a spherical shape onto a two-dimensional flat paper without tearing or folding it. Imagine trying to spread an orange peel onto a flat table in a single piece, without leaving any gaps; the peel will inevitably tear somewhere.

Now, let’s observe this error on the computer as well. It is possible to observe this error even in a triangle drawn on the sphere. What is the sum of the interior angles of a triangle on a flat plane? If we cannot map a sphere flatly, we should be able to observe this error in the interior angles of a triangle drawn on it. We created a code for this purpose. Download the file from the link below and open it in Grasshopper. Let’s run it by connecting a Sphere, an MD Slider, an Evaluate Surface, and a Number Slider. Here, Evaluate Surface will play a key role in terms of calculation and will be a component we frequently use in the future. This code draws an equilateral triangle at the point we determine on the surface using the MD Slider and calculates the sum of its interior angles. No matter where we look, we can see that the sum of the interior angles of the triangle on the sphere is greater than 180 degrees.

Gaussian Curvature Grasshopper definition

Curvature

Now, let’s create a ruled surface using the Point, Line, and Loft components. Let’s also analyze this surface with our code. Finally, let’s make a cylinder using a Circle, a Z vector, and an Extrude component, and analyze it as well. Let’s try to understand how the triangles look while on the surface, and in which cases the sum of their interior angles is 180 degrees, and in which cases it is less than or greater than 180 degrees.

Now, we will create a general algorithm that models surfaces with different curvature characteristics. Let’s build the code step by step in Grasshopper that draws a simple curve in two directions and turns them into a surface with the Sweep component. We can build this algorithm in Grasshopper using the Panel, Number Slider, Construct Point, Merge, Interpolate, Vector2P, and Move components. In the sweep operation, we will use two curves consisting of three points each as profiles. We will control the direction of the resulting curve by moving the midpoint of the curves up and down. Similarly, we define another curve as a rail curve. By controlling the directions these two curves are facing, we can create peaks, pits, or Pringles-like surfaces.

Gaussian Curvature Grasshopper definition

Once the algorithm is ready, let’s connect the resulting surfaces to the code that draws triangles on them. If you noticed, the curvature of the surface is related to the direction and curvature of the curves we designed for the sweep operation. These are called the principal curvatures of this surface. When the mathematician Euler applied calculus to geometric surfaces in the 1750s, he calculated principal curvatures to define the externally visible curvatures of surfaces. What kind of relationship can we establish when we move the triangles across the surface? Let’s note the behavior of the triangles when the profile curves face the same direction, opposite directions, or when at least one of them is flat. As you will notice, the product of the signs of the two curves forming the surface gives important information about the curvature of the surface. This property, called Gaussian curvature, is simply the product of the principal curvatures. This definition of curvature answers many of the questions we have been looking for from the beginning. Surfaces whose principal curvatures face the same direction have positive Gaussian curvature, while those facing different directions have negative Gaussian curvature. Surfaces where one of the principal curvatures is zero (flat) have zero Gaussian curvature (because multiplying any number by zero is zero anyway). This curvature is an intrinsic property of the surface, independent of its dimensions and the ambient space we look at it from.

What is the Use of it?

What use will this information have? This information answers some of the questions we struggled to answer above. Can we realize that we are standing on a sphere, just by being on it, without ever stepping outside the form? Yes. Why? Because without leaving the surface, we can gain information about the surface by adding up the interior angles of the triangles we draw. By using the Gaussian product, we can state whether the surface has zero, positive, or negative curvature. In this way, we can prove that we are standing on a spherical object by making measurements on the surface without even leaving our planet.

A surface tends to preserve its Gaussian curvature. The pizza slice example is a classic illustration of this. When you hold a slice you took from a planar pizza (zero Gaussian curvature) by its edge, its tip will sag downwards. This sagging will be in a single direction, and in this way, the zero curvature will remain unchanged. When you don’t want it to sag, you give it curvature in the other direction by gently squeezing the slice in your hand. Therefore, since the object tends not to change its zero-curvature character, when you squeeze it and give it curvature in the other direction, the tip of the slice will become flat again, preserving the zero curvature.

All jokes aside, this information is the most effective way for us to analyze the developability of a surface and its panelability with planes. We cannot unfold the Earth onto a plane (map) without tearing it, because its curvature is not zero, like in a cylinder. The measurement that proves a cylinder is developable is that its Gaussian curvature is zero.

Grasshopper definition (GH)Download
Grasshopper definition (GH)Download
Grasshopper definition (GH)Download

Cite this post

Yazar, T. (2026, September 23). Gaussian Curvature. designcoding. Retrieved September 23, 2026, from https://www.designcoding.net/gaussian-curvature/

Related Posts

Curvature Approximation by Drawing

March 14, 2024

Curvature can be roughly described as how much a curve is “turning” at point a P. We place two “very” close tangents and measure the difference between them. The closer these tangents are, the more precise our approximation would be. An osculating circle is a tangent circle that has the same curvature as the curve at point P. The larger the circle, the more “flat” the curve is. An infinitely large osculating circle means the curve is linear at point…

Designing with Grasshopper

May 2, 2012

Today, there are pedagogical and practical challenges on the use of algorithms in architectural design, as computer puts not only a physical but also a cognitive layer between designer and the subject. Formulation of this cognitive layer is becoming important, regarding which model of computing is used to connect designer with the subject. Is it a “designerly” search, or design exploration in a visual programming environment? As most of the researchers admit that visual programming environments are very effective in generating variations,…

Calculating a Guitar’s Surface Area with Bézier Curves

August 27, 2024

Below is the first paper of my son, Mete Yazar. It is about a mathematical and geometric exercise of calculating the surface area of an arbitrary shape (a classical guitar’s body panel). He did a good job in utilizing Bezier/de Casteljau curves and generating the parametric equations of the piecewise curve. I helped him to validate the results by using rhinoceros CAD software. Therefore, it seems that his calculations are correct. In this paper, we attempted to calculate a guitar’s…

Spherical Cycloid

April 2, 2024

Today’s beautiful curve is the spherical cycloid. It is a cycloid, rolling on a 3d circular path rather than a straight and 2d one. There are algebraic explanations of this curve. Therefore, I find it interesting to experiment with them, since it is more interesting than the regular planar cycloids, epicycloids, and hypocycloids. This curve is believed to have been studied first by Jean Bernoulli in 1732. The interesting and playful part of this is the resulting curve is always…

Fibonacci Sphere

April 12, 2023

This website explains the problem and several solutions. I managed to implement the formulas to convert a 2D square grid into spherical coordinates. The Fibonacci Sphere is one of the solutions to the equal distribution of points on a sphere. It is not the best solution to this problem. But it is regarded as a quick and efficient one. Suitable for me. I developed this Grasshopper code by studying the above website and some other sources. The code starts with…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #rhino-python
    • #polyhedra
    • #robot
    • #design-education
    • #terrain
    • #tessellation
    • #kuka-prc
    • #parametric-surface
    • #design-object
    • #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