Issuu on Google+

SCRIPTING


ABSTRACT Parkway Entanglement is the representation of the progression of work through the spring semester of my thesis year at Philadelphia University. This work specifically focuses on the work developed during the Experimental Modeling course taught by Christian Jordan and during the craze of the thesis process. My thesis study looks at the shared space between the pedestrian, bicyclist and driver using the the Benjamin Franklin Parkway in Philadelphia as the vehicle to test the limits of such shared space. Using Experimental Modeling as a field for play, the course helped my to identify to understand my own desire to explore ideas of path and place and the boundaries that govern them. With that said, Parkway Entanglement utilizes Rhinoceros with Rhinoscript and Grasshopper as tools to discover the multitude of approaches to create path and place. However, the computer is merely a tool for the creater to discover not the creator of discovery. Reading Deleuze aided concepts of boundary and governance of place, helping to shape methods for the Parkway Entanglement. Parkway Entanglement is about viewing place in a different manner, and this book is a testament to the narrative and process to discover that.


THEORY Gilles Deleuze’s “Postcript on the Societies of Control” is not only descriptive of controlled societies but definitive of the idea that we are moving away from a controlled society. However, the discussion of city/state is what I found myself most drawn to. For instance, “The town is the correlate of the road. The town exists only asa function of circulation and of circuits; it is a singular point on the circuits which create it and which it creates.” From there, Deleuze continues to describe the difference scales in which the blurred boundary occurs between town and circuits, and town and state. Deleuze describes this boundary to be the threshold, or deterritorialization. (314). This deterritorialization affects the coding of the “autonomy of town,” altering the code, or network of capitalism that sustains the town. While this is all true, the two important words of this argument are “anticipatory and inhibiting.” The collective whole of individuals in society determine the density of town center, dissipating at its edge. However, cultural event, spectacle, or sudden flow of people cause the city to vacillate. In this sense, the code doesn’t regulate people but the people regulate the code for which the city/town becomes.


deleuze reading


LEARNING L LE E EA ARN RNI NIN ING TO WALK W WA AL AL IS A BIT MORE INTUITIVE THAN LEARNING TO SCRIPT Beginning Experimental Modeling, I had no expectations. I began with the preconceived notion that computer generative programs did the work for you [which I disagreed with.] Though, the course helped me to understand that the using the computer is not giving over your design capabilities but enhancing them. The course stressed the use of both Rhinoscript and Grasshopper but I took to Rhinoscript much more easily because it is a language, something that we are all much more accustommed to. Though, does that make it easy? In no way, does that mean learning to script is easy. You need to have a knowledge the data you are using, how you are going to use that data, and what you would like that data to do. It’s like learning to speak again, and you don’t know the language. For example, who naturally knows what “Dim” means? Exposure to the language is essential to the incorporation of technique and execution, and unless scripting for example, becomes more endorsed... it will barely be understood. In this sense, learning to walk is easier. It is a momentum that you naturally learn and is universal [for the most part.] How can scripting methodologies build the same momentum in the architectural field.


project 01


Path Deformation Exercise Example


Scarring + Scripting Diagrams


