designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Spherical Cycloid

April 2, 2024 | Algorithms
#cycloid #dome #grasshopper #rhino-python #sphere

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 on a spherical surface. I prepared two Grasshopper Python scripts for this study. The first one generates the x,y, and z coordinates of spherical cycloid variations. So, you can connect them to points and curves. The second script calculates the center and radius of the sphere the curve is on.

Spherical Cycloid animation
from math import *
x = cos(t)*(a-cos(w)*(b-b*sin(a*t/b)))-b*sin(t)*cos(a*t/b)
y = sin(t)*(a-cos(w)*(b-b*sin(a*t/b)))+b*cos(t)*cos(a*t/b)
z = sin(w)*(b-b*sin(a*t/b))

This Grasshopper definition generates variations of spherical cycloids and their spheres. It is an educational and exploratory code to learn Grasshopper and generate interesting designs with it. The inputs of the definition control the a, w, and b parameters of the formula and the t domain. The output of the code is the ordered list of x, y, and z values of the points on a spherical cycloid. Therefore, it is ready for further investigation and modeling. Another script inside the code calculates the height (z) and radius of the sphere. The code is using native Grasshopper components. Thus, no add-ons are necessary for it to work.

from math import *
h = (b-a*cos(w))/sin(w)
r = sqrt(a**2+h**2)
Spherical Cycloid Grasshopper definition
Spherical Cycloid cycloid, dome
Grasshopper definition (GH)Download
Rhinoceros file (3DM)Download

Cite this post

Yazar, T. (2024, April 2). Spherical Cycloid. designcoding. Retrieved August 24, 2026, from https://www.designcoding.net/spherical-cycloid/

Related Posts

Modeling a Geodesic Sphere

May 23, 2012

Not all of them, but when you get the idea, you’ll see there are lots of different alternatives for creating Fuller’s famous Geodesic Domes (Although in fact, he is not the inventor of it). I was playing with Platonic Solids in Rhino and realized that the “Pull” command is very useful in subdividing objects. I modeled this in Rhino 4. First, take a regular Icosahedron and divide it. Because, this is the simplest way for modeling a Geodesic sphere, by…

Graph of Parametric Functions

April 6, 2018

This RhinoPython script handles the simple graphs of two-dimensional parametric functions. Therefore, it approximates these functions by drawing parametric curves. It generates many points by solving the functions. The graph of parametric functions is a major topic in most Design Mathematics courses. Because it looks like the building block of many concepts of CAD. However, there is much more to learn before saying that the third degree NURBS is a degree-3 polynomial function. I am curious about learning the underlying…

Cycloid Curves with Rhino Python

August 7, 2017

Studied earlier in Grasshopper here, creating a cycloid-like curve actually mimics the physical process of rotating disks on a path. Below is a test in Rhino Python (I know the variable names are not conventional).

Cycloid Experiment

May 9, 2014

This is a Cycloid-like family of curves, generated by its classical description: a rolling circle. I had several other studies on similar topics before. In this cycloid experiment, I used Grasshopper in which, we don’t need to roll the circle. Instead, we can divide a parametric curve, utilizing data lists to simply rotate a circle around it. Finally, evaluating the circle repeatedly creates a Cycloid-like result. I found this as the most simplistic way of showing and studying these special…

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
    • #polyhedra
    • #parametric-surface
    • #robot
    • #tessellation
    • #boolean
    • #kuka-prc
    • #parametric-curve
    • #design-object
    • #image-sampler
    • #tutorial
    • #linear-algebra
    • #terrain
    • #sandblasting
    • #stone
    • #animation
    • #art
    • #aperiodic
    • #tiling
    • #contouring
    • #interlocking
  • 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