19 May 2009

Log0509_studio Exp02

to be continued...

15 May 2009

Multiple Points Attractors 02






"hot code"
///////////////////
Function ColorAndMaterial (arrcone,color)

Dim material

Call rhino.ObjectColor (arrcone, rgb(50,dbldistance*100,200))
material = rhino.AddMaterialToObject (arrcone)
Call rhino.MaterialColor (material, rgb(50,dbldistance*100,200))
Call rhino.MaterialShine (material, 255)

End Function
///////////////////

13 May 2009

1st Workshop aast/// Design with Maya, MELscript and plug-in

Sono ancora aperte le iscrizioni al workshop di Maya, per le iscrizioni scrivete una mail a :

info@casartarc.org

tutors del workshop:

Ludovico Lombardi ( Zaha Hadid Architects London)
bio:
2006-08 M.Arch AADRL in Architecture andUrbanism at the AA ArchitectureAssociation, London, UK2005 Assistant Professor at thePolitecnico of Milan 3rd year designUnit with prof. Dorigati, Italy2003-05 Laurea with maximum vote in Architecturefrom Politecnico of Milan, ItalyThesys tutored by prof.Carlos Ferrater (ETSAB, Barcelona,Spain) and prof. Remo Dorigati(Politecnico of Milan, Italy)2001-02 Bartlett School of Architecture, UCL,London, UK1999-01 Politecnico of Milan, Architecturefaculty, Campus Leonardo, Italy1995-99 Classical studies at Liceo ClassicoParini in Milan, Italy1980 Born in Milan, Italy2008 Zaha Hadid architects2005-06 Arata Isozaki architecure officeMilan Fiera project with Daniel Libeskindand Zaha Hadid2005 Assistant Professor at thePolitecnico of Milan 3rd year designUnit with prof. Dorigati, Italy2004-05 Carlos Ferrater Studio de Architecture,Barcelona, Spainproject_ Fruente Portuario LasPalmasde Gran Canaria, competition, 1stPrizeL’Esplai Barcelona, Competition, 1stPrizeHorto Botanico de Padova, Competiton,2nd phaseAmerica’s Cup competition inValencia, 2nd phase2003-04 Andreas Kipar Landscape ArchitectureOffice, Milan, Italyproject_ Nuovo quartiere Cornaredo,Swiss, competition, 1st prize incollaboration with Cino ZucchiArchitectsFiera Milano Internationalcompetition, Finalist project,in collaboration with DavidChipperfield, Perooult, Sejima, SOM,De LucchiPlace Massena park, France, Finalist incollaboration with 5+1 architects
2006-08 M.Arch AADRL in Architecture and Urbanism at the AA Architecture Association, London, UK
2005 Assistant Professor at the Politecnico of Milan 3rd year design Unit with prof. Dorigati, Italy
2003-05 Laurea with maximum vote in Architecture from Politecnico of Milan, Italy
Thesys tutored by prof. Carlos Ferrater (ETSAB, Barcelona, Spain) and prof. Remo Dorigati (Politecnico of Milan, Italy)
2001-02 Bartlett School of Architecture, UCL, London, UK
1999-01 Politecnico of Milan, Architecture faculty, Campus Leonardo, Italy
1995-99 Classical studies at Liceo Classico Parini in Milan, Italy
1980 Born in Milan, Italy
2008 Zaha Hadid architects
2005-06 Arata Isozaki architecure office
Milan Fiera project with Daniel Libeskindand Zaha Hadid
2005 Assistant Professor at the Politecnico of Milan 3rd year design Unit with prof. Dorigati, Italy
2004-05 Carlos Ferrater Studio de Architecture, Barcelona, Spain project_ Fruente Portuario LasPalmas de Gran Canaria, competition, 1st Prize
L’Esplai Barcelona, Competition, 1st Prize Horto Botanico de Padova, Competiton,
2nd phase America’s Cup competition in Valencia, 2nd phase
2003-04 Andreas Kipar Landscape Architecture Office, Milan, Italy
project_ Nuovo quartiere Cornaredo,
Swiss, competition, 1st prize in collaboration with Cino Zucchi Architects
Fiera Milano International competition, Finalist project, in collaboration with David Chipperfield, Perooult, Sejima, SOM, De Lucchi
Place Massena park, France, Finalist in collaboration with 5+1 architects.

