Montag, 29. November 2010

Generative Stochastic - DLA


Actually, I am not a big fan of stochastic method since randomization is not an understandable thing for me. However finding the logic of "random" is pretty easy, since it's tightly related to the concept of probability. Imagine a dice with six faces and six numbers... the probability that the dice will show number 6 is 1/6. Throwing it 10 times increase the probability that the dice will show number six at least once. If we cheat the dice, and change the faces so that two faces has number six, the probability to get number 6 ( if we throw it 10 times) would increase to twice. The point is... however random things are, we still can control the randomization process with parameter.


In Diffusion Limited Aggregation, a "filament" will be added, if a particle (,which move based on brownian motion) collide with certain treshold of the seed point. It is arguably a stochastic method, where the filaments added randomly. However, this random method can still be controlled by certain parameters such as: the number of particles, the movement of the particles, the size of the treshold, the amount of the iteration, the vector direction of the particles etc.


So in other words, everytime we run DLA script, we can generate a uniqe form and still can get the form we want if we input the right parameter.. enjoy



Freitag, 26. November 2010

Octopus Garden


Another Surface population with different component. The opening and the height of the component controlled by the distance of the subset surface to the attractor...


I'd like to be under the sea
in an octopus' garden in the shade
He'd let us in, knows where we've been
in his octopus' garden in the shade...


lalalala........

Donnerstag, 25. November 2010

Fragment


I actually made this one to explain to a friend how particle springs work with kangaroo physics, but then I thought what the heck... wouldn't hurt if I upload it anyway.. 

There is one point in the middle which is the anchor point, connected with the surrounding points with springs (the springs are not shown/disabled). So basically if we change the location of the anchor point, - the other points will be dragged by the springs. Insanely easy... just like that...

Hedgehog



The script is a vector based attractor script using multiple attractors, which in this case 2 attractors. The attractor will deform the surface by pushing or pulling the u and v points on the surface. After deforming the surface, the segmented/subset surface will be populated with pyramid looking component.


Vector based attractor is a bit more complicated than normal attractor. However in multiple vector based attractors we don't have to evaluate the distance between point list to the attractor. All we have to do is just add the final vector and voila!.. it happens.

Dienstag, 23. November 2010

Catenary with Processing



I just had Processing 1.2.1 workshop since Friday, and we just finished today. The workshop was led by Anton Savov of SAC Frankfurt and Sean Ahlquist of ICD Stuttgart. The workshop was mainly about form finding of Tension Active System with Processing and simong particle library. I tried to write my own script directly after the workshop, trying to make a catenary structure, since I am inspired by cadenary tool of axel killian and the awesome processing script by nils seifert. it' s still very rough and not yet very beautiful.


It's very interesting that simong particle library thinks in a very topological way in comparison with traer physics library. Simong particle just care about the anchor points and the coordination of the springs along the membrane. I assume, with rigorous data manipulation, which can send them back and forth between rhino and processing is an interesting design method. I think with this method, one could make various really great forms.



It was really fun and I will definitely post some more stuff about form finding and Processing in the future.

Sonntag, 21. November 2010

Frei Otto's wool path

One thing in the architecture world that amazes me is the use of Physics simulation in architecture design. I am myself have been busy with tension active system for two years now, and it's alot of fun. From what I learned, I never know who is the originally-very first architect who use this technique. But about almost one hundred years ago, an architect from Barcelona used hanging chains for his design. His name was Antonio Gaudi. Before him there was actually an architect that also used tensile steel for his building. He wasn't as famous as Gaudi, his name was Vladimir Shukhov. This technique is further developed and researched properly in the University of Stuttgart in 1980's by Frei Otto which he later perfected and used for German pavilion at Expo 67 in Montreal and the 1972 Summer Olympics in Munich.

What I try to simulate in the video is the form finding technique (minimal path) with wool thread develop for a thesis by Marek Kolodziejczyk.

The Software is rhino and Kangaroo from Daniel Piker. The simulation created by using particle to interact with each other and connect them to become interpolated curve. Have fun.

Please see Daniel Piker's page: spacesymmetrystructure, for more awesome simulation.

Donnerstag, 18. November 2010

Attractor again

 
Attractor is certainly quite fun to play with. This grasshopper definition basically subset the surface and apply component on each surface. The height and opening of the component is controlled by attractor point.


Another possible variation, surface with seams


Anyway... Have fun..
By the way, I got a processing workshop at 9.30 tomorrow... very excited... I actually need to learn the processing for it's capacity of physics simulation...

Sonntag, 14. November 2010

Putting the attractor with evolutionary algorithm


 .

This is an experiment with Evolutionary Algorithm component in Grasshopper (my favorite parametric tool) to find a point on the surface, which has the highest value of gaussian curvature, then use it as attractor to define the size of the opening after surface population. Thanks to David Rutten (Galapagos) and Giulio Piacentino (Weaverbird)

I set the generation to 1000 and population to 20. I didn't run the whole algorithm in the video, so that the filesize of the video could be smaller. However after 5 generations we already start to see tendency of where the point might be and also the fitness graphic is starting to be stagnant. Of course if we run the generation to 1000 times, the position would be more exact. 


One further idea, is that we ask galapagos to find exact point on the facade based on the sun exposure, then use it as attractor for surface opening size.



Attractor System


Quite a simple one. What the script does is basically populate the surface with circles, where the circle radius are controlled by the distance of the circle center point to the attractor.

For the script to work, a single NURBS surface is necessary.


This is an example of the surface that would work.


After Surface population...
The Process of surface population in video.


Surface Play with Loft Method



Continuing last post about surface play. Another way to play with the surface creation is with the loft method, where we don't put the polygons on every 4 corner points, but by creating interpolated curve on every tree branch, then loft it. With this method we are able to create one single NURBS surface, which is preferrable for further manipulation with attractor.

See the data tree branch here (red represent the index grid points and blue represent the index of the tree):


Although, I feel like by indexing the points this way, the coordination of the points with each other could be quite messy.


I will continue to apply some attractor to the surface in the next post.. It'll be fun...

Freitag, 12. November 2010

Surface Play

This is a project for my rhinoscripting class at the University of Stuttgart. The Script basically creates surface by manipulating the Z value with mathematical equation derived from x and y. It's amazing how many surface variation can be created by this method

The creation of the surface is based on the arrangement of 2 Dimensional Matrix points.
Nurbs surfaces are then added parametrically from four points of the matrix.

The script also able to control the size and the curvature of the surface.



            Select Case strSrfType
               
                Case 0
                    x=i
                    y=j
                    z=dblFactor*5*sin(x)+dblFactor*5*sin(y)
                           
                Case 1                   
                    x=i
                    y=j
                    z=-dblFactor*(x^2)-dblFactor*(y^2)
                           
                Case 2                   
                    x=i
                    y=j
                    z=dblFactor*x*y
           
                Case 3                   
                    x=i
                    y=j
                    z=dblFactor*5*cos(sqr(x^2+y^2))
               
                Case 4                   
                    x=i
                    y=j
                    z=-dblFactor*20*Atn(x^2+y^2)
                       
                Case 5                   
                    x=i
                    y=j
                    z=dblFactor*8*log(sin(x)+sin(y)+2.01)
               
             
            End Select