Stomata Membrane

24
A.Penaloza Caicedo , A.F.Utama, B. Vincent , D. Nam, O. Oladunjoye [ Hyperbody, Faculty of Architecture, TUDelft ] MSC 3 FALL 2008 S TOMATA MEMBRANE Performative Skin

description

MSC 3 Presentation for Hyperbody

Transcript of Stomata Membrane

Page 1: Stomata Membrane

A.Penaloza Caicedo , A.F.Utama, B. Vincent , D. Nam, O. Oladunjoye

[ Hyperbody, Faculty of Architecture, TUDelft ]

MSC 3 FALL 2008

STOMATA MEMBRANE

Performative Skin

Page 2: Stomata Membrane

The Stomata Membrane - Parametric Facade - Interactive SystemA stomata is found in a leaf and stem epidermis and its used for internal to external exchange in terms of gas, and water vapor. The concept of the performative aspect of the stomata was an inspiration for our skin component.

Stomata

Page 3: Stomata Membrane

Geometry Evolution

Geometry - criteria

The final geometry chosen was the fourth in the second behavior series. We were testing a geometry that suits the qualities of a stomata . Performance - Adaptable - Recursive pattern - Interactive.The geometry was thought of in relation to a building skin - wall, floors, and roof. In the phase of sustainability, our geometry tackles the following questionsCan the geometry store water?Could the geometry permit light?Could the geometry generate wind energy?How adaptable is it?

Page 4: Stomata Membrane

Rules & Notation

Page 5: Stomata Membrane

Option Explicit

'script written by Dayo Oladunjoye''hyperbody research group, tudelft. december 2008'

'pseudocode'select a mesh'draw parrelelogram on the mesh'locate points'addsurface

Call SurfaceUV()Sub SurfaceUV()

Dim strSurface 'the surface

Dim uDiv,vDiv, intMax : intMax = 100Dim arrUDomain, arrVDomain Dim Ustep, VstepDim arrParameterDim arrC1,arrC2,arrC3,arrC4Dim arrMidpt

Dim intWidth: intWidth = Rhino.getInteger("please select width",1)Dim intHeight: intHeight = Rhino.GetInteger("please select height",1)

strSurface = Rhino.GetObject ("please pick surface",8, True)If IsNull(strSurface) Then Exit Sub

uDiv = intwidth 'Rhino.GetInteger("please enter number in U-direction",10,1,intMax)If IsNull(uDiv) Then Exit Sub

vDiv = intheight 'Rhino.GetInteger("please enter number in V-direction",10,1,intMax)If IsNull(vDiv) Then Exit Sub

arrUDomain = Rhino.SurfaceDomain (strSurface, 0)arrVDomain = Rhino.SurfaceDomain (strSurface, 1)

UStep = (arrUDomain(1)-arrUDomain(0)) / uDivVstep = (arrVDomain(1)-arrVDomain(0)) / vDiv

Call Rhino.EnableRedraw (False)

Component in line geometry

mapping of line geometry

Script Development

Page 6: Stomata Membrane

Call SurfaceUV()Sub SurfaceUV()

Dim strSurface 'the surface

Dim uDiv,vDiv, intMax : intMax = 100Dim arrUDomain, arrVDomain Dim Ustep, VstepDim arrParameterDim arrC1,arrC2,arrC3,arrC4Dim arrMidpt

Dim intWidth: intWidth = Rhino.getInteger("please select width",1)Dim intHeight: intHeight = Rhino.GetInteger("please select height",1)

strSurface = Rhino.GetObject ("please pick surface",8, True)If IsNull(strSurface) Then Exit Sub

uDiv = intwidth 'Rhino.GetInteger("please enter number in U-direction",10,1,intMax)If IsNull(uDiv) Then Exit Sub

vDiv = intheight 'Rhino.GetInteger("please enter number in V-direction",10,1,intMax)If IsNull(vDiv) Then Exit Sub

arrUDomain = Rhino.SurfaceDomain (strSurface, 0)arrVDomain = Rhino.SurfaceDomain (strSurface, 1)

UStep = (arrUDomain(1)-arrUDomain(0)) / uDivVstep = (arrVDomain(1)-arrVDomain(0)) / vDiv

Call Rhino.EnableRedraw (False)

