stomata membrane

Post on 01-Jul-2015

604 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

MSC 3 Presentation for Hyperbody

TRANSCRIPT

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

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

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?

Rules & Notation

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

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

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

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

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

Parametric Logic

Parametric Skin

Parametric Bone + Skin

Components

Light – Energy - Water

Construction

Technical Drawing

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

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

Environmental Factor

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

Operational Diagram

Performative Skin Simulation

top related