Page 1



















Week 1 task:

The first week’s online tutorials focused on familiarizing us with the interface of Rhino’s node-based algorithm editor which is Grasshopper. Our first task was to loft two basic sea sponges and explore the general shape. Then, loft two different of sea sponges and try to loft in a similar shape.

Moving control points in Rhino to investigate differentiated geometry.

Trying to loft a sea sponge using Rhino only. 4

Exploring new relationships between geometries, investigate differentiated geometry and capturing differentiated models through baking in grasshopper back into Rhino.


Week 2 task:

The second week’s sketching is to generate an interesting tree branch with at least a couple of branches coming off the main one.

I tried to explore “Construct Domain(DOM)“ to create numeric domain from two numeric extreme. Then I linked it to “Random” so that it generate a list of random number for an uneven surface to my tree branch. I then used the same model and continue baked it with different shapes and radius. I arranged the tree branch using Rhino instead of Grasshopper.


For this sketch, besides trying to explore “Random”, I tried on component “Cull Pattern” which remove the elements in a lists using a repeating bit masks.

The outcome of the mesh by starting with only a surface on Rhino. There were first many random points on the surface then some were randomly being culled and the others were being rised along z-axis.


In this case, the main connection component of the model is “IntCrv“ which create interpolated curves through a set of points on curve.


Week 3 task:

The third week’s tasks is to create definitions that can produce a wide range of different patterns in the linework. Consider intersecting the surface, projections, lists or points as a way to generate the linework.

“Dispatch” were used in this experiment to allows me to tessellate a surface with two different panel types dispatched through random sorting.

Attemp on Attractor Point.


Generating a grid shell.


A simple sketch when exploring linework.


Tried on component “Pipe“ to generate a series of tube and cylinder form.


“Pop3D“ was interesting and easy to be used while “Voronoi3“ create random geometry shape on the point among “Pop3D“, I used “cull“ again so that random element could be remove to create more interenting outcome.


Week 4 task: General Experiment Create 4 simple definitions to find the mid point of a curve.

Trying to create 2 simple difinitions to get a mid point of a surface.


Experiment with field charges.


Tried to explode the geometry to get variety of pattern of the surface.

Experiment with line, point, spin and vector force using a bunch of component from “field�.


First attempt on an expression by generating and deciding a geometry shape using a Mathematic formula.


Revised on image sampling from week 1.

Cos and Sin were used in this case to link with voronoi in order to generate a biomimitic of surface. Cull is to make the surface more random and interesting.


Started the sketch from a Pi (π) and connect it with xy angle of “Pt“ component so that the there are points lay uniformly on the xy direction of the curve. Then, “radian” is connect to the curve by “interpolated curve” which allow the lofting.


Multidimentional slider attempt.

Using Cos and Sin to create spiral curve


Understanding of Trim Tree, Simplify, Flatten tree, Explode tree and Graft tree.


Understanding of “Cross Reference”’s function when apply on curve.

Understanding of “Long Lsit”’s function when apply on curve.

Understanding of “Short Lsit”’s function when apply on curve.


Week 5 task: Evaluating field 1. Create your own Biothing definition. 2. Take the curve output from point 1 and try and do something interesting with it. Extrude them according to an attractor point.

Evaluating field

Playing around with point charge, spin force, field line to see what kind of effect it has to the curves. Also changing slider values to see the influences. Divide tool (1) – number of points on base curve, thus change on number of the shapes Circle tool – increases radii of the circles (at point) Divide tool (2) – number of lines that grows out from points Field line tool – length of lines


Graphic Section Profiles Add on from evaluating field, utilising graph mapping – graph type Bezier, the 2D shape create from evaluating field was able to change to 3D shape.

The shape alternation caused by graph was hard to understand, but the sliders were straight forward that divide/range slider provided more curves, and multiplications altered altitude of the desgin



Graph Controllers

Adding voronoi to graph mapper produced interesting, that “voronoi” shape. Circle was used for this, but other shapes could be used as well such as rectangle, but did not test it out as it will be the same thing. The graph mapper controlled how much the pattern draws to moves aways from the centre. Divide obviously controlled number of patterns, but to create pattern in the circle, it had to be “odd” number.



Image sampling Using 2 images to sampler on one surface and there are circles at dots to produce the image on bottom



Tree Statistics and Visualisation

Simple definition by using tree statistics, to produce number (data) of surface


Week 6 task:

