a manifesto
morphospatiality
an investigation of material in an urban environment in response to a social strata.
01 probe 00.00,00 minutes
probe 00.00,00 minutes
probe 00.00,00 minutes
check
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
probe 00.00,00 minutes
probe 00.00,00 minutes
probe 00.00,00 minutes
check
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
R.04
R.01
Today we have to take into account the weathering of buildings, the slow aggregation of weeds on the sidewalk, and materials degrading or falling apart. Instead of brutally placing inert disconnected materials on site, the process of architecture must become a more intuitive act of sculpting nature like traditional Native American tepees or African mud dwellings. This intuition of direct relationships or feedback loops with the source of the material will allow it to return to a mineral state after its use has expired or be adapted for multiple uses. Ideas of emergence and science have a strong applicability in the future of architecture and some of these ideas and technologies do not exist yet, but soon the building materials will no longer need to be tooled or fabricated, they will move straight from the laboratory into the built environment. Materials will become more flexible; as technology becomes more autonomous and space and infrastructure will self organize. 02
Option Explicit ‘Script written by <insert name> ‘Script copyrighted by <insert company name> ‘Script version Thursday, November 05, 2009 3:34:45 PM
probe 00.00,00 minutes
Call Main() Sub Main() ‘user input Dim arrStartPts, arrEndPts ‘************************************************************************************************************* ‘ ‘startline Dim startline: startline = rhino.GetObject(“select the startline”,4) ‘ ‘endline Dim endline: endline = rhino.GetObject(“select the endline”,4) ‘ ‘create k pts from startline Call rhino.AddLayer(“rndPtsonCurve”,RGB(100,255,100)) Dim s: s = rhino.GetInteger(“how many pts you want on startline?”) arrStartPts = rndPtsonCurve (startline,s)
probe 00.00,00 minutes
Dim e: e = rhino.GetInteger(“how many pts you want on endline?”) arrEndPts = rndPtsonCurve (endline,e) ‘***************************************************************************************************************** ‘makes random points between those two lines Dim numPts : numPts = rhino.GetInteger(“how many pts do you want “) Dim strPtstrline: strPtstrLine = rhino.CurveStartPoint(startline) Dim endPtstrline: endPtstrline = rhino.CurveEndPoint(startline) Dim strPtendline: strPtendline = rhino.CurveStartPoint(endline) Dim endPtendline: endPtendline = rhino.CurveEndPoint(endline) Dim minX If strPtstrline(0) > strPtendline(0) Then minX = strPtendline(0) Else minX = strPtstrline(0) End If Dim maxX If endPtstrline(0) > endPtendline(0) Then maxX = endPtstrline(0) Else maxX = endPtendline(0) End If
probe 00.00,00 minutes
Dim minY If strPtendline(1) > endPtendline(1) Then minY = endPtendline(1) Else minY = strPtendline(1) End If Dim maxY If strPtstrline(1) > endPtstrline(1) Then maxY = strPtstrline(1) Else maxY = endPtstrline(1) End If Call rhino.AddLayer(“rndPts”,RGB(100,100,255)) Dim i, Pt(),strPt()
check
check
For i = 0 To numPts - 1 ReDim Preserve Pt(i) ReDim Preserve strPt(i) ‘ Call function to assign variable Pt(i) = createRandomPt(minX, maxX, minY, maxY) ‘ make a point at the new point coordinate strPt(i) = rhino.addPoint(Pt(i)) ‘rhino.AddTextDot i, Pt rhino.ObjectLayer strPt(i), “rndPts” Next ‘******************************************************************************************************************* rhino.AddText “number of startpts:” & s &”_number of endpts:” & e &”_number of rndPts:” & numPts, strPtstrline,5
probe 00.00,00 minutes
check
probe 00.00,00 minutes
probe 00.00,00 minutes
‘Call closestPts(arrStartPts,strPt,arrEndPts) Dim rndPts,pts,steps steps = rhino.GetInteger(“how many steps you want to take”) ‘join endpoint with rndPts Pts = Rhino.JoinArrays(Pt,arrEndPts) If isarray(pts) Then rhino.Print “Pts is joined together” End If ‘******************************************************************************************************************** Dim j,k Dim counter, dblDistClosest ‘ i loop variables Dim arrPtTest, dblDistTest ‘ j loop variables Dim dblDistEndPt, counter1, dblDistClosest1 Dim arrPtOther() Dim liveObj,count,n Dim line(),move Dim lines Dim lngColor count = 0 For i = 0 To ubound(arrStartPts) LiveObj = array(arrStartPts(count)) move = 0 For j = 0 To steps-1 counter = 0 ‘ we use this counter keep track of the objects array index dblDistClosest = 999999999999 ‘ some number that is impossibly high For k = 0 To ubound(Pts) arrPtTest = Pts(k) dblDistTest = rhino.Distance(LiveObj(0), arrPtTest) If arrPtTest(1) < LiveObj(0)(1) Then ‘ Make sure we are not testing the same object agains If dblDistTest > 0 And dblDistTest < dblDistClosest Then dblDistClosest = dblDistTest counter = k End If End If Next rhino.Print dbldistclosest ‘rhino.GetReal “” rhino.Print move ‘Now lets connect to the closest other point ReDim Preserve arrPtOther(move) arrPtOther(move) = Pts(counter) ReDim Preserve line(move) line(move) = rhino.addLine(LiveObj(0), arrPtOther(move)) ReDim liveObj(0) liveObj(0) = arrPtOther(move) If rhino.IsPointOnCurve(endline,liveObj(0)) Then Exit For move = move + 1 Next ‘join lines lines= rhino.JoinCurves(line,True) ‘assign rndcolor to curves lngColor = RGB(0,0,0) If IsNull (lines) Then Exit For Randomize lngColor = RGB(Int(256*Rnd),Int(256*Rnd),Int(256*Rnd)) Call Rhino.ObjectColor(lines,lngColor) rhino.print “Generation”&count&”line_joined” ‘rhino.GetReal “” rhino.print “Generation”&count&”completed” count = count + 1 Next’ end i Loop End Sub
check
probe 00.00,00 minutes
Function rndPtsonCurve(line,number) Dim arrCrvDom : arrCrvDom = rhino.CurveDomain(line) Dim uMin : uMin = arrCrvDom(0) Dim uMax : uMax = arrCrvDom(1) Dim i, dblParam, arrPt(),strPt() For i = 0 To number-1 ReDim Preserve arrPt(i) ReDim Preserve strPt(i) dblParam = rnd*(uMax-uMin) arrPt(i) = rhino.evaluateCurve(line, dblParam) strPt(i) = rhino.AddPoint(arrPt(i)) rhino.ObjectLayer strPt(i), “rndPtsonCurve” ‘ tell the user how the script is going! rhino.print CInt((i/number)*100) & “ % curves completed !!!” Next rndPtsonCurve = arrPt End Function
createRandomPt = Null
Function createRandomPt(minX, maxX, minY, maxY)
probe 00.00,00 minutes
createRandomPt = rndPts
Dim rndPts rndPts = Array(rnd*(maxX-minX)+minX, rnd*(maxY-minY)+minY,0)
03
End Function
‘find the closestpts in ‘-Y’ direction ‘perpendicular to the original lines Function closestpath() End Function
R.03 R.06
R
The redirection of some amazing networking technologies like BIM or the internet inextricably combined with other disciplines like chemistry, biology and social science could yield a more comprehensive design which could shift, move, rotate and even grow in response to our wielding populations and developing societies. The rigor of design employed through the lens of a microscope and a strong understanding of biological principals may result in new materials, construction methods and delivery processes that allow existing and new infrastructure component systems to not only serve their programmed function, but an array of secondary functions. Like a tree sequestering oxygen and providing a home from animals and food for humans, new materials and urban scale systems may carry and supply water while cooling the city and inviting new species into the urban environment.
R.05
“There will come a time when in our individualist harmonious state, all work will consist of thinking and crystallizing thought into sound or directional spheres which will set in motion machinery or controlled 4th dimensional design”1
A physical manifestation of network vectors could mesh with the existing infrastructure within the confines of existing city typologies, like energy flows of water, waste, human transport and communication as it reconnects the city with nature. Like an elegant, yet mathematical diagram this matrix will become a mapping of social forces, language, dialects, culture and communication media while supplying the necessary resources for a city to thrive. Biological by definition and composed of stable chemical conglomerations, the columns and beams will become the walls and the walls will serve a multiplicity of functions as the whole matrix will act like a nervous or circulatory system full of clicking electrical and signal transmissions which may compose a new type of special condition.
probe 00.00,00 minutes
probe 00.00,00 minutes
probe 00.00,00 minutes
check
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
The accretion of these tubular structures that can grow and self organize will come from a technology that exists but is not yet developed enough to conceive of this project in terms of computational potentials and elaborate infrastructures. However, the manifestation of self-assembled and self-organized chemical conglomerations could be the vehicle for emerging social strata through re-definition of existing technology. â&#x20AC;&#x153;The key conceptual shift that best encapsulates the radically of architectureâ&#x20AC;&#x2122;s re-foundation as Modern architecture is perhaps the conceptual re-orientation form edifice to space.â&#x20AC;?2 04
Coming from a Hunter-gatherer society 8,000 years ago to a society of sustaining agriculture and then on to currency, economics, politics and technologies, our human race has come a long way in developing a series of social layers. This strata have existed, like the sedimentary layers that compose the earth’s crust, in urban and rural areas and will continue to grow and fluctuate as long as the resources we consumes allow it. This tightly knit urban environment of today’s city is ever so slightly infiltrated by a controlled amount of nature as the infrastructure that composes this meshwork has become an ecological barrier, slowly devouring the countryside as it expands. In addition to this disconnect, the static features of these structures inhibits them from adapting to the ebb and flow of an ever-evolving societal strata. Traditionally, the most adaptable cities, like Paris or Brussels, have been able to reinvent themselves and their exoskeleton boundaries which were always influenced by fluctuations in the local social phenomenon.
We are no longer speculating about crowded cities, poor distribution of wealth, drought, hunger and flooding but we are living amongst this. Existing urban environments are in need of a new spatial condition that can reflect the complexities of today’s social layers. Like the stone walls of Paris or the Aqua ducting in its countryside extending into the landscape, these infrastructures not only delivered resources to the masses but they are the transmission of communication, energy, information because they are an adaptation to the landscape, not the latter. In the 1980s when architecture was dominated by Post-modernism and discussions were guided by the avant-garde there was disapproval¬ to a necessary shift in modes of innovation.
05 createRandomPt = Null
createRandomPt = rndPts
Function closestpath()
‘find the closestpts in ‘-Y’ direction ‘perpendicular to the original lines
End Function
Dim rndPts rndPts = Array(rnd*(maxX-minX)+minX, rnd*(maxY-minY)+minY,0)
Function createRandomPt(minX, maxX, minY, maxY)
Dim i, dblParam, arrPt(),strPt() For i = 0 To number-1 ReDim Preserve arrPt(i) ReDim Preserve strPt(i) dblParam = rnd*(uMax-uMin) arrPt(i) = rhino.evaluateCurve(line, dblParam) strPt(i) = rhino.AddPoint(arrPt(i)) rhino.ObjectLayer strPt(i), “rndPtsonCurve” ‘ tell the user how the script is going! rhino.print CInt((i/number)*100) & “ % curves completed !!!” Next rndPtsonCurve = arrPt End Function
Function rndPtsonCurve(line,number) Dim arrCrvDom : arrCrvDom = rhino.CurveDomain(line) Dim uMin : uMin = arrCrvDom(0) Dim uMax : uMax = arrCrvDom(1)
End Sub
rhino.print “Generation”&count&”line_joined” ‘rhino.GetReal “” rhino.print “Generation”&count&”completed” count = count + 1 Next’ end i Loop
‘join lines lines= rhino.JoinCurves(line,True) ‘assign rndcolor to curves lngColor = RGB(0,0,0) If IsNull (lines) Then Exit For Randomize lngColor = RGB(Int(256*Rnd),Int(256*Rnd),Int(256*Rnd)) Call Rhino.ObjectColor(lines,lngColor)
‘Call closestPts(arrStartPts,strPt,arrEndPts) Dim rndPts,pts,steps steps = rhino.GetInteger(“how many steps you want to take”) ‘join endpoint with rndPts Pts = Rhino.JoinArrays(Pt,arrEndPts) If isarray(pts) Then rhino.Print “Pts is joined together” End If ‘******************************************************************************************************************** Dim j,k Dim counter, dblDistClosest ‘ i loop variables Dim arrPtTest, dblDistTest ‘ j loop variables Dim dblDistEndPt, counter1, dblDistClosest1 Dim arrPtOther() Dim liveObj,count,n Dim line(),move Dim lines Dim lngColor count = 0 For i = 0 To ubound(arrStartPts) LiveObj = array(arrStartPts(count)) move = 0 For j = 0 To steps-1 counter = 0 ‘ we use this counter keep track of the objects array index dblDistClosest = 999999999999 ‘ some number that is impossibly high For k = 0 To ubound(Pts) arrPtTest = Pts(k) dblDistTest = rhino.Distance(LiveObj(0), arrPtTest) If arrPtTest(1) < LiveObj(0)(1) Then ‘ Make sure we are not testing the same object agains If dblDistTest > 0 And dblDistTest < dblDistClosest Then dblDistClosest = dblDistTest counter = k End If End If Next rhino.Print dbldistclosest ‘rhino.GetReal “” rhino.Print move ‘Now lets connect to the closest other point ReDim Preserve arrPtOther(move) arrPtOther(move) = Pts(counter) ReDim Preserve line(move) line(move) = rhino.addLine(LiveObj(0), arrPtOther(move)) ReDim liveObj(0) liveObj(0) = arrPtOther(move) If rhino.IsPointOnCurve(endline,liveObj(0)) Then Exit For move = move + 1 Next
‘******************************************************************************************************************* rhino.AddText “number of startpts:” & s &”_number of endpts:” & e &”_number of rndPts:” & numPts, strPtstrline,5
For i = 0 To numPts - 1 ReDim Preserve Pt(i) ReDim Preserve strPt(i) ‘ Call function to assign variable Pt(i) = createRandomPt(minX, maxX, minY, maxY) ‘ make a point at the new point coordinate strPt(i) = rhino.addPoint(Pt(i)) ‘rhino.AddTextDot i, Pt rhino.ObjectLayer strPt(i), “rndPts” Next
Dim minY If strPtendline(1) > endPtendline(1) Then minY = endPtendline(1) Else minY = strPtendline(1) End If Dim maxY If strPtstrline(1) > endPtstrline(1) Then maxY = strPtstrline(1) Else maxY = endPtstrline(1) End If Call rhino.AddLayer(“rndPts”,RGB(100,100,255)) Dim i, Pt(),strPt()
Dim maxX If endPtstrline(0) > endPtendline(0) Then maxX = endPtstrline(0) Else maxX = endPtendline(0) End If
Dim e: e = rhino.GetInteger(“how many pts you want on endline?”) arrEndPts = rndPtsonCurve (endline,e) ‘***************************************************************************************************************** ‘makes random points between those two lines Dim numPts : numPts = rhino.GetInteger(“how many pts do you want “) Dim strPtstrline: strPtstrLine = rhino.CurveStartPoint(startline) Dim endPtstrline: endPtstrline = rhino.CurveEndPoint(startline) Dim strPtendline: strPtendline = rhino.CurveStartPoint(endline) Dim endPtendline: endPtendline = rhino.CurveEndPoint(endline) Dim minX If strPtstrline(0) > strPtendline(0) Then minX = strPtendline(0) Else minX = strPtstrline(0) End If
Call Main() Sub Main() ‘user input Dim arrStartPts, arrEndPts ‘************************************************************************************************************* ‘ ‘startline Dim startline: startline = rhino.GetObject(“select the startline”,4) ‘ ‘endline Dim endline: endline = rhino.GetObject(“select the endline”,4) ‘ ‘create k pts from startline Call rhino.AddLayer(“rndPtsonCurve”,RGB(100,255,100)) Dim s: s = rhino.GetInteger(“how many pts you want on startline?”) arrStartPts = rndPtsonCurve (startline,s)
Option Explicit ‘Script written by <insert name> ‘Script copyrighted by <insert company name> ‘Script version Thursday, November 05, 2009 3:34:45 PM
probe 00.00,00 minutes
probe 00.00,00 minutes
probe 00.00,00 minutes
check
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
probe 00.00,00 minutes
probe 00.00,00 minutes
probe 00.00,00 minutes
check
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
In 1988 Philip Johnson co-curated an exhibit at the NYC MOMA that showed â&#x20AC;&#x2DC;The International Styleâ&#x20AC;&#x2122;. This set of ideas launched architecture along a new trajectory that was pushed forward by a series of projects that exhibited a new type of thinking. In the same way he was critiquing a current situation of building culture, it is imperative to the vitality of human network connections to analyze the parameters of our current growth patterns like the boundary wall of Paris. Looking back as far as we can for examples of architectural precedence, the practice has never been at a point of stasis, moving about from style to style it has become a mapping of human conditions. Adapting to the mass and individual decisions made as humans became more and more complex; architecture has become more and more autonomous from its past tense references. At this point in time architecture has reached a point for which it can longer travel in an upwardly progressive trajectory without a disfiguring change. In addition to a failed blending with the landscape, buildings are rarely timeless or crafted in modern day construction. The designer has relinquished complete control of the building and itâ&#x20AC;&#x2122;s detailing. The digital delivery systems which are being employed today have allowed architects to run a project with teams of engineers, contractors and develop buildings all over the world at an extraordinary rate. However, these types of construction and project delivery systems fall far short of responding to the complexities of human nature and the connectivity social behavior. Even though the buildings are amazing accomplishments they are inherently not sustainable as they do not blend well with natural energy flows and the resources necessary to sustain them. This amazing technology has been evolving for the last thirty years, but its trajectory has been aimed towards ideas of speed, mass and precision instead of being responsive and adaptable.
06
07
stage 00,01 -
stage 00,02 -
existing infrastructure is identified as a proper scaffolding for new energy conduits or grown medium.
calcified medium is aggregated according to and layered based on need for communication or energy based on feedback loops.
stage 00,03 -
stage 00,04 -
calcified mediums begin to span as needed responding to existing energy flows likes roads and docking
the medium becomes spatial and influential as it revitalizes existing areas in response to social needs and wants.
probe 00.00,00 minutes
probe 00.00,00 minutes
probe 00.00,00 minutes
check
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
Thresholds of newer technologies have ushered architecture into a series of progressive advances in fields of medicine, engineering, science and space exploration which may be helpful in solving the problems of the future through rigorous design. This is an amazing opportunity for architecture to move along a new type of thinking, merging disciplines, as it may develop a stronger relationship with the landscape. This may also help architecture re-gain control of urban design and space as it departs from the confines of building and material tolerances found in inert materials which is only one of many disconnects from nature.
probe 00.00,00 minutes
probe 00.00,00 minutes
probe 00.00,00 minutes
check
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
¬However sustainable the materials may be, the most potent urban design is based on performance, not function. Its deployment works like a matrix interweaving the physical and nonphysical forces that it attempts to coherently diagram. Even an abstract design must communicate through its physical realization to the machines that produce and organize it. Architecture must begin to seek to investigate and operate more like a science, producing research and knowledge as the conceptual framework. As people become exponentially more aware of their own social network, neighbourhoods or local markets, with an intense involvement in network interfaces like the Internet, we are becoming more defined by the vectors that diagram the social connections in our lives. As technology continues to advance and becomes autonomous, these relationships will begin to manifest themselves through physical forms. Existing as diagrams and floating signals in the air that are hardly conceivable as physical forms, a series of rules or feedback loops not much different than the rules in games like chess or checkers, we will be able to map these network vectors, like cow trails in the desert landscape or migratory birds birthing evidence commonly travelled routes and energy flows. “The whole matter of a building is composed of lineaments and structure’ as defined by, ‘the precise and correct outline, conceived in the mind, made up of lines and angles. It is possible to project whole forms in the mind without any recourse to the material, by designating and determining a fixed orientation and conjunction for the various lines and angles”3
08
visual composition - paradigms
probe 00.00,00 minutes
probe 00.00,00 minutes
probe 00.00,00 minutes
check
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
probe 00.00,00 minutes
check
probe 00.00,00 minutes
notes 01. Fuller, R. Buckminster. 1981. Critical path. New York: St. Martinâ&#x20AC;&#x2122;s Press. 02. Schumacher, Patrik. 2011. The autopoeisis of architecture: a conceptual framework for architecture. Hoboken, N.J.: Wiley. 03. Alberti, Leon Battista. 1988. On the art of building in ten books. Cambridge, Mass: MIT Press.
01