Dim u,vDim lumDim strNameDim arrObjects

For u = 0 To uDiv-1For v = 0 To vDiv -1

arrParameter = Array(arrUDomain(0)+ UStep * u, arrVDomain(0)+ VStep * v)arrC1 = Rhino.EvaluateSurface(strSurface,arrParameter)

arrParameter = Array(arrUDomain(0)+ UStep * (u+1), arrVDomain(0)+ VStep * v)arrC2 = Rhino.EvaluateSurface(strSurface,arrParameter)

arrParameter = Array(arrUDomain(0)+ UStep * (u+1), arrVDomain(0)+ VStep * (v+1))arrC3 = Rhino.EvaluateSurface(strSurface,arrParameter)

arrParameter = Array(arrUDomain(0)+ UStep * u, arrVDomain(0)+ VStep * (v+1))arrC4 = Rhino.EvaluateSurface(strSurface,arrParameter)

'__________________________________________________________________

Overall Surface

Page 7: Stomata Membrane

Function SurfaceOne(strSurface,arrC1,arrC2,arrC3) Dim arrPoints1, arrPoints11, arrPoints12 Dim addCurve1, addCurve11, addCurve12 Dim srfMain1, arrObjects1 arrPoints1 = Array(arrC1,arrC2,arrC3) addCurve1 = Rhino.AddCurve(arrPoints1,4) arrPoints11 = Array(arrC1,arrC2) addCurve11 = Rhino.AddCurve(arrPoints11) arrPoints12 = Array(arrC2,arrC3) addCurve12 = Rhino.AddCurve(arrPoints12) arrObjects1 = Array(addCurve1,addCurve11,addCurve12) srfMain1 = Rhino.AddEdgeSrf(arrObjects1)End Function

Function SurfaceTwo(strSurface,arrC3,arrC4,arrC1)

Dim arrPoints2, arrPoints21, arrPoints22 Dim addCurve2, addCurve21, addCurve22 Dim srfMain2, arrObjects2 arrPoints2 = Array(arrC1,arrC4,arrC3) addCurve2 = Rhino.AddCurve(arrPoints2,4) arrPoints21 = Array(arrC3,arrC4) addCurve21 = Rhino.AddCurve(arrPoints21) arrPoints22 = Array(arrC1,arrC4) addCurve22 = Rhino.AddCurve(arrPoints22) arrObjects2 = Array(addCurve2,addCurve21,addCurve22) srfMain2 = Rhino.AddEdgeSrf(arrObjects2)End Function

Surface division into u-v

Page 8: Stomata Membrane

Function SurfaceThree(strSurface,arrC1,arrC2,arrC3,arrPeakPtMid)

Dim arrPoints3, arrPoints31, arrPoints32, arrPoints33, arrPoints34 Dim addCurve3, addCurve31, addCurve32, addCurve33 Dim srfMain3, arrObjects3, arrDomain3 arrPoints3 = Array(arrC1,arrC2,arrC3) addCurve3 = Rhino.AddCurve(arrPoints3,4) arrDomain3 = Rhino.CurveDomain(addCurve3)

Dim addCurve3midpt: addCurve3midpt = Rhino.CurveMidPoint(addcurve3) addCurve33 = Rhino.SplitCurve(addCurve3,0.5) arrPoints31 =Array(arrC3,arrPeakPtMid) addCurve31 = Rhino.AddCurve(arrPoints31) arrPoints32 = Array(addCurve3midpt,arrPeakPtMid) addCurve32 = Rhino.AddCurve(arrPoints32) arrObjects3 = Array(addCurve33(1),addCurve31,addCurve32) srfMain3 = Rhino.AddEdgeSrf(arrObjects3)

End Function

Function SurfaceSix(dblHeight,strSurface,arrPeakPtMidMin,arrC1,arrC4,arrC3) Dim addCurve6, addCurve61, addCurve62, addCurve63 Dim arrPoints6, arrPoints61, arrPoints62 Dim srfMain6,arrObjects6, arrDomain6 arrPoints6 = Array(arrC1,arrC4,arrC3) addCurve6 = Rhino.AddCurve(arrPoints6,4) arrDomain6 = Rhino.CurveDomain(addCurve6)

Dim addCurve6midpt: addCurve6midpt = Rhino.CurveMidPoint(addCurve6) addCurve63 = Rhino.SplitCurve(addCurve6,0.5) arrPoints61 =Array(arrC1,arrPeakPtMidMin) addCurve61 = Rhino.AddCurve(arrPoints61) arrPoints62 = Array(addCurve6midpt,arrPeakPtMidMin) addCurve62 = Rhino.AddCurve(arrPoints62) arrObjects6 = Array(addCurve63(0),addCurve61,addCurve62) srfMain6 = Rhino.AddEdgeSrf(arrObjects6) End Function

mapped geometry on surface division

Page 9: Stomata Membrane

mapped open geometry on surface division

Add surfaces on mapped open geometry

Function surfaceFour(strSurface,arrPeakPtMid,arrC1,arrC4,arrC3) Dim addCurve4, addCurve41, addCurve42, addCurve43 Dim arrPoints4, arrPoints41, arrPoints42 Dim srfMain4,arrObjects4, arrDomain4 arrPoints4 = Array(arrC1,arrC4,arrC3) addCurve4 = Rhino.AddCurve(arrPoints4,4) arrDomain4 = Rhino.CurveDomain(addCurve4)

Dim addCurve4midpt: addCurve4midpt = Rhino.CurveMidPoint(addCurve4) addCurve43 = Rhino.SplitCurve(addCurve4,0.5) arrPoints41 =Array(arrC3,arrPeakPtMid) addCurve41 = Rhino.AddCurve(arrPoints41) arrPoints42 = Array(addCurve4midpt,arrPeakPtMid) addCurve42 = Rhino.AddCurve(arrPoints42) arrObjects4 = Array(addCurve43(1),addCurve41,addCurve42) srfMain4 = Rhino.AddEdgeSrf(arrObjects4)

End Function

Function SurfaceFive(dblHeight,strSurface,arrPeakPtMidMin,arrC1,arrC2,arrC3) Dim arrPoints5, arrPoints51, arrPoints52, arrPoints53, arrPoints54 Dim addCurve5, addCurve51, addCurve52, addCurve53 Dim srfMain5, arrObjects5, arrDomain5 arrPoints5 = Array(arrC1,arrC2,arrC3) addCurve5 = Rhino.AddCurve(arrPoints5,4) arrDomain5 = Rhino.CurveDomain(addCurve5)

Dim addCurve5midpt: addCurve5midpt = Rhino.CurveMidPoint(addcurve5) addCurve53 = Rhino.SplitCurve(addCurve5,0.5) arrPoints51 =Array(arrC1,arrPeakPtMidMin) addCurve51 = Rhino.AddCurve(arrPoints51) arrPoints52 = Array(addCurve5midpt,arrPeakPtMidMin) addCurve52 = Rhino.AddCurve(arrPoints52) arrObjects5 = Array(addCurve53(0),addCurve51,addCurve52) srfMain5 = Rhino.AddEdgeSrf(arrObjects5) End Function

Page 10: Stomata Membrane

Parametric Logic

Page 11: Stomata Membrane

Parametric Skin

Page 12: Stomata Membrane

Parametric Bone + Skin

Page 13: Stomata Membrane

Components

Page 14: Stomata Membrane

Light – Energy - Water

Page 15: Stomata Membrane

Construction

Page 16: Stomata Membrane

Technical Drawing

Page 17: Stomata Membrane

Temperature (o C)

Wind speed (m/s) & direction

Precipitation ( mm)

Sun Angle , duration, Clearness

Location : DelftLatitude: +52.01 (52°00'36"N)Longitude: +4.36 (4°21'36"E)

Environmental Factor

Page 18: Stomata Membrane

Location : DelftLatitude: +52.01 (52°00'36"N)Longitude: +4.36 (4°21'36"E)

Environmental Factor

Page 19: Stomata Membrane

The Components location is determined by the elevation. The highest position are light components in order to maximize solar gain. The energy generating components are located in the slope to take advantage of water flow and wind, while the Water capturing components are located in the lowest part to catch the rain water.

Components Location

Page 20: Stomata Membrane

Operational Diagram

Page 21: Stomata Membrane

Performative Skin Simulation

Page 22: Stomata Membrane
Page 23: Stomata Membrane
Page 24: Stomata Membrane