Experimenting with Clusters and creating shortest path across points using travelling salesman component.

Cluster Definition

Recursive Patterning using clusters within the definition


Fractal Pattern A number of curves were iterated from the definition above and changing the scaling and trimming components. Interestingly this may be used in creating a more dynamic approach to future patterning aspects. Perhaps by using this definition I may explore further by not repeating the curve over and over, but make it more organic and join different curve/forms together.


These forms are interesting in the way that they are clusted so that so much more can be achieve within a quicker amount of time. These lines (created by each cluster) could be lofted to form one surface. It is interesting process to consider for part C.


Experimenting with different input geometry to generate different fractal patterning.



Gradient Descent To create this gradient decent pattern on a surface, a manipulated loft was used as a base. The inputs and outputs were created using the grasshopper tools and clustered to create a simplified algorithm. Then the pattern was created by althering the u and v values of the divided surface.

Two variatianal forms have been created in order to create a circular pattern rather than linear one.


Week 7 task: Exploring Kangaroo and Definitions

Kangaroo is an intriguing component as the spring physics gives an organic and dynamic form. This fundamental shows how springs work if it was stretched like a material. It is noted that Kangaroo cannot be used on polysurfaces and it has to be used on meshes or else it will not effectively work and connect.

This simple spring as shown above is just the demonstration of how to stimulate a bending force on a vector line. Anchor points are put on the end to prevent it from moving. This simple iteration shows the potential of Kangaroo bending forms when applied in more complex mesh.


By using a simple base of pattern as the foundation to create the mesh for the Kangaroo algorithms, it allowed various possibilities and iterations (with added tools to it, and altering it as it goes). The definition below was primarily used throughout all the iterations made with slight adjustments with the points, as well as occasionally changing the mesh shape itself.



Voussoir Form Finding

In using the kangaroo plug-in for Grasshopper, I was able to better understand how we can aim to make our form adaptable and plug in information from external sources in order to create a unique project that can interact with both the users and the site.



Hoop Snake I attempted to create a pattern of lines by using vector lines, dividing them into multiple directions and planes, and also using point charges to alter their aesthetics. I expanded my exploration with vector lines, such as reversing them, coordinating them with guides, etc.



It was somewhat tedious to continuously join vector lines, thus, “loops� were made and generated into the groups. By repeating it, changing the sliders in the vector direction, it gave an organice texture to the lines that have been created. There was also a magnitude of ways to connect and change the lines in three dimensional ways (such as add x,y,z planes for the lines). This was interesting as it provided a way we may put some tessellated appearance on the lines (the strings) while providing some order.


Hoop Snake was able to adjust the numbers time the cycle may run, it essentially gave a conditional relationship for the lines to behave, as well as control how dynamic they may get (without the long process of copying, pasting and connecting the loops to give this sort of appearance). 45

After exploring the variety of patterns Hoop Snake may achieve, it gave insight on ways we may model the strings on our structure. Hoop Snake was indeed interesting to use as to render very dynamic orders and patterns (as shown), but realistically on the model the strings may not be as extreme as it would not be practical. However, it did give an idea on how we may give the lines some cohesive order, opposed to just randomly weaving the lines around the structure in an idealistic manner.



Structural Analysis with Millipede



Exploration with Materiality

Structural analysis with the materials (such as steel, concrete, oak etc, shown on the left) may be tested within the elements of the structure. By using different materials, Millipede somewhat imitates these components and indicates how it may perform in a real life condition.


The ribs of the structure was also explored (they could be circle follow, circle solide, rectangle follow etc) and these also changed how stable the form may be. The radius and thickness of the ribs were also adjusted and paired with, as these aspects influences the stability of the structure.

Interesting failure


Adding Galapagos Input

To incorporate the influences programmed by Millipede, “Galapagoes” was added to iterate the finalised form. Running “Galapagoes” in the definition, gives the most optimised solution with the stresses made by the forces added and materiality chosen. This is done by connecting it to the deflection panel and also the sliders that adjusts sizes/ form of the ribs and strings.


The “Fitness” in “Galapagoes” was selected as “Minimese” since I wanted less deflection possible. When “Ga-lapagoes” is activated, it may run for awhile as it modifies and “solves” the form until desired aesthetic is achieved, while simultaneously suiting to the tensile stresses made in the definition.



Ong simnan 731491 algorithmicsketchbook  
Ong simnan 731491 algorithmicsketchbook