designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Cycloid Curves with Rhino Python

August 7, 2017 | Algorithms
#cycloid #parametric-curve #rhino-python

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 Curves with Rhino Python cycloid, parametric-curve
# Drawing Cycloid-like Curves
# 07.08.2017 www.designcoding.net - Tugrul Yazar
import rhinoscriptsyntax as rs
curv = rs.GetObject("Select curve")
qual = rs.GetInteger("Quality",100)
radi = rs.GetReal("a radius",4)
radi2 = rs.GetReal("Circle radius",4)
cua = rs.OffsetCurve(curv,[1,1,0],radi2)
cevre = 2 * 3.1415 * radi
mimi = []
for i in range(0,qual):
	ming = i / qual
	momo = rs.CurveParameter(cua,ming)
	deto = rs.EvaluateCurve(cua,momo)
	geto = rs.AddCircle(deto,radi2)
	angle = (360 * momo) / cevre
	gogo = rs.RotateObject(geto,deto,angle)
	mimi.append(rs.CurveStartPoint(gogo))
	rs.DeleteObject(geto)
rs.AddInterpCurve(mimi)
rs.DeleteObject(cua)
Python file (PY)Download

Cite this post

Yazar, T. (2017, August 7). Cycloid Curves with Rhino Python. designcoding. Retrieved August 24, 2026, from https://www.designcoding.net/cycloid-curves-with-rhino-python/

Related Posts

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 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…

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…

Discrete Fourier Transform

May 8, 2025

The Fourier Transform is a powerful mathematical technique that allows us to analyze the different frequency components within a signal or shape. Its discrete version, the Discrete Fourier Transform (DFT), is used when working with numerical data. I studied the Fourier Series here before. One of the most fascinating aspects of the DFT is that it can represent a signal or shape using rotating circles (or vectors). Each circle corresponds to a specific frequency, amplitude, and phase. When connected in…

Quick Parametric Curves

July 28, 2024

Here is the shortest possible way of generating quick parametric curves in Rhino Python. So, you may change the f, g, and h functions to test any function curve. In this Python code, the list comprehension [(f(t), g(t), h(t)) for t in [t0 + i*dt for i in range(int((t1-t0)/dt)+1)]] works by first generating a list of t values from t0 to t1 with an increment of dt using the inner comprehension. The outer comprehension then iterates over these t values,…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #grasshopper
    • #tutorial
    • #linear-algebra
    • #bezier-curve
    • #vector
    • #polyhedra
    • #rhinoceros
    • #dome
    • #design-object
    • #simulation
    • #fourier
    • #b-spline
    • #catenary
    • #design-education
    • #kuka-prc
    • #robot
    • #sandblasting
    • #stone
    • #dual
    • #art
  • 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