Option Explicit ‘Script written by <insert name> ‘Script copyrighted by <insert company name> ‘Script version Sunday, February 19, 2012 11:35:46 PM Call Main() Sub Main() Dim i, j, U, V, n, arrBrkCrv, arrCrv() Rhino.EnableRedraw False U = Rhino.GetInteger(“U value”, 9) V = Rhino.GetInteger(“V value”, 9) Dim point(), t Dim arrPointStart, arrPointEnd Dim arrCrvOff, arrCCXptA, arrCCXptB, arrCCXptC, arrCCXptD arrBrkCrv = Rhino.GetCurveObject(“Select break curve”) arrCrvOff = Rhino.OffsetCurve(arrBrkCrv(0), Array(0,2,0), 1.0) Dim arrCCXHrz(), arrCCXVrt(), p, q, m, arrNumbersA,arrNumbersB, arrPtVrtA(), arrPtHrzA(), arrBndCrvVrt(), arrPtVrtB() Dim arrIntStart, arrIntEnd, strSplitCrv, strCCXHrzA(), strCCXHrzB() Dim arrIntStartA, arrIntEndA, strSplitCrvA, arrIntStartB, arrIntEndB, strSplitCrvB Dim arrPtHrzE(), arrCCXptE, arrCCXptF, arrPtHrzF(), arrCCXptG, arrPtHrzG(), arrCCXptH, arrPtHrzH() For i = 0 To U n=0 t=0 q=0 m=0 ReDim Preserve arrCrv(t) For j = 0 To V ReDim Preserve point(n), strCCXHrzA(t), strCCXHrzB(t), arrPtHrzA(t), arrPtHrzB(t), points(q) point(n) = Array(i,j,0) n=n+1 points(q) = Array(j,i,0) q=q+1 Next arrCrv(t) = Rhino.AddCurve(point) strCCXHrzA(t) = Rhino.CurveCurveIntersection(arrCrv(t), arrBrkCrv(0)) strCCXHrzB(t) = Rhino.CurveCurveIntersection(arrCrv(t), arrCrvOff(0)) arrCCXptA = Rhino.AddPoint(strCCXHrzA(t)(0,3)) arrPtHrzA(t) = Rhino.PointCoordinates(arrCCXptA) arrCCXptB = Rhino.AddPoint(strCCXHrzB(t)(0,3)) arrPtHrzB(t) = Rhino.PointCoordinates(arrCCXptB) arrIntStart = Rhino.CurveClosestPoint(arrCrv(t), strCCXHrzA(t)(0,3)) Rhino.Print arrIntStart arrIntEnd = Rhino.CurveClosestPoint(arrCrv(t), strCCXHrzB(t)(0,3)) Rhino.Print arrIntEnd strSplitCrv = Rhino.SplitCurve(arrCrv(t), Array(arrIntEnd,arrIntStart), True) Rhino.DeleteObject strSplitCrv(1) t=t+1 ‘horizontal lines ReDim Preserve strCCXHrzA(m), strCCXHrzB(m), arrPtVrtA(m), arrPtVrtB(m), arrPtHrzE(m) ReDim Preserve arrCrv(m), arrPtHrzF(m) ‘ ‘Add curves to points arrCrv(m) = Rhino.AddCurve(points) ‘find intersection of points at the curves & break curve and curves & offset curve strCCXHrzA(m) = Rhino.CurveCurveIntersection(arrCrv(m), arrBrkCrv(0)) strCCXHrzB(m) = Rhino.CurveCurveIntersection(arrCrv(m), arrCrvOff(0))


‘ For d = 0 To UBound(arrCrv) ‘domainVrt = Rhino.CurveDomain(arrBndCrvVrt(d)) ‘ domainHrz = Rhino.CurveDomain(arrCrv(d)) ‘ Call Rhino.TrimCurve(arrCrv(0)(1), array(domainHrz,arrPtHrzB(d))) ‘Call Rhino.TrimCurve(arrBndCrvVrt, Array(domainVrt(0),arrPtVrt(d), True)) ‘r = r + 1 ‘Next Rhino.EnableRedraw True End Sub

all of this...just to trim some lines

‘find the start and end point of the curves. arrPointStart = Rhino.CurveStartPoint(arrCrv(m)) arrPointEnd = Rhino.CurveEndPoint(arrCrv(m)) ‘If strCCXHrz(m) does Not exist.Then use the other intersection point To split the curve. If IsNull (strCCXHrzA(m)) Then arrCCXptE = Rhino.AddPoint(array(arrPointEnd(m)(0))) arrPtHrzE(m) = Rhino.PointCoordinates(arrCCXptE) strSplitCrvA = Rhino.SplitCurve(arrCrv(m),arrCCXptE, True) Rhino.DeleteObject strSplitCrvA(0) If IsNull (strSplitCrvA) Then Dim strSplitCrvA : strSplitCrvC : Rhino.SplitCurve(arrCrv(m), arrPointStart, True) arrCCXptG = Rhino.AddPoint(arrPointEnd(m)) arrPtHrzG(m) = Rhino.PointCoordinates(arrCCXptG) strSplitCrvD = Rhino.SplitCurve(arrCrv(m), arrCCXptG, True) Call Rhino.DeleteObject (strSplitCrvC(0)) End If End If If IsNull (strCCXHrzB(m)) Then arrCCXptF = Rhino.AddPoint(arrPointEnd(m)) arrPtHrzF(m) = Rhino.PointCoordinates(arrCCXptF) strSplitCrvB = Rhino.SplitCurve(arrCrv(m), arrCCXptF, True) If IsNull(strSplitCrvB) Then Dim strSplitCrvB : strSplitCrvD : Rhino.SplitCurve(arrCrv(m), arrPointStart, True) arrCCXptH = Rhino.AddPoint(arrPointEnd(m)) arrPtHrzH(m) = Rhino.PointCoordinates(arrCCXptH) strSplitCrvD = Rhino.SplitCurve(arrCrv(m), arrCCXptH, True) Call Rhino.DeleteObject (strSplitCrvD(0)) End If End If arrCCXptC = Rhino.AddPoint(strCCXHrzA(m)(0,3)) arrPtVrtA(m) = Rhino.PointCoordinates(arrCCXptC) arrCCXptD = Rhino.AddPoint(strCCXHrzB(m)(0,3)) arrPtVrtB(m) = Rhino.PointCoordinates(arrCCXptD) arrIntStart = Rhino.CurveClosestPoint(arrCrv(m), strCCXHrzA(m)(0,3)) Rhino.Print arrIntStart arrIntEnd = Rhino.CurveClosestPoint(arrCrv(m), strCCXHrzB(m)(0,3)) Rhino.Print arrIntEnd strSplitCrv = Rhino.SplitCurve(arrCrv(m), Array(arrIntEnd,arrIntStart), True) Rhino.DeleteObject strSplitCrv (1) m=m+1 ‘ Call Rhino.AddCurve (points) Next


