0% found this document useful (0 votes)
107 views

Floating Veil

This document describes the design objectives and processes for a pavilion structure called "The Floating Veil Pavilion". The objectives are to explore scripting and its ability to generate evolutionary architectural forms. A diffusion algorithm and vector concepts are used to create a dynamic surface for the pavilion structure based on user inputs. The design process involves 10 main procedures, including relaxing the surface dimensions, creating a structural framework and glazing skin, adding translucent sun shades and photovoltaic panels, and performing solar calculations.

Uploaded by

Walid Nazih
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
107 views

Floating Veil

This document describes the design objectives and processes for a pavilion structure called "The Floating Veil Pavilion". The objectives are to explore scripting and its ability to generate evolutionary architectural forms. A diffusion algorithm and vector concepts are used to create a dynamic surface for the pavilion structure based on user inputs. The design process involves 10 main procedures, including relaxing the surface dimensions, creating a structural framework and glazing skin, adding translucent sun shades and photovoltaic panels, and performing solar calculations.

Uploaded by

Walid Nazih
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 14

THE FLOATING VEIL PAVILION

Thousand Plateaus . Programming . Architecture

10 11
Walid ElSayed U 1030051
01 THE FLOATING VEIL PAVILION
Introduction
Objectives Thousand Plateaus . Programming . Architecture

Design Objectives :
This assignment seeks to explore and experiment on visual basic
for application scripting and its relevance in enhancing design
probabilities and creating an evolutionary architectural form.

The diffusion algorithm and vectors concepts has been utilizied


to generate a pavilion structure with fixed rectangular bound-
aries and dynamic surface that its curvture is dependent on
designer inputs. differnt input values creates various alterna-
tives and different geometry. The generated form is to be cre-
ated as a woven structural steel frame and can be encapsu-
lated by curved glass. translucent colored sun shades to be
accommodated on the roof providing interior light modulation
and interesting colored shadow of the roof pattern on the floor
below . photovoltaic panels are to be fixed to the roof struc-
ture, its size and rotation angle varies to maximize sun exposure.
The lightness of the woven structure and the floating roof above
gives the impression of a flowing veil which soars overhead.

The process is separated into 6 main procedures:

1. Relax the predetermined dimension surface.


2. Create floating structural framework based on surface nodes
relaxed position.
3. Create the curved clear glazing skin that capsulates the pa
vilion structure.
4. Create supportive steel posts fixed to the frame structure and
located at the centers of the relaxed nodes.
5. Create a layer of translucent colored panels to provide sun
shades and interior light modulation.
6. Create photovoltaic panels to work as sun ray collectors, the
scale and rotation angle of the solar panels varies according
to their position to the sun’ angle vectors at Mid-Autumn.

Walid ElSayed MSc 10’11 U 1030051


02 THE FLOATING VEIL PAVILION
FLOW
DIAGRAM Thousand Plateaus . Programming . Architecture

User Input Functions Components

Declarations Define Data names and their Types


Attributes Variables
^
User defined
Set Up all layers
Process 01 listlayers 0 Layers
^
Nodes
Process 02 initialize 0 Set Up Nodes Nodes Properties
[ Query ] Location
Input <
Process 03 get_sources 0 No Force
^ Yes
Fix Nodes Stated closest Position
Process 04 check_sources 0 To Input State
^
Nodes to calculate position Diffusion
Process 05 Calculate 0 Algorithm

^
Nested based on itself and neighbours
Loops
Process 06 Update 0 Nodes to update position

^
^
Process 07 Structural_frame 0 Create structural Framework Ribs
^
Glazing Skin
Process 08 surface_paneling 0 Create Panels Translucent sun shades

^
Photovoltaic Panels

Draw Panels normals


Process 09 facade_normals number Exchange Vectors
[ Query ]

Solar Calculations Incident Angle


Process 10 solar_calc 0
^

Walid ElSayed MSc 10’11 U 1030051


03 THE FLOATING VEIL PAVILION
FLOW
DIAGRAM Thousand Plateaus . Programming . Architecture

Declarations
Data Type
User Input [ location - force]
public - private
Main Procedure
Erase All
user-define

Nodes
Create Layers
user input
get sources
panel
Initialize nodes
variables check sources

constants
Calculate

