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. SESSION 2A
  2. Visual programming 1

Visual programming 4

Introduction to Grasshopper

PreviousVisual programming 3NextAssociative modelling 1

Last updated 9 months ago

Conclusions

We can represent composite expressions in a graphical way through Graphs of components and wires instead of text (typical of general programming languages). The main benefit of this approach to computing is that it facilitates learning by easing the difficulty of getting acquainted with programming languages; primarily unfamiliar syntax. It is thus extremely approachable for computing beginners.

The beauty of visual programming diagrams is in their automatic propagation of data changes. Whenever a value is modified, a notification is sent forward to all connected components to recompute themselves. This is amazing in the sense of automation i.e. re-computation is automatic, but also because it allow us to observe step by step the flow of information without having to execute the entire program while crossing our fingers the result will be as expected.

To appreciate the benefits and limitations of this paradigm of computing we need to proceed to applications and progressively understand the reasons why this approach is popular with designers today, but also stumble upon the challenges motivating the introduction to conventional programming languages.

Further References

Grasshopper may appear to be rather esoteric as a programming environment. However, Visual Programming Languages (VPL) have been used extensively in specific domains for some time. Some of the earliest VPLs which continue to be popular today include and , which are geared towards use for laboratory instrumentation and music synthesis/production respectively. In fact, the paradigm of wires connected to black-boxes directly reflects early analogue equipment e.g. patch-cord wires were used to connect synthesizers for audio production.

Credits:

Similar to Rhinoceros/Grasshopper, software today are increasingly integrating Visual Programming Environments to make it more accessible for end-users to program custom functionality. Some examples include for game development and for animation.

There are numerous resources online for learning more about Grasshopper. While the blog will cover all technical content and concepts necessary for completing the assignments/projects, interested students may refer to the official grasshopper website’s , which answers commonly asked questions.

Houdini
forum
Pete Brown from Gambrills, MD, USA