DIGITAL D IG GIT TAL TA EXPLORATION E EX XPL PL PARKWAY ENTANGLEMENT The idea for Parkway Entanglement began from the image on the top right for the mere sense that it looked cool, and I was interested in how I could produce a similar image as a fun side exercise for thesis. The main steps: 1. Sketch it out. What would I like that the product to look like, and what are the parameters for which it can be accomplished. 2. Exercise. Stretch my ability to control the script and accept that there is no way that I am going to get it the way I want the first time around. 3. When all else fails...try it a different way. Nope. In the end, I did not get my script to function in the way that I would like it to. At that point, I used Grasshopper to save the day. 4. Have fun. I love to render. What can I say? Path becomes place. Place becomes path, and I love sculpting narrative through images.


conceptual beginnings


PARKWAY ENTANGLEMENT

DESIREABLE

EXERCISE 01 Averaging the Horizontal


Sub Main() Dim strCrv01,strPath01 Dim strCrv02,strPath02 Dim strCrv03,strPath03 Dim strCrv04,strPath04 Dim strCrv05,strPath05 Dim strCrv06,strPath06 Rhino.EnableRedraw False strCrv01 = Rhino.GetObject(“Select Top Left Curve”) strPath01 = Rhino.AddLine(Array(0,0,0), Array(0,0,10)) Call Rhino.ExtrudeCurve (strCrv01, strPath01) strCrv02 = Rhino.GetObject(“Select Top Right Curve”) strPath02 = Rhino.AddLine(Array(0,0,0), Array(0,0,8)) Call Rhino.ExtrudeCurve (strCrv02, strPath02) strCrv03 = Rhino.GetObject(“Select Middle Left Curve”) strPath03 = Rhino.AddLine(Array(0,0,0), Array(0,0,4)) Call Rhino.ExtrudeCurve (strCrv03, strPath03) strCrv04 = Rhino.GetObject(“Select Middle Right Curve”) strPath04 = Rhino.AddLine(Array(0,0,0), Array(0,0,6)) Call Rhino.ExtrudeCurve (strCrv04, strPath04) strCrv05 = Rhino.GetObject(“Select Bottom Left Curve”) strPath05 = Rhino.AddLine(Array(0,0,0), Array(0,0,5)) Call Rhino.ExtrudeCurve (strCrv05, strPath05) strCrv06 = Rhino.GetObject(“Select Bottom Right Curve”) strPath06 = Rhino.AddLine(Array(0,0,0), Array(0,0,7)) Call Rhino.ExtrudeCurve (strCrv06, strPath06) Rhino.EnableRedraw True Dim arrPtBottomLeft, arrPtBottomRight, i, arrPointBtm Dim arrPtTopLeft, arrPtTopRight, j, arrPointTp arrPtBottomLeft= Rhino.GetPoints(False, False, “Bottom Left Points”) arrPtBottomRight = Rhino.GetPoints(False, False, “Bottom Right Points”) arrPtTopLeft = Rhino.GetPoints(False, False, “Top Left Points”) arrPtTopRight = Rhino.GetPoints(False, False, “Top Right Points”) ‘arrPtTopLeft = Rhino.GetPoints(False, False, “Top Left Points”) ‘arrPttopRight = Rhino.GetPoints(False, False, “Top Right Points”) For i = 0 To UBound(arrPtBottomLeft) arrPointBtm = Array((arrPtBottomLeft(i)(0)+arrPtBottomRight(i)(0))/2, arrPtBottomLeft(i)(1), 1) Call Rhino.AddArc3Pt(arrPtBottomLeft(i), arrPtBottomRight(i), arrPointBtm) Next For j = 0 To Ubound(arrPtTopLeft) arrPointTp = Array((arrPtTopLeft(j)(0)+arrPtTopRight(j)(0))/2, arrPtTopLeft(j)(1), 1) Call Rhino.AddArc3Pt(arrPtTopLeft(j), arrPtTopRight(j), arrPointTp) Next End Sub