Fulvio Wirz ( Zaha Hadid Architects London)
bio:
Fulvio Wirz, nato a Napoli nel 1977, si Laurea in architettura presso l’ Università Federico II con lode e dignità di pubblicazione della tesi.
Consegue un master in”Progettazione dello spazio pubblico” nel 2003 ed uno in ”Progettazione architettonica per l’integrazione del fotovoltaico nel 2004″.
Dal 2002 affianca alle esperienze progettuali nello studio paterno l’attività didattica nell’ambito dei corsi di progettazione del prof. Lucio Morrica ed una personale ricerca nelle relazioni tra architettura e nuovi media concretizzata attraverso numerosi concorsi e culminante con il conseguimento, nel 2008, del dottorato di ricerca in progettazione architettonica con la tesi “Rappresentazione Digitale e Composizione architettonica”.
Dal 2005 collabora in qualità di project architect nello studio Zaha Hadid Architects di Londra vincendo prestigiosi concorsi internazionali come la Biblioteca di Siviglia, il Masterplan per l’area “Kartal-Pendik” di Istanbul, la “Lilium Tower” a Varsavia ed il Museo “Eli & Edythe” in Michigan. E’ stato responsabile del progetto “Aura” esposto a Villa Foscari nell’ambito della Biennale di Venezia del 2008 e co-responsabile della prestigiosa Opera House di Dubai. Attualmente è incaricato del progetto di una moschea in Kuwait e di una serie di prodotti di design.


Multiple points attractors 01


First attempt in a multiple point attractors rhinoscripts. I started from a code founded at Mark Bearak's Blog, then i adapted to my case. This script (I know, it's very simple ) :

-plots a grid of points choosing x and y values
-add circles with a radius defined by the distances from center of circle and point attractor
-draw a loft surface between first array of circles at x,y,z world plane and second array of circles at x,y,z world shifted of the same amount of the circles radius 
-add planar surface to the second array of circles in order to create a cap closed surface



//////////////////////
'Option Explicit
'Script written by Mark Bearak
'Script version Tuesday, September 18, 2007 1:26:12 PM
  'adapted by Davide del Giudice
'             http://madeincalifornia.blogspot.com/

Call Main()
Sub Main()
Dim arrStrAttractors : arrStrAttractors = Rhino.GetObjects ("select the attractors", 1)
Dim intXMax : intXMax = Rhino.GetInteger ("how many in x?", 50)
Dim intYMax : intYMax = Rhino.GetInteger ("how many in y?",50)
Dim d : d = Rhino.GetInteger ("max distance of falloff?", 5)
Dim Color : Color = 255
Dim c : c = Color/d
ReDim arrAttractors(UBound(arrStrAttractors))
Dim strAttractor, k
k=0
For Each strAttractor In arrStrAttractors
arrAttractors(k)    = Rhino.pointcoordinates (strAttractor)
k=k+1
Next

Dim i, j, l, v
For i=0 To intXMax
For j=0 To intYmax
'Rhino.EnableRedraw (False)
If i Mod 2 = 0 Then
l=j+.57735
Else
l=j
End If
Dim arrAttractor
Dim dblDistance  : dblDistance  = d
v=dblDistance/20
Dim arrCenter    : arrCenter    = Array(i,l,0)
For Each arrAttractor In arrAttractors
Dim testDistance : testDistance = Rhino.distance (arrCenter, arrAttractor)
If testDistance <>
dblDistance = testDistance
End If
Next
Call Rhino.AddPoint (array(i,l,0))
arrPoints= Rhino.AddPoint (array(i,l,0))
Dim arrPlane,strpath,arrplane2,arrplane3,arrplane4,strObjects, strObjects2

