Genr8

Feb 24, 2008 / Comments (0)

Genr8 is a plug-in for maya and works generating surfaces. It is very interesting because fuse the universal growth conditions with evolutionary search.

Genr8 it is developed via API of Alias|WaveFront’s and Combine 3D Map L-System that growth in a digital environment, with gramatical evolution. the seed is designed to react of the digital nature and give to the user the control during the evolutionary adaptation, Genr8 dosen’t have structural or material criteria, and the most of the times the results are closer to the chaos.

Genr8 was Developed by Martin Hemberg and Una - May O’reilly and the people of the Emergent Design Group from the MIT.

salida6.jpg

Genr8 has a lot of components to create and evolve differents elements, like curves and surfaces.

Attractors, > act attracting surfaces.

Repellors, > similar like attractor but in a oposite way.

Gravity, > as it`s name, act in an uniform way in the global coordinates (x, y, z)

Boundaries, > you can create boxes, surfaces, to act like boundaries of the growth.

Seeds, > the seed by default it is a regular polygon, and you can control the side, starting position of the polygons, also you can define your own seeds, for example drawing curves or using the grammar of genr8.

this example represent a square:

Edge0 + ~ Edge1 + ~ Edge0 + Edge1
Edge0 -> Edge0 [ [ + Edge1 ] - ~ Edge1 ] Edge0
Edge1 -> Edge1 [ [ + Edge0 ] - ~ Edge0 ] Edge1
Angle 90

there are some conditionals to create grammar, In the first line you have to define the Axiom, and only can be a regular polygon, and may only contain ” + “, “~” and Edge(number). Each word should be separated by one space, and the lines need a return. and the comments have to be in separated lines and starting like C++ with two “//”, so there are more elements and rules to create seeds by grammar, but this is an idea how can they work.

To create my Own grammars I start using the predifined types and then looks how they work and so on…

After you define your grammar you have to define the different elements of the growth, for example:

n/ -> the number of the growth steps

s/ -> the sacale of each growth step

rn/ -> the noise that you want in the growth.

fc/ -> fix the center of the growth

ds/ -> if you want draw every step of the growth

and there are too much Mel commands to create and define the environment.

So the plugin has to control: the scaffold, the environment, the Grammar, the Genetic Engine and the Fitness.

The first exercises come from the page and the papers who explain genr8. the other ones are developed by me.

captura-pantalla.jpg

Default Examples:

genr8 -kc

genr8 -fp -sl 8 -n 5 -ba 70 -t 4 -r 0 0 3 -rn 0.1 -s 1.1

polyCube -w 3 -h 4 -d 3
genr8 -t 3 -rn 0.1 -n 4

polyCube -w 3 -h 4 -d 3
genr8 -t 3 -n 5 -a 0 0 4 -g z -0.5

PolySphere -r 5
genr8 -t 4 -n 5 -ba 90 -g z -1 -sp 0 0 7 -sl 3 -s 1.3

genr8 -t 4 -n 6 -ds -s 1.3 -r 0 0 -3 -r 0 4 0 -ba 90 -r 1 -3 -4 -r 2 2 5 -r -3 -2 1

genr8 -t 3 -n 5 -g z -1 -r 0 0 -3

polyCube -w 3 -h 4 -d 3
genr8 -t 4 -n 5 -r 3 3 3 -co

personal experiment:

genr8 -n 5 -rn 0.2 -t 4 -r 0 0 3
-intersting surface results

-Variation 1
genr8 -n 5 -rn 0.2 -t 4 -g z -1 -r 0 0 -3

-Variation 2
genr8 -n 8 -rn 0.1 -t 3 -g z -1 -r 0 0 3 -r 0 0 -3
polyCube -w 15 -h 15 -d 5
genr8 -n 5 -rn 0.2 -t 4 -s 1.2 -a 7.5 7.5 -1 -a -7.5 7.5 -1 -a 7.5 -7.5 -1 -a -7.5 -7.5 -1 -r 0 0 -1
-before to execute, create the polyCube and select it.

-Variation 1 the same thing, select the Polycube before
genr8 -n 4 -rn 0.2 -t 4 -s 1.2 -a 3 3 -1 -a -3 3 -1 -a 3 -3 -1 -a -3 -3 -1 -r 0 0 -1

-Variation 2
-Select the polyCube to get a crazy result in the box.
-or leave it to run free to produce some kind of flower.
genr8 -n 8 -rn 0.2 -t 4 -s 1.2 -a 2 3 -1 -a -2 3 -1 -a 2 -3 -1 -a -2 -3 -1 -r 0 0 0

-looks some familiar element
genr8 -n 8 -fp -t 4 -r 0 0 -5

salida1.jpg

salida2.jpg

salida3.jpg

salida4.jpg

salida5.jpg

After experimenting with L-systems, the present study focuses on RhinoScript. Using the methodology of L-systems’ computation, I have developed scripts that build systems of branch bifurcation. This time, it addresses the problem of (non-recursive) iteration.

The iteration is done through an incremental loop prior input of system parameters: quantity of iterations, deviation factor and thickness factor for the branch. Each iteration defines a starting point and two endpoints to build a pair of cylindrical branches.

As the system grows, it will change the thickness of the branch and the opening of the bifurcation. This opening can increase or decrease depending on the function applied to the displacement of the endpoint, defining the deviation.

To make calculations short, for now the system is two-dimensional; meaning that deviation of branches only happens in x, and growth in z.

In the case studies, we can see different combinations of functions for deviation and growth: increasing, decreasing and fixed.

In script execution, the construction of the system is not automatic; it prompts the user to select the branch to bifurcate, so the user can decide the structure to build.

The last image shows a comparison of different structures built with the same system, using the same parameters.

by Ernesto Bueno

eb_0201.jpg

eb_0202.jpg

eb_0203.jpg

Honey_Comb IV

Feb 18, 2008 / Comments (0)

This is the last part of Honey_Comb Series, until now there are a lot of things to optimize in the script, I post this images because there are very suggestive.

the first ones empty cells only the scructure who can made possible the tile among the elements, the second serials correspond some “pillow” who repesent every cell. And the third serial represent some “holes” of the cells.

honeyweb_1.jpg

honeyweb_2.jpg

honeyweb_5.jpg

honeyweb_6.jpg

honeyweb_7.jpg

honeyweb_9.jpg

honeyweb_10.jpg

I was invited to participate in the number 15 of “Revista de Arquitectura” under the title “arquitectura como acción docente”, my text was take out from the X sigradi congress celebrated in Chile, Universidad de Chile (facultad de Arquitectura y Urbanismo).

In this congress I participate under the title “Evolutionary Algorithms as an innovative Design Model”, and is part of my phd, in G.A.

Thanks Pedro Soza R.
and all the people who make this publication reality.

portada.jpg

intro.jpg

total.jpg

centro.jpg

final.jpg

This is a study on re-writing systems (iterative and recursive) and its implementation in formal models of emerging structures, especially branching structures. The development of models of different iterative systems (as loops) and recursive systems (self-repetition) is done through computation: D0L-systems (analog computing), L-systems (with LParser based programs), and RhinoScript. I’m trying to reach similar formal solutions with different methods. Subsequently, the results obtained are compared, as long as their methods.The study is part of my PhD research on the extrapolation of structural systems of trees for developing generative architecture. The first goal is to acquire knowledge in both re-writing systems and computing techniques, but also to get an idea on which methods are closer to natural emergence. Specially when comes to tree structures. Some of these first images are illustrations of a summary for a paper.

More soon

By Ernesto Bueno

eb_0101.jpg

eb_0102.jpg

eb_0103.jpg

eb_0104.jpg