50 Times
update

draw structure

draw panels Panels normals

Solar calculations vectors calculation

Zoom

Walid ElSayed MSc 10’11 U 1030051


04 THE FLOATING VEIL PAVILION
Processes Thousand Plateaus . Programming . Architecture

Process 01-02 : Process 03 - 04 :


List layers - Initialise the Nodes
Get Sources - Check Sources
The code initialized by creating a collection of layers includes a set of
The user is asked to select nodes positions that will represent the loca-
nine layers for managing the drawing in later stages.
tion of the main structural supports. the code only considers the closest
nodes to the selected position through mathematical calculations Fol-
Relevant Subdivision :
lowing the user selection of the position. It will be requested to enter a
Set layercoll = ThisDrawing.Layers
force which will represent the height of the structural frame work. Vari-
Set layer1 = layercoll.Add(“Nodes”)
ous forces values will result in different compositional structure.
.
.
Nearest-Node Relevant Subdivision :
The nodes initialized by creating gridlines of HOR (at X direction) and
Do
VER (at Y direction) in which their coordinates represent the nodes cen-
pt = ThisDrawing.Utility.GetPoint(, “select location of structural supports
ters. The nodes vertix are stored as three dimension array and their initial
“)
z-value is Zero. The gridlines and subsequently the nodes positions can
ReDim Preserve inputs(n) As user_input
be easily altered by changing the pre-determined parameters HOR,
inputs(n).pos = pt
VER. The code proposes optional structural grids by highlighting specific
User- Input inputs(n).force = ThisDrawing.Utility.GetInteger(“specify the height “)
nodes in orange. These positions are optional and work only as guide-
answer = MsgBox(“do you want to select another node?”, vbYesNo,
lines.
“More?”)
n=n+1
Relevant Subdivision :
Loop While (answer = vbYes)
For u = 0 To HOR
For v = 0 To VER
The state (z-value) of the neaerest nodes and their four neighbours are
nodes(u, v).pos(0) = u
Relevant Subdivision : to be fixed according to the input force. As the algorithm runs, each of
nodes(u, v).pos(1) = v
the nodes start to exchange their information (z-value) and each node
nodes(u, v).pos(2) = 0
For q = 0 To UBound(inputs) assigns itself its new Z-coordinates which is the average of its neighbour-
If (u > 0 And u < HOR And v > 0 And v < VER And u Mod 6 = 0 And v Mod
mindis = 100000 hoods’ coordinates. In this code this relaxation is constituted by calculat-
5 = 0) Then
For u = 0 To HOR ing the average of z-value for four neighbours (Moore neighbourhood) ,
Set nodes(u, v).body = ThisDrawing.ModelSpace.AddCircle(nodes(u,
For v = 0 To VER alternatively (Van Neumann neighbourhood) can be considered (eight
v).pos, 0.45)
dis = Sqr((inputs(q).pos(0) - nodes(u, v).pos(0)) ^ 2 neighbours) .
col.SetRGB 255, 127, 0
+ (inputs(q).pos(1) - nodes(u, v).pos(1)) ^ 2) The applied forces and diffusion algorithms governs the degree of cur-
nodes(u, v).body.TrueColor = col
If (dis < mindis) Then vature of the generated surface.
nearest(0) = u (u-1,v+1) Fixed State= inputs(q).force
nearest(1) = v (u,v+1) Fixed State= inputs(q).force
(u-1,v+1) (u,v+1) (u+1,v+1)
(u+1,v+1) Fixed State= inputs(q).force
mindis = dis (u-1,v) Fixed State= inputs(q).force
End If (u,v) Fixed State= inputs(q).force / 3
Next v (u+1,v) Fixed State= inputs(q).force
(u-1,v-1) Fixed State= inputs(q).force
Next u (u,v-1) Fixed State= inputs(q).force
(u-1,v) (u+1,v)
j = nearest(0): k = nearest(1) (u+1,v-1) Fixed State= inputs(q).force
nodes(j, k).fix = True
nodes(u,v)
nodes(j, k).state = inputs(q).force / 3
nodes(j, k).body.Center = nodes(j, k).pos