arrplane2=Rhino.WorldXYPlane 'Rhino.PlaneFromPoints (array(i,i,0),array(i-1,i-1,0), array(i+1,i+1,0))
arrplane= Rhino.MovePlane (arrPlane2, array(i,l,0))
arrplane3=Rhino.WorldXYPlane 
arrplane4= Rhino.MovePlane (arrPlane3, array(i,l,dblDistance))
strObjects= rhino.AddCircle (arrPlane, dblDistance*0.1)
strObjects2= rhino.AddCircle (arrPlane4, dblDistance*0.1)
strPath = Rhino.AddLine(Array(i,l,0), Array(i,l,dblDistance))
 
Call rhino.addloftsrf( array (strObjects,strObjects2))
Call Rhino.AddPlanarSrf (array(strObjects2))
'Rhino.ExtrudeCurve arrObjects, strPath
'Call Rhino.DeleteObjects (arrObject)
Dim lngColor : lngColor = Color -(dblDistance*c)
If lngColor <>
lngColor = 0
End If
Dim arrColorR : arrColorR = (127-(fix(dblDistance*(127/c))))
Dim arrColorB : arrColorB = (191+(fix(dblDistance*(64/c))))
' Call Rhino.objectColor (strSrf, rgb(arrColorR,255,arrColorB))
' Call Rhino.objectColor (arrLoftSurface, rgb(arrColorR,255,arrColorB))
' j=j+.1547
Next
Next
Rhino.DeleteObjects (arrStrAttractors)
'rhino.EnableRedraw (True)
End Sub
//////////////////////

12 May 2009

Gradient color Rhinoscript.










Inspired by Paramod, last month i adapted one rhinoscript found in this blog in order to realize a script that draw cones at u,v of surface and change their color controlled by the Z value of the cones. In other case a gradient color, vector lines and a complete numeration of the normals at surface are plotted as you can see at these images.

//////////////

Option Explicit
'             Script written by PARAMOD
              'adapted by Davide del Giudice
'             http://madeincalifornia.blogspot.com/
'Script version giovedì 15 aprile 2009

Call GradientColorAddNormalVector()
Sub GradientColorAddNormalVector()

Const rhObjectPoint = 1

Dim strObject, arrCoordPoint
Dim i, j, n: n=0
DIM o: o=0
Dim p: p=0
Dim strSrf
Dim Udomain, Vdomain
Dim arrPt, strTxt
Dim Ustep, Vstep
Dim intDivider
Dim u, v, zspread, zz, zround, zcolor
Dim vectNormal, arrPointNormal, strCoords, arrCoords
Dim strLine
Dim arrPlane
Dim strCircle
Dim arrCones
Dim strMax, maxZ, minZ
Dim strtextdot
'pick surface
strSrf = Rhino.GetObject ("pick surface", 8)
'get surface domain
Udomain = Rhino.SurfaceDomain (strSrf, 0)
Vdomain = Rhino.SurfaceDomain (strSrf, 1)
Call rhino.Print(UDomain(0) & "," & UDomain(1) )
Call rhino.Print(VDomain(0) & "," & VDomain(1))
'get domain point
Dim Umean, Vmean
Umean = UDomain(0)+ (UDomain (1) - Udomain (0)) / 2
Umean = Round (Umean,2)
Vmean = VDomain(0)+ (VDomain (1) - Vdomain (0)) / 2
Vmean = Round (Vmean,2)
Call rhino.Print(Umean & "," & Vmean)
'step
intDivider = rhino.Getinteger ("get number of intDivider",1,10,50)
Ustep = (Udomain(1) - Udomain (0)) / IntDivider
Vstep = (Vdomain(1) - Vdomain (0)) / IntDivider
'Call rhino.EnableRedraw (False)
'loop
For i = 0 To intDivider
For j = 0 To IntDivider
u = Udomain (0)+ Ustep*i
v = Vdomain(0)+ Vstep*j
arrPt = rhino.EvaluateSurface (strSrf, array (u,v))
Call rhino.addpoint(arrPt)
strCoords = rhino.addpoint(arrPt)
arrCoords = Rhino.PointCoordinates (strCoords)
'strtextdot= Rhino.AddTextDot (n+1, arrPt)
ReDim Preserve Z(n) 
Z(n) = arrCoords(2)
zz = arrCoords(2)
'Call Rhino.AddTextDot (zz, arrCoords)
If n > 0 Then
End If
n = n+1
 