creating base 3pt arcs

Call Main()


PARKWAY ENTANGLEMENT

EXERCISE 02

Averaging the Horizontal + Vertical


creating base 3pt arcs

Call Main() Sub Main() Dim strCrv01,strPath01 Dim strCrv02,strPath02 Dim strCrv03,strPath03 Dim strCrv04,strPath04 Dim strCrv05,strPath05 Dim strCrv06,strPath06 Rhino.EnableRedraw False strCrv01 = Rhino.GetObject(“Select Top Left Curve”) strPath01 = Rhino.AddLine(Array(0,0,0), Array(0,0,10)) Call Rhino.ExtrudeCurve (strCrv01, strPath01) strCrv02 = Rhino.GetObject(“Select Top Right Curve”) strPath02 = Rhino.AddLine(Array(0,0,0), Array(0,0,8)) Call Rhino.ExtrudeCurve (strCrv02, strPath02) strCrv03 = Rhino.GetObject(“Select Middle Left Curve”) strPath03 = Rhino.AddLine(Array(0,0,0), Array(0,0,4)) Call Rhino.ExtrudeCurve (strCrv03, strPath03) strCrv04 = Rhino.GetObject(“Select Middle Right Curve”) strPath04 = Rhino.AddLine(Array(0,0,0), Array(0,0,6)) Call Rhino.ExtrudeCurve (strCrv04, strPath04) strCrv05 = Rhino.GetObject(“Select Bottom Left Curve”) strPath05 = Rhino.AddLine(Array(0,0,0), Array(0,0,5)) Call Rhino.ExtrudeCurve (strCrv05, strPath05) strCrv06 = Rhino.GetObject(“Select Bottom Right Curve”) strPath06 = Rhino.AddLine(Array(0,0,0), Array(0,0,7)) Call Rhino.ExtrudeCurve (strCrv06, strPath06) Rhino.EnableRedraw True Dim arrPtBottomLeft, arrPtBottomRight, i, arrPointBtm Dim arrPtTopLeft, arrPtTopRight, j, arrPointTp arrPtBottomLeft= Rhino.GetPoints(False, False, “Bottom Left Points”) arrPtBottomRight = Rhino.GetPoints(False, False, “Bottom Right Points”) arrPtTopLeft = Rhino.GetPoints(False, False, “Top Left Points”) arrPtTopRight = Rhino.GetPoints(False, False, “Top Right Points”) ‘arrPtTopLeft = Rhino.GetPoints(False, False, “Top Left Points”) ‘arrPttopRight = Rhino.GetPoints(False, False, “Top Right Points”) For i = 0 To UBound(arrPtBottomLeft) arrPointBtm = Array((arrPtBottomLeft(i)(0)+ arrPtBottomRight(i)(0))/2, (arrPtBottomLeft(i)(0)+ arrPtBottomRight(i)(0))/2, 1) Call Rhino.AddArc3Pt(arrPtBottomLeft(i), arrPtBottomRight(i), arrPointBtm) Next For j = 0 To Ubound(arrPtTopLeft) arrPointTp = Array((arrPtTopLeft(j)(0)+ arrPtTopRight(j)(0))/2, (arrPtTopLeft(j)(0)+ arrPtTopRight(j)(0))/2, 1) Call Rhino.AddArc3Pt(arrPtTopLeft(j), arrPtTopRight(j), arrPointTp) Next End Sub


PARKWAY ENTANGLEMENT