j = IIf(j = 0, HOR - 1, j)
j = IIf(j = HOR, 1, j)
k = IIf(k = 0, VER - 1, k) (u-1,v-1) (u,v-1) (u+1,v-1)
k = IIf(k = VER, 1, k)

Walid ElSayed MSc 10’11 U 1030051


05 THE FLOATING VEIL PAVILION
Processes Thousand Plateaus . Programming . Architecture

Power of Attraction

User-Input [ Force -15 ] --- Fixed Nodes state = Force / 3


Neighbour --- Fixed Nodes state = Force

User-Input [Force (7) ] --- Fixed Nodes state = Force /3

User-Input [ Force (5)] --- Fixed Nodes state = Force / 3


^ Plan Neighbour --- Fixed Nodes state = Force
Relevant Subdivision :

nodes(j, k).fix = True


nodes(j, k).state = inputs(q).force / 3
nodes(j, k).body.Center = nodes(j, k).pos

nodes(j - 1, k).fix = True: nodes(j, k - 1).fix =


True: nodes(j + 1, k).fix = True: nodes(j, k +
1).fix = True

nodes(j - 1, k).state = inputs(q).force: nodes(j,


k - 1).state = inputs(q).force
nodes(j + 1, k).state = inputs(q).force:
nodes(j, k + 1).state = inputs(q).force

^ Elevation

Walid ElSayed MSc 10’11 U 1030051


06 THE FLOATING VEIL PAVILION
Processes Thousand Plateaus . Programming . Architecture

Process 06 :
Calculate - Update
upon exchanging information (z-values) , the nodes as-
signs itself its new Z-coordinates which is the average of
its neighbourhoods’ coordinates. In this code this relax-
ation is constituted by calculating the average of z-value
for four neighbours (Moore neighbourhood) , alterna-
tively (Van Neumann neighbourhood) can be consid-
ered (eight neighbours) .

(u-1,v+1) (u,v+1) (u+1,v+1)

Neighbour - Above
(u-1,v) (u+1,v)

Neighbour - Left nodes(u,v)

Neighbour - Right
Neighbour - Below

(u-1,v-1) (u,v-1) (u+1,v-1)

Relevant Subdivision :

To Calculate

l_n = IIf(u > 0, u - 1, HOR)


r_n = IIf(u < HOR, u + 1, 0)
a_n = IIf(v > 0, v - 1, VER)
b_n = IIf(v < VER, v + 1, 0)

If (nodes(u, v).fix) Then


nodes(u, v).temp = nodes(u, v).state
Else
nodes(u, v).temp = (nodes(u, v).pos(2) +
nodes(l_n, v).pos(2) + nodes(r_n, v).pos(2) _
+ nodes(u, a_n).pos(2) + nodes(u, b_n).pos(2)) / 5
End If

To Update :

For u = 0 To HOR
For v = 0 To VER
nodes(u, v).pos(2) = nodes(u, v).temp
nodes(u, v).body.Center = nodes(u, v).pos
col.SetRGB 132, 132, 132
nodes(u, v).body.TrueColor = col
^ Relaxed Nodes
End If
Next v
Next u

Walid ElSayed MSc 10’11 U 1030051


07 THE FLOATING VEIL PAVILION
Processes Thousand Plateaus . Programming . Architecture

Process 07 : Here
Structural Frame

By drawing a spline that moves across the relaxed nodes


in both directions (HOR – VER) we can obtain a base
curves for structural framework. These curves are copied
and moved vertically then lines to be drawn to connect
these spline curves ‘end in order to obtain an enclosed There
region that can be extruded as solid body. The value of
the extrusion and subsequently the dimensions of the
structural lattice ribs to be defined by the user.
Two different extrusion values has been used to create Primary
primary and secondary ribs. Ribs

Relevant Subdivision :

* Vertical Ribs Secondary


Ribs
Set cord = ThisDrawing.ModelSpace.AddSpline(pts, st, et)
Set copy_me = cord.Copy
here = cord.GetFitPoint(0)
there = here
If (u Mod 6 = 0) Then
there(2) = here(2) - 0.24
Else
there(2) = here(2) - 0.06 ^ Structural Steel Ribs
End If

copy_me.Move here, there


