Showing posts with label RHINOSCRIPT. Show all posts
Showing posts with label RHINOSCRIPT. Show all posts

Random Experiments

RandomX

RandomX is an interactive experiment based on real-time 3d scanning.
It is programmed in Processing and scanned via Kinect(X-Box).

PYTHAGORAS TREE



LampSYSTEM



LampSYSTEM is a project that blends existing systems and computation to breed a new emergent one.



LampSYSTEM from Joao Albuquerque on Vimeo.



Reusing the "Bunch of Bulbs" lamp (by KiBiSi) principle, LampSYSTEM uses a V shaped plumbing intersection as the node for an L-System structure.
This node is used in an recursive algorithm, testing self-intersection and area/direction to occupy as it grows 3-dimensionally.
The outcome is a tree-like structure that grows and glows through a predefined direction, having as branch terminals light bulbs which illuminate the structure's inhabited space.

















//back to main//

PorTraits



This started as an experiment on how to program and explore ways to replicate/replace images, with words.
The script replicates the image by attributing words to pixels, retrieving the color of the image in that precise pixel and scaling the word according to it's luminosity in at same area of the image.

In the 1st drawing, the script was written to array one single word along the whole image.
The word chosen was "fraude"(i.e."fraud" ).




For the 2nd drawing, the script is arraying 5 different words/sentences in a randomized way along the image.
The words are from the song "Liberdade", from 1974, and arrayed over another image.




RECENT EXPERIMENTS
This image was worked from picture taken with a Lomo FishEye.
Scanned, ran the script, printed in 12 A3 and pasted on the wall at home.
The script is displaying randomly 6 words of a certain sentence.




"Farvel Fred"
One of the farewell gifts for Fred, leaving BIG.



SHENZHEN ENERGY MANSION



Automation of the facade for the BIG's Shenzhen Energy Mansion project.


This 1st script/toolbar generates the paneling of the facade, using the Surface Base Geometry, and generating the zig-zag45 degrees facade.
The automation process also creates 2 layers (solid/glass) and places the panels in the respective layer.


This 2nd script sorts the facade panels according to their inclination, since all are varying along the deformations.
The script retrieves the angle of each panel (at the upper right corner of the window as the script runs), coloring them according the inclination angle and tagging the most inclined panel with the maximum inclination angle.

More info at http://www.big.dk/projects/sem/

//back to main//

DREAMWEAVER



The DreamWeaver project is currently being exhibited and the 4th Architectural Beijing Biennalle (and previously exhibited at the Design HUB Museum in Barcelona).




The Dreamweaver project explores the emergence of an architectural system through a symbiotic recyclage of technology(knitting machines) and material(plastic, yearn, copper, etc).
Knitted meshes allow the formation of knots , not requiring any other type of material but the knitted one; from these typologies of knots, a bottom-up structural system emerges, reconnecting one knitted profile to the next, and so on.

The Dreamweaver is a CNC knitting machine that propels an emergent structural/sustainable system , outcome of a computation protocol between Rhinoscript, Grasshopper, Arduino and Processing, where the algorithmic model is progressively developed through Structural Logics, Programatic Logics, Fabrication and Assemblage Logics.
















































DreamWeaver from Joao Albuquerque on Vimeo.



//back to top//



CNC STAMP



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.


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