NOT DESIREALE

EXERCISE 03

Averaging the Horizontal + Vertical + Z dimension


creating base 3pt arcs

Call Main() Sub Main() Dim strCrv01,strPath01 Dim strCrv02,strPath02 Dim strCrv03,strPath03 Dim strCrv04,strPath04 Dim strCrv05,strPath05 Dim strCrv06,strPath06 Rhino.EnableRedraw False strCrv01 = Rhino.GetObject(“Select Top Left Curve”) strPath01 = Rhino.AddLine(Array(0,0,0), Array(0,0,10)) Call Rhino.ExtrudeCurve (strCrv01, strPath01) strCrv02 = Rhino.GetObject(“Select Top Right Curve”) strPath02 = Rhino.AddLine(Array(0,0,0), Array(0,0,8)) Call Rhino.ExtrudeCurve (strCrv02, strPath02) strCrv03 = Rhino.GetObject(“Select Middle Left Curve”) strPath03 = Rhino.AddLine(Array(0,0,0), Array(0,0,4)) Call Rhino.ExtrudeCurve (strCrv03, strPath03) strCrv04 = Rhino.GetObject(“Select Middle Right Curve”) strPath04 = Rhino.AddLine(Array(0,0,0), Array(0,0,6)) Call Rhino.ExtrudeCurve (strCrv04, strPath04) strCrv05 = Rhino.GetObject(“Select Bottom Left Curve”) strPath05 = Rhino.AddLine(Array(0,0,0), Array(0,0,5)) Call Rhino.ExtrudeCurve (strCrv05, strPath05) strCrv06 = Rhino.GetObject(“Select Bottom Right Curve”) strPath06 = Rhino.AddLine(Array(0,0,0), Array(0,0,7)) Call Rhino.ExtrudeCurve (strCrv06, strPath06) Rhino.EnableRedraw True Dim arrPtBottomLeft, arrPtBottomRight, i, arrPointBtm Dim arrPtTopLeft, arrPtTopRight, j, arrPointTp arrPtBottomLeft= Rhino.GetPoints(False, False, “Bottom Left Points”) arrPtBottomRight = Rhino.GetPoints(False, False, “Bottom Right Points”) arrPtTopLeft = Rhino.GetPoints(False, False, “Top Left Points”) arrPtTopRight = Rhino.GetPoints(False, False, “Top Right Points”) ‘arrPtTopLeft = Rhino.GetPoints(False, False, “Top Left Points”) ‘arrPttopRight = Rhino.GetPoints(False, False, “Top Right Points”) For i = 0 To UBound(arrPtBottomLeft) arrPointBtm = Array((arrPtBottomLeft(i)(0)+ arrPtBottomRight(i)(0))/2, (arrPtBottomLeft(i)(0)+ arrPtBottomRight(i) (0))/2, (arrPtBottomLeft(i)(0)+ arrPtBottomRight(i)(0))/2) Call Rhino.AddArc3Pt(arrPtBottomLeft(i), arrPtBottomRight(i), arrPointBtm) Next For j = 0 To Ubound(arrPtTopLeft) arrPointTp = Array((arrPtTopLeft(j)(0)+ arrPtTopRight(j)(0))/2, (arrPtTopLeft(j)(0)+ arrPtTopRight(j)(0))/2, (arrPtBottomLeft(i)(0)+ arrPtBottomRight(i)(0))/2) Call Rhino.AddArc3Pt(arrPtTopLeft(j), arrPtTopRight(j), arrPointTp) Next End Sub


PARKWAY ENTANGLEMENT Getting the Midpoint

DESIREABLE exercise 01

EXERCISE 04

For i = 0 To UBound(arrPtBottomLeft) arrPointBtm = Array((arrPtBottomLeft(i)(0)+arrPtBottomRight(i)(0))/2, arrPtBottomLeft(i)(1), 2) Call Rhino.AddArc3Pt(arrPtBottomLeft(i), arrPtBottomRight(i), arrPointBtm) Next For j = 0 To Ubound(arrPtTopLeft) arrPointTp = Array((arrPtTopLeft(j)(0)+arrPtTopRight(j)(0))/2, arrPtTopLeft(j)(1), 4) Call Rhino.AddArc3Pt(arrPtTopLeft(j), arrPtTopRight(j), arrPointTp)


z limits: 4 bottom 6 top

creation of threshol

z limits: 2 bottom 4 top


