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
  • Hypotrochoid
  • Conclusions
  1. APPENDIX
  2. Spirograph 1

Spirograph 2

PreviousSpirograph 1NextCurves

Last updated 8 months ago

Hypotrochoid

We have thus far built a fairly good approximation of the Spirograph set. However, let’s extend the hypocycloid program to model the Spirograph more accurately and generate further interesting results. As the drawing below shows, a spirograph disc has many holes in which to insert the pen nib. Each hole lies a distance h from the centre of the disc. Let’s introduce this new parameter h into our program.

Credit:

A curve generated by tracing a fixed point offset from the centre of a smaller circle rolling inside a larger circle is called a hypotrochoid. In fact, the hypocycloid is a special case of a hypotrochoid whereby h=bh = bh=b, the radius of the disc. If we introduce the parameter hhh and moreover, remove the constraint of containing the fixed point within the smaller circle, we are able to generate curves such as the one shown below, where h>bh > bh>b.

The parametric equation for a hypotrochoid through the origin is:

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

Note in this case the inclusion of h parameter. We simply modify the expressions used in the earlier hypocyloid example to plot the new curve.

The program is further extended to vary the visual attributes (colour) of the curve as we trace the point on the disc through its revolution. This is achieved by exploding the polyline into segments that are then given individualised RGB colours.

We now have a hypotrochoid drawing program that can produce some results that are not physically possible with the original spirograph set. It has several input parameters (highlighted in magenta) that we can adjust to quickly explore variations of the curve.

Practise

  • What is the result of increasing N, the factor by which we multiply Pi i.e. the number of times we revolve the smaller circle around the larger one?

  • What are combinations of a, b and h values that produce unexpected results (perhaps visually coherent)? For example, what happens when a is a multiple of b? Take note of these combinations.

  • There are another set of curves called Epicycloids, which are generated by tracing a fixed point on a circle that rolls on the outside (not inside) of another circle. Look up the parametric equation of an epicycloid, try to work out its derivation. Thereafter, adapt one of our earlier definitions to generate an Epicyloid

  • Nesting – thus far we have nested one circle C2 inside a larger one C1 to generate the hypocycloid. Are you able to nest another smaller circle C3 inside C2? What about another? How far can you go? What problems do you face in trying to implement a solution?

Conclusions

In this exercise, we demonstrate the ease with which we can begin to graph curves that are mathematically defined, and thereafter begin to compose different expressions to generate curves that were unanticipated.

Aaron Bleakley
10KB
Spirograph3_Hypotrochoid.gh