A playground for University of Bologna Students and a 6-days seminar about digital tools.

Digital generative tools are a very important part of architectural education. Andrew Kudless during his conference at SimAE was telling about chinese traditional woodcraftsmen: they spend their first two years of apprentice in making their own tools. Today, we have a large pool of digital ready made tools, built to respond to more or less specific problems or tasks, while keeping a level of flexibility and personalization. The majority of these tools have hidden capabilities, which can only be accessed bypassing the conventional interface and getting close to the machine logic of programming or building parametric components which generate shapes. Thus, seriality, differentiation, complexity can be implemented in architectural projects through code, in order to exploit the power of algorithmic based complex systems which are the basis of biological systems.


But, before going through such complexity, we must start with simple tasks and simple rules. Before playing seriously we need practice. This is the playground where a bunch of students will start to practice, a pool where they will share their results and questions. Maybe the stuff here that will be posted will seem obvious or naive to the navigated code-monkey, but, as I mentioned before, we all start from the basics and this is intended as a place to start. However, any comment and contribution is appreciated.

Playground is open, let's play! _ Alessio

3.2.09

SIN(uosity)

Hi everybody! Here I posted a first, shy test on ‘sin’ and ‘cos’ functions. It’s something extremely ordinary, and probably you will smile about this. First, I created a set of points - the user defines how many ones- the coordinates of which are manipulated by the variable-counter and both sin and cos functions. In the end, an interpolated curve links the points. I found interesting the visual appearence of this result, but it’s so far to looks like something ‘architectonic’…here the code and pics.

--------------------------------------------------------------
Option Explicit
'Script written by smg_michele
'Script version lunedì 2 febbraio 2009 14.34.15
--------------------------------------------------------------

Call Main()

Sub Main()

Dim intNpoints
Dim arrPt, i

intNpoints = Rhino.GetInteger ("N. of points")

ReDim arrPt (intNpoints-1)

'generating the set of point

For i = 0 To intNpoints-1

arrPt(i)= (array (i*cos(i),i*sin(i),cos(i)*100))

Next

'interpolation curve

Call Rhino.AddInterpCurve(arrPt)

End Sub




With a second test I tried to combine two sets of points and link with lines the pairs belonging to two different curves. As well the first time, the result it’s not so exciting but shows a complexity ‘in nuce’. So why don’t try out it?


--------------------------------------------------------------
Option Explicit
'Script written by smg_michele
'Script version lunedì 2 febbraio 2009 14.34.15
--------------------------------------------------------------

Call Main()

Sub Main()

Dim intNpoints
Dim arrPt1,arrPt2,arrPoints, i

intNpoints = Rhino.GetInteger ("N. of points")

ReDim arrPt1 (intNpoints-1)
ReDim arrPt2 (intNpoints-1)
ReDim arrPoints (intNpoints-1)

For i = 0 To intNpoints-1

arrPt1(i)= (array (-i*cos(i),-i*sin(i),cos(i)*100))

arrPt2(i)= (array (i*cos(i),i*sin(i),cos(i)*100))

'draw i-line from Pt1 to Pt2

Call Rhino.AddLine(arrPt1(i),arrPt2(i))

Next

'two curves

Call Rhino.AddInterpCurve(arrPt1)
Call Rhino.AddInterpCurve(arrPt2)

End Sub



Have a nice Script!

No comments:

Post a Comment