Clever Algorithms: Nature-Inspired Programming Recipes

For those interested on expanding their knowledge in Grasshopper, technical forms and new plug-ins is not the only way! Paramentric thinking is about mindset.

This book is a a great opportunity for anyone interested to get into the mathematical way of nature!  This book provides a handbook of algorithmic recipes designed to be accessible, usable, and understandable. Most of the algorithms described in this book were originally inspired by biological and natural systems, such as the adaptive capabilities of genetic evolution and the acquired immune system, and the foraging behaviors of birds, bees, ants and bacteria. An encyclopedic algorithm reference, this book is intended for designers, engineers, researchers, and interested amateurs.  Download the book here  . 


How to make topography models in Rhino with 4 easy steps

Often you will start a project with existing topographical information in the form of contour lines in a CAD program. This will allow you to quickly and easily develop a 3D model in Rhino.


Step One – Prepare your Contour Lines. You can import most CAD drawing formats directly into Rhino although some information will be lost. Don’t worry too much as long as you can find and isolate the contour lines.

The contour lines do not need to be joined as a single line. But they do need to be at the correct vertical elevation or “Z” coordinate. Many CAD files already have this done, in which case you are in luck! otherwise be prepared to spend some time moving all your lines to the appropriate height. Once this is done you can move on to the next step.

Step Two – Extract Points. Your contour lines should look something like the images at the left hand side. The first thing to do is select all of the contour lines at once, being careful to select no geometry that is not elevation information. You might want to turn other layers off for this. Then you use the command in Rhino “Extract Points” Which will give you (depending on your contour line accuracy) thousands of points. Your model will look like the one on the right.

Step Three – Create a Patch Surface. Now select all of these points and use the command “Patch” (you can type this in or use the icon). For patch you will be given some options. The first is U and V. Higher numbers will give you more accuracy but if these numbers are too high (on my computer over 80) your computer will crash. The other think to adjust is stiffness. A higher number here will make the surface less bendable and in our case here less accurate. you can experiment with this but a number around 100 should do the trick. Now Rhino will generate the patch. In my case, I wanted a surface that would fill a square boundary, but the patch bases the surface extent on your points and adds some for good measure. To get a Patch surface that fills the square, I needed to add two points (at the appropriate spot elevation) to the locations indicated. Now my surface is big enough to fill the square.

Step Four – Trim. Your patch surface will be larger than it needs to be, and surface information outside of your points will be inaccurate as it just extrapolates the general direction of the surface at the edges. You will need to trim the edges of your surface down. In this case I am using a square, but the trim line could be a property line for a project site, or it could be the city limits of a town for an urban model, or anything you choose. Note the trim line doesn’t need to be at the same “Z” coordinate of the surface. Once you are ready, type “Trim” or hit the trim button, you will be asked to select first the cutting curve (select it, and then press Enter) and then to select the surface to trim. Click the surface outside the trim boundary and it is trimmed.


If you prefer a video demonstration here you go:

Ever wonder how can you model this?

This is call displacement in rhino modelling language. Some modelers prefer to do it through the material rendering engine and others prefer to model it.


Learn how to create displaced mesh objects using procedural textures in Rhino 5. Displacements can be used for rendering purposes or extracted and edited for fabrication.

This is a good tutorial to get you started:

Also this one:

Paneling Tools

This is a great start to get into advanced modelling techniques. Introductory course to panelingtools. In this 13 part series, Rajaa Issa the creator of paneling tools introduces paneling tools for Rhino and grasshopper. Learn how to create panels in many different ways. Includes two full project studies. For more information on PanelingTools see:

For the full webminar click here: