Visual Programming Language (Grasshopper)
Introduction
Grasshopper is a visual programming language developed by David Rutten at Robert McNell & Associates.[1] Grasshopper is a plug-in that runs within the Rhinoceros 3D CAD application. Programs are created by dragging components into the work area. Components have inputs and outputs, the outputs connect to the inputs of subsequent components. It is mainly used to program generative algorithms.[2][3] Many of Grasshopper's components create 3D geometry.[ex 1] Programs can also contain other types of algorithms, such as numerical and textual[ex 2] audiovisual[ex 3] and haptic applications.[ex 4].
The first version of Grasshopper, called Explicit History at the time, was published in September 2007. A beta version is currently available, this being a development phase. As it is still in development, it is offered for free with no deadline. Despite the above, it is necessary to have a Rhinoceros 3D 4.0 or later license to be able to run the program.
Node-based editor
The main interface for algorithm design in Grasshopper is the node-based editor. The information goes from component to component through cables that connect outputs to inputs. The information can also be defined locally as a constant, or imported from an existing Rhino document. The information is stored in parameters, which may or may not be connected to other components.
In the image shown above you can see three floating components that are linked to a subtraction component. The two yellow boxes located on the left define a series of numerical constants. At the top are panels containing four integers (6,7,8 and 12) while at the bottom the panel contains only one number. These float parameters provide data to the subtraction component, which results in the output of four values (6-5=1, 7-5=2, 8-5=3 and 12-5=7). The same process can be achieved with textual expressions and an evaluation component. This software allows you to combine visual and written programming in the same work environment.
User interface
Grasshopper has a very advanced GUI, it has many features that are difficult to find in production software. It has been put on the table whether the presence of these elements improves or impedes the use of being an interface for programming. The main window is made up of component palettes and the work area or canvas. It also has standard Windows GUI elements, such as the title bar, menu, and status bar. Being a plug-in that runs in a separate window, the layout of the window is very simple. Below is a list of some user interface elements.
References
- [4] ↑ A sample of grasshopper generated formsAkos, Gil; Parsons, Ronnie, Casino Studiomode (Blog), StudioMode Beta .: http://studiomode.nu/
- [5] ↑ , pudiendo así generar listas de funciones conectadas a canales de transmisión de datos que contienen información en números y texto.Fraguada, Luis. «LaN co-director».: http://www.grasshopper3d.com/group/ghowl
- [6] ↑ Andrew, Kudless (July 2011). «Co-Coordinator CCA MediaLab. San Francisco, CA». Biodynamic Structures Workshop. California College of the Arts, San Francisco: AA San Francisco Visiting School. pp. http://www.flickr.com/photos/tags/biodynamicstructures/. Consultado el 9 de febrero de 2011.: http://sanfrancisco.aaschool.ac.uk/
- [7] ↑ Payne, Andrew, USING A WII TO CONTROL GRASSHOPPER .: http://www.liftarchitects.com/journal/2009/9/8/using-a-wii-nunchuck-to-control-grasshopper.html