Next
Next
maxZ = Rhino.Max(z)
Call Rhino.Print (maxZ & "maximum")
minZ = Rhino.Min(z)
Call Rhino.Print (minZ & "minimum")
zspread = maxZ - minZ
Call Rhino.Print (Zspread & "spread")
'loop
For i = 0 To intDivider
For j = 0 To IntDivider
u = Udomain (0)+ Ustep*i
v = Vdomain(0)+ Vstep*j
arrPt = rhino.EvaluateSurface (strSrf, array (u,v))
Call rhino.addpoint(arrPt)
strCoords = rhino.addpoint(arrPt)
arrCoords = Rhino.PointCoordinates (strCoords)
strObject = arrCoords
'arrCoordPoint = Rhino.PointCoordinates(strObject)
'Call Rhino.Print Rhino.Pt2Str(arrCoordPoint, 3)
'Call Rhino.AddTextDot (arrCoords(2),arrCoords)
vectNormal  = Rhino.SurfaceNormal (strSrf, array (u,v))
vectNormal = rhino.VectorScale (vectNormal, 2)
arrPointNormal = Rhino.PointAdd (arrPt, vectNormal)
zz = arrCoords(2)
strLine = rhino.AddLine (arrPt, arrPointNormal)
Call Rhino.CurveArrows (strLine ,2)
arrPlane = Rhino.PlaneFromNormal (arrPt, vectNormal)
'Call Rhino.AddPlaneSurface (arrPlane, 2, 2)
'strCircle =  rhino.AddCircle (arrPlane, 10/intDivider*(i))
'Call Rhino.AddPlanarSrf ( array (strCircle) )
'arrCones = Rhino.AddCone (arrPlane, 2,1, True)
zcolor = ((zz - minZ)*(255/(maxZ-minZ)))
zround = 50 * (Rhino.Floor(zcolor/50))
'Call rhino.ObjectColor (arrcones, rgb (200,zround,150) )
Call rhino.ObjectColor (strline, rgb (200,zround,150) )
strtextdot= Rhino.AddTextDot (zround, arrPointNormal)
Call rhino.ObjectColor (strtextdot, rgb (200,zround,150) )
Next
Next
' Call rhino.EnableRedraw (True)
End Sub

//////////////

Phyllotaxis System04



Some variations in x, y and z functions in order to reconstruct new Phyllotaxis system from previous Rhinoscript. 





11 May 2009

VB Script Diagrid05



Diagrid flat panels definition with 2 points attractors.

05 May 2009

Spaceframe 06_aast Installation


Spaceframe/// aast installation is featured @ suckerPUNCH and DESIGNBOOM:



and other blogs like:










VB Script Diagrid04




I'm working on my previous diagrid pattern definition, starting from a new interesting definition created by Luis Fraguada. This definition realize a flat panels with aperture controlled by one point attractor and with a shader preview that shows how the panels are shifted from a plane defined by three points, throug a gradient color visualization.






04 May 2009

GH 3d qhull Voronoi


Try this interesting and powerful definition of Dimitrie Stefanescu, author of the blog un didi

http://dimitrie.wordpress.com/2009/05/01/3d-voronoi-in-grasshopper/

This definition reminds me when i designed my thesis project.