10.014 CTD
  • Overview
  • Schedule
  • Administrative
    • Accessing Rhino remotely
    • Rhino for Mac
  • ASSIGNMENTS
    • Dates and rubrics
    • Generative design
      • Generative design
    • Parametric design
      • Parametric design
    • Simulated design
      • Simulated design
      • Simulated design
  • SESSION 1B
    • Computer Aided Design
    • Ranges and expressions 1
      • Ranges and expressions 2
      • Ranges and expressions 3
      • Ranges and expressions 4
      • Ranges and expressions 5
      • Ranges and expressions 6
  • SESSION 2A
    • Visual programming 1
      • Visual programming 2
      • Visual programming 3
      • Visual programming 4
    • Associative modelling 1
      • Associative modelling 2
      • Associative modelling 3
  • SESSION 2B
    • Logical Patterns 1
      • Logical patterns 2
      • Logical patterns 3
  • SESSION 3A
    • Spatial geometry 1
      • Spatial geometry 2
      • Spatial geometry 3
      • Spatial geometry 4
      • Spatial geometry 5
      • Spatial geometry 6
      • Spatial geometry 7
    • Curve geometry 1
      • Curve geometry 2
      • Curve geometry 3
      • Curve geometry 4
  • SESSION 3B
    • Surface geometry
    • Parametric modelling 1
      • Parametric modelling 2
      • Parametric modelling 3
      • Parametric modelling 4
  • SESSION 4A
    • Information nesting 1
      • Information nesting 2
      • Information nesting 3
    • Data landscapes 1
      • Data landscapes 2
      • Data Landscapes 3
      • Data landscapes 4
  • SESSION 4B
    • Mesh geometry 1
      • Mesh geometry 2
      • Mesh geometry 3
  • SESSION 5A
    • Space and time 1
      • Space and time 2
    • Modelling entities 1
      • Modelling entities 2
      • Modelling entities 3
  • SESSION 5B
    • Multibody dynamics 1
      • Multibody dynamics 2
    • Material elasticity 1
      • Material elasticity 2
      • Material elasticity 3
  • SESSION 6A
    • Form-finding 1
      • Form-finding 2
      • Form-finding 3
      • Form-finding 4
  • SESSION 6B
    • AI Image generation 1
      • AI Image generation 2
      • AI Image generation 3
  • APPENDIX
    • Spirograph 1
      • Spirograph 2
    • Curves
    • Swarm Intelligence 1
      • Swarm Intelligence 2
    • Hybrid programming 1
      • Hybrid programming 2
Powered by GitBook
On this page
  1. APPENDIX

Spirograph 1

PreviousAPPENDIXNextSpirograph 2

Last updated 8 months ago

This session contains extra material that supplements Associative Modelling, addressing earlier topics raised such as: ranges, symbolic expressions, parametric representation of curves and customising visual attributes. You may follow along to practise techniques picked up in the previous sessions.

The Cycloid

We introduce a type of curve related to epicycles from before. Roulettes are curves generated by tracing a fixed point on a closed convex curve as it rolls, without slipping, on another curve. We start with the simplest example, the cylcoid, which is generated by a circle rolling along a straight line.

The parametric representation for a cycloid through the origin is:

x = r * (t - sin(t))
y = r * (1 - cos(t))

where r is the radius of the circle and t corresponds to the angle through which the circle has rotated. The derivation is as follows.

The circle rolls along the horizontal axis without slipping. Hence the length of the blue arrow is equal to the arc length r∗tr*tr∗t (black arrow). This is the x-coordinate of the circle’s centre, while it’s y-coordinate is simply r. Subtract r∗sin(t)r*sin(t)r∗sin(t) and r∗cos(t)r*cos(t)r∗cos(t)respectively to get the x and y coordinates of the red point. We plot a series of points to get our cycloid curve.

Recall the process of plotting curves from before. With reference to the above video, we generate a range of angular values t, in this case from 0 to 4π. Thereafter we use expression editor components allowing us to write the parametric equations that were derived earlier. Feeding their outputs to the corresponding x and y inputs of the "Construct Point" component, we plot points on the curve that can be further visualised as a polyline.

Hypocyloid

In 1965, an engineer by the name of Denys Fisher introduced a toy called the spirograph set, which consisted of differently sized geared wheels and circular hole templates to roll them around in. Each wheel had a number of holes through which you could insert a pen/pencil. By revolving the wheel, one could trace out intricate patterns like the ones shown below.

The spirograph patterns are generated by rolling a smaller circle inside a larger circle without slipping. If the fixed/pen point is on the edge of the circle, then the curve is called a hypocycloid.

The parametric equation for a hypocycloid with its centre O on the origin is:

x = (a-b) cos(t)+ b cos(((a-b)/b) * t)
y = (a-b) sin(t) - b sin(((a-b)/b) * t)

whereby a circle C1 with radius bbb is rolling inside a circle C2 with bigger radius aaa.

Let’s derive these parametric equations. We note first of all that the point C lies on a circle with radius a−ba-ba−b. Hence we know that its x and y coordinates are respectively (a−b)∗cos(t)(a-b)*cos(t) (a−b)∗cos(t) and (a−b)∗sin(t)(a-b)*sin(t)(a−b)∗sin(t). We then have to add the value b∗cos(φ−t)b*cos(φ-t)b∗cos(φ−t) and subtract b∗sin(φ−t)b*sin(φ-t)b∗sin(φ−t) to x and y to find the coordinates of point P.

Next, we note that because the inner circle does not slip, the distance it rolls clockwise as described by the black arrow is equal to that of the blue arrow. In other words, the arc lengths b∗φb*φb∗φ and a∗ta*ta∗t are equal. Hence we are able to express φφφ in terms of aaa, bbb and ttt. If we now substitute a/b∗ta/b * t a/b∗t for φφφ in the earlier expressions, we are able to arrive at the parametric equation for the hypocycloid.

Reusing the earlier Cycloid definition, we edit the parametric equations in the expression editors accordingly and set two sliders corresponding to radius aaa and bbb. Visualise the hypocycloid using a polyline node. Adjust the sliders and note when cusps in the curve appear.

Spirograph patterns
File:Spirograph4.JPG
5KB
Spirograph1_Cyloid.gh
16KB
Spirograph2_Hypocyloid.gh