PARKWAY ENTANGLEMENT

EXERCISE 05


finding the start/mid/end points

Dim arcTop, arcBottom Dim arrMidPtBtm,arrMidPtTp, arrPtStartTop,arrPtEndTop, arrPtStartBottom, arrPtEndBottom For i = 0 To UBound(arrPtBottomLeft) arrPointBtm = Array((arrPtBottomLeft(i)(0)+arrPtBottomRight(i)(0))/2, arrPtBottomLeft(i)(1), 2) arcBottom = Rhino.AddArc3Pt(arrPtBottomLeft(i), arrPtBottomRight(i), arrPointBtm) arrMidPtBtm = Rhino.ArcMidPoint(arcBottom) Rhino.AddPoint arrMidPtBtm arrPtStartBottom = Rhino.CurveStartPoint(arcBottom) Rhino.AddPoint arrPtStartBottom arrPtEndBottom = Rhino.CurveEndPoint(arcBottom) Rhino.AddPoint arrPtEndBottom Next For j = 0 To Ubound(arrPtTopLeft) arrPointTp = Array((arrPtTopLeft(j)(0)+arrPtTopRight(j)(0))/2, arrPtTopLeft(j)(1), 4) arcTop = Rhino.AddArc3Pt(arrPtTopLeft(j), arrPtTopRight(j), arrPointTp) arrMidPtTp = Rhino.ArcMidPoint(arcTop) Rhino.AddPoint arrMidPtTp arrPtStartTop= Rhino.CurveStartPoint(arcTop) Rhino.AddPoint arrPtStartTop arrPtEndTop = Rhino.CurveEndPoint(arcTop) Rhino.AddPoint arrPtEndTop Next


PARKWAY ENTANGLEMENT

EXERCISE 06

oops


passing curves through the point

Dim arcTop(), arcBottom(), arrMidPtBtm(),arrMidPtTp(), arrPtStartTop(),arrPtEndTop(), arrPtStartBottom(), arrPtEndBottom() For i = 0 To UBound(arrPtBottomLeft) ReDim Preserve arcBottom(i), arrMidPtBtm(i), arrPtStartBottom(i), arrPtEndBottom(i) arrPointBtm = Array((arrPtBottomLeft(i)(0)+ arrPtBottomRight(i)(0))/2, arrPtBottomLeft(i)(1), 2) arcBottom(i) = Rhino.AddArc3Pt(arrPtBottomLeft(i), arrPtBottomRight(i), arrPointBtm) arrMidPtBtm(i) = Rhino.ArcMidPoint(arcBottom(i)) Rhino.AddPoint arrMidPtBtm(i) arrPtStartBottom(i) = Rhino.CurveStartPoint(arcBottom(i)) Rhino.AddPoint arrPtStartBottom(i) arrPtEndBottom(i) = Rhino.CurveEndPoint(arcBottom(i)) Rhino.AddPoint arrPtEndBottom(i) Next For j = 0 To Ubound(arrPtTopLeft) ReDim Preserve arcTop(j), arrMidPtTp(j), arrPtStartTop(j),arrPtEndTop(j) arrPointTp = Array((arrPtTopLeft(j)(0)+ arrPtTopRight(j)(0))/2, arrPtTopLeft(j)(1), 4) arcTop(j) = Rhino.AddArc3Pt(arrPtTopLeft(j), arrPtTopRight(j), arrPointTp) arrMidPtTp(j) = Rhino.ArcMidPoint(arcTop(j)) Rhino.AddPoint arrMidPtTp(j) arrPtStartTop(j)= Rhino.CurveStartPoint(arcTop(j)) Rhino.AddPoint arrPtStartTop(j) arrPtEndTop(j) = Rhino.CurveEndPoint(arcTop(j)) Rhino.AddPoint arrPtEndTop(j) Next Rhino.EnableRedraw True Dim k, m, arrCrvBLTR, arrCrvBRTL, arrPtBLTR, arrPtBRTL For k = 0 To Ubound(arrPtBottomLeft) arrCrvBLTR = Rhino.AddArc3Pt(arrPtBottomLeft(k), arrMidPtBtm(k),arrPtTopRight(k)) Next


PARKWAY ENTANGLEMENT

EXERCISE 07