Set links(0) = cord
Set links(1) = copy_me
Set links(2) = ThisDrawing.ModelSpace.AddLine(here,
there)
Set links(3) = ThisDrawing.ModelSpace.AddLine(cord.
GetFitPoint(VER), copy_me.GetFitPoint(VER))
temp = ThisDrawing.ModelSpace.AddRegion(links)
If (u Mod 6 = 0) Then
Set rib = ThisDrawing.ModelSpace.
AddExtrudedSolid(temp(0), 0.24, 0)
col.SetRGB 214, 214, 214
rib.TrueColor = col
Else
Set rib = ThisDrawing.ModelSpace.
AddExtrudedSolid(temp(0), 0.006, 0)
col.SetRGB 91, 91, 91
rib.TrueColor = col
End If
Next u

^ Structural Steel Frame I

Walid ElSayed MSc 10’11 U 1030051


08 THE FLOATING VEIL PAVILION
Processes Thousand Plateaus . Programming . Architecture
Process 07 :
Structural Frame

^
Structural Steel Frame II

^ Structural Steel Frame III


^
Structural Steel Frame IV

Walid ElSayed MSc 10’11 U 1030051


09 THE FLOATING VEIL PAVILION
Processes Thousand Plateaus . Programming . Architecture

Process 08 :
Surface Paneling
It is proposed that The pavilion steel structure to be en-
capsulated by curved clear glass as an inner surface.
Glass panels set out on relaxed nodes vertex on the en-
tire grid to create smooth continuous curves. Within the
script where the structure drops at structural supports lo-
cations , the panels that are on lower level will not be
formed to provide an exposed structure (columns). These
strategy recurrences at top of the roof to create lighting
wells.

An additional triangular Translucent colored sun shades


to be accommodated over the glazing layer to provide
interior light modulation and interesting colored shadow
of the roof pattern on the floor underneath. The colored
panels created by setting out regions on the relaxed
nodes and extrude then moving it along the glazing
panels normals. within the codes, it is suggested to have
variation in the panels coloures to create an interesting
patterns of colored shadows on the floor below.

same strategy recurrences to create the photovoltaic


panels that proposed to be fixed on top of the roof.

in order to support the panels frame , steel posts are to


be created by setting out circular regions using the re-
laxed nodes centers then extrude it along the glazing
panels normals.

Photovoltic Panels
Translucent colored Panels
Curved Glazing
Steel Posts

P3

P2

P4

P1

Walid ElSayed MSc 10’11 U 1030051


10 THE FLOATING VEIL PAVILION
Thousand Plateaus . Programming . Architecture

Walid ElSayed MSc 10’11 U 1030051


11 THE FLOATING VEIL PAVILION
Processes Thousand Plateaus . Programming . Architecture

Process 09 - 10 :
Facade normal - Solar Calculations
Using the relaxed nodes vertex defined in earlier stage
, two vectors can be obtained for each face using the
coordinates of three vertex on the face of the panels .
Faces normals , in which runs perpendicular to the face
outwards, can be mathematically obtained. Face nor-
mals has been used to assess the incident angle that sun Panel Normal
vector create with each face. The solar panels scale and
rotation has been manipulated accordingly to maximize
sun exposure.

V2

Relevant Subdivision : V1

For p = 0 To UBound(panels) - 1
incidentAngle = vect_dot_prod(panels(p).norm,
sunlight)

If (incidentAngle < 90) Then


photovoltaic(p).Rotate3D panels(p).indicator.
StartPoint, panels(p).indicator.EndPoint, (90 - inci-
dentAngle)

translucent_sun_shades1(p).Rotate3D panels(p).
indicator.StartPoint, panels(p).indicator.End-
Point, (90 - incidentAngle)

translucent_sun_shades2(p).Rotate3D panels(p).
indicator.StartPoint, panels(p).indicator.End-
Point, (90 - incidentAngle)

photovoltaic(p).ScaleEntity panels(p).indicator.
StartPoint, (1.75 - incidentAngle)

End If

Next p

Walid ElSayed MSc 10’11 U 1030051


12 THE FLOATING VEIL PAVILION
Thousand Plateaus . Programming . Architecture

Walid ElSayed MSc 10’11 U 1030051


13 THE FLOATING VEIL PAVILION
Thousand Plateaus . Programming . Architecture

Walid ElSayed MSc 10’11 U 1030051

You might also like