

As promised, some improvements on the previous script; this time the "vertical proliferation" operates through a better control of the points defining the overall structure.Parameters: Number of floors, number of control points defining floor plates, number of points along the perimeter of each floor plate. The current set up allow for a more precise determination of the overall geometry as well as a better control on local manipulations. the points displaced at the perimeter of each floor can be used, in fact, to further articulate the skin.
These structures remind me some images of the Japanese Metabolism; in particular, projects like the 1961's Helix City by Kisho Kurokawa. In this case the helix became some slightly more complex parabolas; multiplying for sine or cosine functions the displacement of the control points of each floor plate increases the whirling rise. The results are some quite articulated, still symmetrical, vertical vortex structures.
Call Main()
Sub Main()
Dim N
N = Rhino.GetInteger ("Number", 25, 1 )
Dim p
p= 2*Rhino.GetInteger ("Number", 3, 1)
Dim radius
radius= Rhino.GetInteger ("Number", 5, 1)
Dim Curve
Dim arrStoreys()
Dim arrPoints()
Dim Columns()
Dim arrCurve()
Dim x
Dim i, j
For i= 0 To N
For j=0 To p Step 2
ReDim Preserve arrPoints(j)
arrPoints(j) = array((radius*(N-i/2)/N)*(cos(2*Rhino.PI*j/p)),(radius*(N-i/2)/N)*(sin(2*Rhino.PI*j/p)), i)
If j+1 <>
End If
Next
Call Rhino.AddPoints (arrPoints)
Curve = Rhino.Addcurve (arrPoints,1)
ReDim Preserve arrStoreys(i)
arrStoreys(i) = arrPoints
Next
For i=0 To N
ReDim Preserve Columns(i)
Columns(i) = (arrStoreys(i)(1))
Next
Call Rhino.Addpolyline (Columns)
End Sub
The script was developed in collaboration with eng. Carlo Diaco (openSystems)
Tuesday, 5 February 2008
080205_Vertical Proliferation 2
Labels: helix, Rhinoscript, systems, tower
Posted by
Marco Vanucci
at
01:48
0
comments
Subscribe to:
Posts (Atom)