Next Rhino.EnableRedraw True Dim k, m, arrCrvBLTR, arrCrvBRTL For k = 0 To Ubound(arrPtBottomLeft) arrCrvBLTR = Rhino.AddArc3Pt(arrPtBottomLeft(k), arrPtTopRight(k), arrMidPtBtm(k)) Next For m = 0 To Ubound(arrPtTopLeft) arrCrvBRTL = Rhino.AddArc3Pt(arrPtBottomRight(m), arrPtTopLeft(m), arrMidPtTp(m)) Next

passing curves through the point

Dim arcTop(), arcBottom(), arrMidPtBtm(),arrMidPtTp(), arrPtStartTop(),arrPtEndTop(), arrPtStartBottom(), arrPtEndBottom() For i = 0 To UBound(arrPtBottomLeft) ReDim Preserve arcBottom(i), arrMidPtBtm(i), arrPtStartBottom(i), arrPtEndBottom(i) arrPointBtm = Array((arrPtBottomLeft(i)(0)+ arrPtBottomRight(i)(0))/2, arrPtBottomLeft(i)(1), 2) arcBottom(i) = Rhino.AddArc3Pt(arrPtBottomLeft(i), arrPtBottomRight(i), arrPointBtm) arrMidPtBtm(i) = Rhino.ArcMidPoint(arcBottom(i)) Rhino.AddPoint arrMidPtBtm(i) arrPtStartBottom(i) = Rhino.CurveStartPoint(arcBottom(i)) Rhino.AddPoint arrPtStartBottom(i) arrPtEndBottom(i) = Rhino.CurveEndPoint(arcBottom(i)) Rhino.AddPoint arrPtEndBottom(i) Next For j = 0 To Ubound(arrPtTopLeft) ReDim Preserve arcTop(j), arrMidPtTp(j), arrPtStartTop(j),arrPtEndTop(j) arrPointTp = Array((arrPtTopLeft(j)(0)+ arrPtTopRight(j)(0))/2, arrPtTopLeft(j)(1), 4) arcTop(j) = Rhino.AddArc3Pt(arrPtTopLeft(j), arrPtTopRight(j), arrPointTp) arrMidPtTp(j) = Rhino.ArcMidPoint(arcTop(j)) Rhino.AddPoint arrMidPtTp(j) arrPtStartTop(j)= Rhino.CurveStartPoint(arcTop(j)) Rhino.AddPoint arrPtStartTop(j) arrPtEndTop(j) = Rhino.CurveEndPoint(arcTop(j)) Rhino.AddPoint arrPtEndTop(j)


PARKWAY ENTANGLEMENT

EXERCISE 08


RANDOMIZE


error messages galore


PARKWAY ENTANGLEMENT

EXERCISE 09


grasshopper saves the day!


grasshopper saves the day!


BACK TO SQUARE ONE AN INCOMPLETE MANIFESTO FOR GROWTH- BRUCE MAU


-It is easy to be stubborn but much harder to deal with the consequences of not being open to the idea of change. This particular point for growth references one’s ability to react to a situation for the sake of self-embitterment. I was drawn to this point because one of the skills learned in architecture school is to develop a skin to criticism—to understand that he or she is not criticizing you as a person but your work to constructively progress forward. It is the survival of the fittest, in a sense, to adapt to an evolving environment and society. In most instances, the market dictates these changes. With technology progressing, the consumer buys products such as iPhones and iPads to experience a new way of life than before. Does the market then dictate growth in its consumers? How is that something that is different from something that happens to you? I chose this point because the following 43 points define a series of different events and experiences that one must be willing to succumb to in order to explore new personal boundaries. In short, growth is something that you seek beyond the daily norm. You actively respond to life circumstances rather than accepting those circumstances as the end-all be all. I once read by an unknown author that “every accomplishment begins with the decision to try.” Have faith. Go on an adventure. Don’t be the person that you want to be but allow yourself to be a person you cannot fathom possible. Everything is just beyond reach.

My addition:

44. Be the sponge. Accept that there is good and bad in all scenarios of life that become absorbed into who we are as people, and it is what we learn from those experiences that allow us to progress forward. Opportunities are available for the taking—we just have to be open to world around us in all aspects in order to take full advantage of what we are given.

I WAS THE SPONGE.

1. Allow events to change you. You have to be willing to grow. Growth is different from something that happens to you. You produce it. You live it. The prerequisites for growth: the openness to experience events and the willingness to be changed by them.


Experimental Modeling: Parkway Entanglement