I was invited to paticipate in a contest to the Comune di Prato in Italy. I have to say thank you to this cool group of architects from Lisboa: Duarte Cardoso Ferreira, Nuno Lobo Guerra, Ricardo Boaventura, Rita Frias Silva from ADOC architects and all the team of 4ARQ encharged of the 3D images.

I was encharge to develope by programming the plans and the general features of the school. We start working identify every tree in the ground and the area of the differents rooms for the school. Every tree was identify by a point and a minum area of influence (in the fisrt step of the algorithm) and each area of the room of the school was enter in to the algorithm to know the best performance of the build with out touch any tree.

Then the algorithm calculate a voronoi diagram (only with the trees) and inform the resultant areas and we could see where can “grow” our building. the next step was develope a second algorithm to generate pseudo-random points, between the trees and responding obviously to the influence area of them.

Then the process consist basicaly in create generations and test the results, if the dispositions of points allow build the school (first and more important test), if the result produce nice spaces, if we like it, if the algorithm respect entrance determined by us, etc. etc. after every generation, we pass again this second algorithm to produce in some points a random movement to explore new configurations and results.

I take this idea from Mutsuro Sasaki, he use an strategy based in the approach in successive steps to get the best result moving the points in pseudo random way.

Recursion

Apr 22, 2008 / Comments (1)

I was Working couple weeks ago in a simple script to produce a recursion, I try drawing 3 points and then subdivided every segment for the mid point to find the another triangle inside of the original, the script appear in several minutes, Ididn`t think too much, I just typed very fast.

I learned recursion using C++, but I never used In Rvb, so this is my first experiments in recursion in Rvb. and this time I add The source of the original code, add comments, modify it, share, make differents Calls and send me Images.

Best.

Option Explicit
‘Script written by Carlos de la Barrera’

Call Main()
Sub Main()
Dim pt1, pt2, pt3, trip

pt1 = Rhino.GetPoint(”sel fisrt point”)
If IsNull (pt1) Then Exit Sub

pt2 = Rhino.GetPoint(”sel second point”)
If IsNull (pt2) Then Exit Sub

pt3 = Rhino.GetPoint(”sel third point”)
If IsNull (pt3) Then Exit Sub

trip = Rhino.AddPolyline(Array(pt1, pt2, pt3, pt1))

Call myFractal(trip, pt1, pt2, pt3)
End Sub

Function myFractal(trip, Opt1, Opt2, Opt3)
Dim pt1, pt2, pt3

pt1 = myMidFunction(Opt1, Opt2)
pt2 = myMidFunction(Opt2, Opt3)
pt3 = myMidFunction(Opt3, Opt1)

trip = Rhino.AddPolyline(Array(pt1, pt2, pt3, pt1))

If Rhino.Distance(pt1, pt2) > 0.01 Then
Call myFractal(trip, pt1, pt2, pt3)

Else
Exit Function

End If
End Function

Function myMidFunction(P1, P2)

Dim MidP
MidP = Array((P1(0) + P2(0)) / 2, (P1(1) + P2(1)) / 2, (P1(2) + P2(2)) / 2)

myMidFunction = MidP

End Function

After long time trying to achieve another level of analysis, finally we start to do it with SAP. An engineering software that help us to see reactions, deformations, geometry, supports, punctual charges and axial efforts.

To begin with the exercise we use an old project, OMRP project (nov07).

After the analysis we realize that we can disregard of two supports of the five that it had in the beginning. So we have to use only three. It was a great news for us. This is feedback!!.

Soon we will be still telling you something more.

+ 3d model.

fea_01.Jpg

+ deformations.

fea_02.Jpg

+ punctual charges.

fea_03.Jpg

+ reactions.

fea_05.Jpg

+ axial efforts.
fea_07.Jpg

*engineering support. rui nunes. thanx man!!

Finalmente hemos tenido los resultados para la construcción del proyecto, y no nos han aceptado adjuntamos el dossier completo del proyecto, probablemente terminemos construyéndolo nosotros como era la idea original.

Finally we have had the results for the construction of the project, and they have not accepted us. We attach the complete dossier of the project, probably we will build
that was the original idea.

11.jpg

32.jpg

41.jpg

51.jpg

6.jpg

7.jpg

8.jpg

9.jpg

10.jpg

111.jpg

12.jpg

13.jpg

14.jpg

15.jpg

16.jpg

Estos son los primeros resultados del script que construye el node_2, es algo complejo calcular planos perpendiculares a diferentes líneas que luego se intersecten entre sí, para formar un poliedro.

These are the scripts’ firsts results that build the node_2, it’s too complex to calculate perpendicular planes to differents lines… we’re exploring in it!!!…

Trabajando en el Node_2

Trabajando en el Node_2

Trabajando en el Node_2

300 iteraciones / iterations (30 minutes running)

Trabajando en el Node_2

detalles / details

Trabajando en el Node_2