27.2.17

C# Intro

A short collection of C# and Grasshopper tutorials initially intended for RC16 students at MArch Urban Design, Bartlett UCL now available on my github.

07. L-Systems
09. Gradient descent on a Surface

15.9.14

Programming matter

work team: Tommaso Casucci, Michele Semeghini

This is a series of studies developed during a recent collaboration with Co-de-iT and is a step forward in a larger research project focused on the exploration of the possible interactions between digital computation and complex and selforganizing physical processes.
The series is  developed on the base of a small bit of code refined during the ‘BioLogic:living structures and swarm bodies’ workshop, aimed to facilitate direct communication from Processing to FDM 3Dprinters through the generation of G-code instructions. Code is available here
The studies main goal were to explore the combined use of generative design strategies and material computation, in particular the capacity of plastic threads to self-organize in curly geometries once extruded from the printer.

Design exploration consisted at first in calibration and mapping of the different material behavoiurs based on the variation of different extruding conditions. Parameters we found to affect the most the extrusion were:
. extrusion length
. extrusion velocity
. nozzle height from the deposition plate
. material
. nozzle size

Once a comprehensive catalogue have been refined, a series of design studies was developed were on one or more of the parameters above was varied according to modulate structural, aesthetical or performative qualities during the extrusion.

A short selection of 3Dprinted samples and screenshots from the Processing application below :

15.7.12

theBush

hemesh is a 3D library for Processing for the creation and advanced manipulation of meshes by Frederik Vanhoutte.

here is a short test to explore some of the basic features of the library.

the branching structure is based on a simple random sedimentation ad searches for the closest point between the existing nodes of the frame.

you can download the code here.


24.4.12

more on bundling


Playing with Toxiclibs library I find that a similar version of some of my previous sketches on bundling systems can be coded using VerletPhysics springs and particles.

the SubLine class that define the subdivision of the lines is based on this code by Jose Sanchez.


find the code on OpenProcessing.




19.11.11

roots

this sketch tries to simulate the behaviour of a roots system,
the sketch is based on a simple particle system where each particle attract the closest particles while moves at the same time toward the mouse position.






23.9.11

BZreaction

this is an exploration on 3d chemical patterns using Cellular Automata to simulate Belousov-Zhabotinsky reaction,


visualize on OpenProcessing




if you want go further about reaction-diffusion systems:

"The chemical basis of morphogenesis", Alan Mathison Turing, 1952
"A simple model of Belousov-Zhabotinsky reaction from first principles", Alasdair Turner , 2009

25.4.11

Diffusion Limited Aggregation

This is a test about Diffusion Limited Aggregation Systems. This is a devlopemnent of the basic code I wrote with Wei Ye and Giulio Piacentino during the Co-de-it Advanced Grasshopper Workshop held in Florence on last 25-27 march.
My greetings to all the Co-de-it team and all partecipant of the Ws.

you can download the code here

The process start with a basic point and a moving particle that is searching for connections. When the moving particle found the base point, a new point is added, and so on.



this is the cluster after many generations




11.3.11

Maya Fluid to Gh

This test is about communication between Autodesk Maya and Rhino_Grasshopper. 
UDP communications protocol can be used to share wathever data you need between the two platforms in realtime.  This example send density values of a fluid system in Maya to Grasshopper. 

Density values are sent from Maya with a custom script in Python. In Grasshopper we can use gHowl UDP receiver  component to recive the data.



you can download the Python script and the Grasshopper definition here




in Maya:

# create the fluid in Maya and be sure that your fluid name is fluid1
# open the script editor and in Python tab load and run the script
# close the script editor
# open the Expression editor and write the expression:  python("MayaFluidtoGh()");
# choose create and close Expression editor


in Grasshopper:

# set fluid resolution the same of your fluid system in Maya 
# (for 2D fluid systems Z value is 1)
# you need gHowl installed on your Grasshopper to run the definition


now play the animation in Maya




4.3.11

noise variations _ Processing

A short test in Porcessing using noise function, the particle system moves with a noise function.
Particles perceive proximity between each other varying their size accordingly.









30.10.10

triply periodic minimal surfaces 001


this tests are part of my thesis project 
"Processi di progettazione biodigitali in Architettura: nuova biblioteca universitaria della facoltà di Architettura di Firenze
supervisors: prof. Ulisse Tramonti , prof. Alessio Erioli

Minimal surfaces are defined as surfaces with zero mean curvature. Finding a minimal surface of a boundary with specified constraints is a problem in the calculus of variations and sometimes known as Plateau's problem. Minimal surfaces may also be characterized as surfaces of minimal surface area for given boundary conditions.

Some particular minimal surfaces form three dimensional repetitive structure based on very simple fundamental regions, they are called triply periodic minimal surfaces.

Above is the construction process of Schoen's Manta surface from his fundamental region to the cubical unit cell.

I found many definitions in gh that use repetition of a single nurbs surface (fundamental region) to achieve the complete structure of triply periodic minimal surfaces, but this kind of construction have some problems of continuity on the edge of the surfaces especially when the model is associated to parametric variations, moreover this models create very big files.

So I've written a new definition that use quad mesh component to built the model and later  weld  and smooth the geometry using Meshedit by [uto] and waverbird by Giulio Piacentino.

This method give a smooth and quite correct approximation of the minimal suface that perserve correct continuity even in case of parametric variations and let bigger model thanks to the use of meshes.

The whole definition is still in devlopement but you can download a wip grasshopper file here: link


I will post some application studies soon. 

Licenza Creative Commons
This opera is licensed under a Creative Commons Attribuzione 3.0 Unported License.