This is an Experiment on Parametric and Computational drawing.
It is exercise on translation and understanding of the "drawing" as a tool, in a parametric and computational realm. It departures from analyzing specific drawings done in the past 5 decades, and progressively stating how Thought (ie: understanding/manipulation of space, etc) evolves based on Technique.
EVOLUTION ON THOUGHT AND TECHNIQUE
From John Hejduks Bye House (Wall House 2) drawings (left image), through Eisenmans diagrams over the "House" series (center image), until RadioHeads House Of Cards Video-clip (right image), one realizes an evolution on understanding and representation of space.
This happens in parallel with the technological evolution of the technique itself, from a generic bi-dimensional representation of space into a high-resolution representation of it.
If Modernism shows an abstract flat understanding of space (easily observed in plans, elevations,etc), where 3dimensional relationships emerge out of over-positioning layers of the same bi-dimensionality, Eisenman explores already planes, grids and their geometrical transformations as non-parallel entities, where their intricate relationships start generating new typologies of space.
From flat to curved multi-directional frames, today we have another understanding of space, based on a technological outcome: Space is represented, at an interdisciplinary level, over arrays of points whose computational relationships generate geometries.
VOXELISM
The representation of this reality has a caricaturist degree, where it is represented an idyllic vision of a house and a tree in a field.
The drawing explores the current understanding of geometrical data, a reality based on a collection of points /Voxels and the parametric/algorithmic interrelation between these points, in order to build a geometry.
ISOMETRIC STAMPS
Technically, the drawing is build out of 3 elements, where the stamping process is explored.
Three different stamps are defined, one to each side of the voxel.
HACKING A MILLING
Hacking a milling machine allows the possibility of stamping with accuracy. The drawing is therefore computationally generated and fabricated. The following script draws the path for the milling machine to do the stamps progressively, passing from one stamping area (center point) to the next, and so forth.
The drawing explores the current understanding of geometrical data, a reality based on a collection of points /Voxels and the parametric/algorithmic interrelation between these points, in order to build a geometry.
ISOMETRIC STAMPS
Technically, the drawing is build out of 3 elements, where the stamping process is explored.
Three different stamps are defined, one to each side of the voxel.
HACKING A MILLING
Hacking a milling machine allows the possibility of stamping with accuracy. The drawing is therefore computationally generated and fabricated. The following script draws the path for the milling machine to do the stamps progressively, passing from one stamping area (center point) to the next, and so forth.
SCRIPT
Option Explicit
'Script written by Joao N.P. Albuquerque
'Script copyrighted by
'Script version Tuesday, 13 April 2010 13:46:25
Call Main()
Sub Main()
Dim strCrv,i, diag, j,l
Dim arrCent, arrPt1, arrPt2, cent, centMov, vertLine, endPt, startPt, midPt
Dim crvDomain
'--------------------
'vector
Dim vertVec
'---------------------
strCrv = rhino.GetObjects("sel curves")
ReDim vertLine(Ubound (strCrv))
ReDim cent(Ubound (strCrv))
ReDim centMov(Ubound (strCrv))
Call rhino.print (Ubound (strCrv))
enableredraw(False)
For i=0 To Ubound (strCrv)
Call rhino.ObjectColor(strCrv(i*5),RGB(255,0,0))
crvDomain = rhino.CurveDomain(strCrv(i))
Call rhino.Print(ubound(crvDomain))
arrPt1 = rhino.EvaluateCurve(strCrv(i),0)
arrPt2 = rhino.EvaluateCurve(strCrv(i),crvDomain(1)/2)
diag = rhino.AddLine(arrPt1,arrPt2)
cent(i) = rhino.CurveMidPoint(diag)
vertVec = rhino.VectorCreate(array(0,0,3),array(0,0,0))
centMov(i) = rhino.PointAdd(cent(i),vertVec)
vertLine(i) = rhino.AddLine(cent(i), centMov(i))
Call rhino.DeleteObject(diag)
Next
ReDim startPt (Ubound (strCrv))
ReDim midPt(Ubound (strCrv))
ReDim endPt (Ubound (strCrv))
For j=0 To Ubound (strCrv)
startPt(j) = rhino.CurveStartPoint(vertLine(j))
midPt(j) = rhino.CurveMidPoint(vertLine(j))
endPt(j) = rhino.CurveEndPoint(vertLine(j))
Call rhino.DeleteObject(vertLine(j))
Next
For l=0 To ubound(strCrv)-1
Call rhino.AddCurve(array(startPt(l),midPt(l),endPt(l),endPt(l+1),midPt(l+1),startPt(l+1)))
Next
enableredraw(True)
End Sub