Graduate Portfolio by Aria Torabi

Page 1


Meta London© 01

Postgraduate Thesis Issued on January 11, 2024 | London, United Kingdom

Programme: Architectural Intelligence for New Cities (Phase I)

Urban Simulation and Gamification, Architectural Design Innovation & Computational Geometry

Type: Academic - Group Work

Tutors: Dr. Shajay Bhooshan (shajayb@aaschool.ac.uk), Dr. Theodore Spyropoulos (spyropoulos_th@aaschool.ac.uk), Henry Louth (henry-david.louth@aaschool.ac.uk), Ariadna Lopez (ariadna.lopez@aaschool.ac.uk)

Role: Planning, concept design and development, drafting and modeling in detail & individual study as well as rendering and post-production

Software Used: Autodesk Maya, Rhino 7, Grasshopper, V-Ray, Unity, Unreal Engine, Blender, Karamba, Houdini, Twinmotion

In the evolution of society, cities stand as pivotal hubs driving progress, demanding continuous design innovation to captivate inhabitants and foster vibrant urban living. The motivation behind design research for Meta Cities revolves around crafting a blueprint to promote cities’ growth through high-density infill developments by creating socially engaging urban spaces. This blueprint essentially serves as a prototype for city expansion, integrating innovative design frameworks to redefine urban forms.

Urban Prototype A Generative Approach to Urbanism

Generative urbanism improves city networks for efficiency and connectivity. At the urban level, it optimizes travel distance and land use. At the district level, it tests different urban block layouts. At the building level, it uses space syntax to create efficient modular designs based on architectural needs.

Southend-on-Sea

The

The Superimposition

Overlaying

The Layers

Schematic view of layers of

At the urban scale, a generative approach to urban design was taken, and multiple strategies for urban expansion were proposed. These strategies were tested in 13 satellite cities of London. The outcomes were then compared based on the urban context and characteristics of each city.

Expansion of Existing Fabric: Growth around existing areas, filling gaps between satellite cities. Expansion Along Transportation Routes: Development along transportation routes and existing roads. Transit-Oriented Development: Large-scale projects around public transport stations, connecting to metaLondon. Focusing on City’s Primary Attraction: Expansions centered on the city’s unique identity, making each satellite city a “hub.”

Through studying self-organizing agent-based networks in proposed satellite cities, the concept of multilayer urbanism was developed. This allows the network to extend beyond the 2D urban fabric, with multiple transportation nodes and phased development for each layer.

Fabric; Sevenoaks

Algorithmic Logic

In the game-based simulation, residential revenue is influenced by proximity to amenities, scenic views, and daylight. Commercial revenue depends on access to transit, storefront positioning, and

After the urban design research revealed that diverse and efficient land use directly influences citizen satisfaction, essential for a thriving city. This insight shapes design principles, resulting in mixed-use developments that maximize economic benefits for both the city and its residents. Here the continuous and informed interaction is the key.

A Bottom-Up Approach

The bottom-up approach offers flexibility and adaptability, allowing urban blocks to grow organically based on the community’s evolving needs and values. Each decision shapes the block’s character, reflecting a dynamic and responsive development process that aligns with residents’ changing priorities.

The game-based urban simulation involves four developers (residential, commercial, office, industrial) and one public representative. It encourages interaction based on investment returns and revenue. Players use trial and error to balance citizen and city interests, integrating public amenities to create a cohesive neighborhood. This platform helps stakeholders manage urban growth complexities, fostering a harmonious city.

During each turn,various metrics are calculated and reported, including land/voxel value, average direct sunlight exposure, height map, massing, budget & profits, and other essential info To help players analyze outcomes and make informed decisions.

The gamified emergent urbanism as a concept uses game elements like competition and rewards to engage communities in urban development. Involving four players—residential, industrial, commercial, and office sectors—it promotes community involvement and addresses urban challenges, fostering dynamic and connected urban areas.

Urban block growth in mixed-use TODs is shaped by three approaches: localization (self-contained communities), urbanization (dynamic, diverse environments), and community land auctions (affordable, inclusive development). These methods collectively influence urban block evolution. Each strategy was played out and analysed in the process.

Generating the Corresponding Design

The game outcomes that involved multiple players and stakeholders, which result in hyperprogrammed, high-density living spaces, then are translated into architectural elements based on specific rulesets. Exoskeletons for towers are created, and units or cells are replaced with designed spaces. This approach helps ensure the city’s resilience and vibrancy over time, benefiting both the city and its citizens.

Meta London© 01

Postgraduate Thesis Issued on January 11, 2024 | London, United Kingdom

Programme: Architectural Geometry & Parametric Design (Phase II)

Urban Simulation and Gamification, Architectural Design Innovation & Computational Geometry

Type: Academic - Group Work

Tutors: Dr. Shajay Bhooshan (shajayb@aaschool.ac.uk),

Dr. Theodore Spyropoulos (spyropoulos_th@aaschool.ac.uk), Henry Louth (henry-david.louth@aaschool.ac.uk), Ariadna Lopez (ariadna.lopez@aaschool.ac.uk)

Role: Planning, concept design and development, drafting and modeling in detail & individual study as well as rendering and post-production

Software Used: Autodesk Maya, Rhino 7, Grasshopper, V-Ray, Unity, Unreal Engine, Blender, Karamba, Houdini, Twinmotion

The Adaptation; From Program Tiles to Architecture

Ongoing simulations guide the tower’s program mix, which includes residential, commercial, retail, green spaces, innovation hubs, and cultural facilities, ensuring adaptability to evolving urban needs. The towers, available in sizes S, M, L, and XL, contribute to the city’s dynamic skyline. Each size adapts to the urban landscape. This adaptable systematic approach ensures responsiveness to changing trends and needs.

Architectural Prototype

A Catalogue of Units

In the design process, integrating XS, S, M, L, and XL units in both residential and office sectors creates adaptable, dynamic landscapes. Small offices serve start-ups, while large complexes suit established firms. Residential options range from single-family homes to duplexes and triplexes. This system enhances flexibility and resilience, offering a catalog of units for users to choose from, fostering a vibrant, well-planned environment.

Combinatory Assets

Cluster 7

Co-Working cluster featuring workstation tiles

Cluster 6

Co-Working cluster featuring meeting tiles

Cluster 5

Co-Working cluster featuring cafeteria tile

Cluster 3

Co-Working Cluster featuring collaboration tiles

Cluster 1

Co-Working cluster featuring lecture rooms

Residential Genotype Units Orginized in cylindrical shape to maxmize efficiency.

The

Architectural Kit of Parts

A comprehensive kit of tiles with proposed cluster configurations ensures versatile and adaptable interior urban environments. Adhering to game logic, this design responds dynamically to diverse urban program requirements and enables rapid physical realization.

Commercial
XS
Spatial Prototype

using System; using System.Collections; using System.Collections. Generic; using UnityEngine; using UnityEngine.UIElements; using Random = UnityEngine. Random;

public class BoidsManager : MonoBehaviour { [Header(“Agents”)]

public GameObject agentPrefabs; public float agentSpeed= 5f;

private List<BoidsAgent> allAgents = new List<BoidsAgent>(); private List<GameObject> allAgentPrefabs = new List<GameObject>();

[Header(“Boundary”)]

public int worldX = 20; public int worldZ = 10; public float boundaryStrenght = 1f;

[Header(“Start : Coordinate”)]

public bool ifUsingCoordinate = true; public int agentCount = 10;

[Header(“Start : Image”)]

public bool ifUsingImage = false; public Texture2D seedImage; public int agentCountFromPixel = 1;

[Header(“Start : Random”)]

public bool ifUsingRandom = false;

public bool ifUsingRandomSeed = false; public int randomSeed = 10; public int randomAgentCount = 10;

[Header(“BOIDS Values”)]

public float neighbourBoundary = 3f; public float seperationDistance = 1f; public float seperationStrength = 1f; public float alignmentStrength = 1f; public float cohesionStrength = 1f;

[Header(“Attractors and Repellers”)] public GameObject attractors; public float attractorStrength = 0.1f; public float maxAttractorDistance = 3f; public float minAttractorDistance = 1f; public GameObject repellers; public float repellerStrength = 0.1f; public float maxRepellerDistance = 3f; public float minRepellerDistance = 1f;

[Header(“Object Trail”)] public bool ifObjetcTrailOn = false; public GameObject trailPrefab; public int trailInterval = 50; public float trailSize = 0.2f;

//----- we can use this list in other script, but [HideInInspector] is hiding values from inspector [HideInInspector] public List<Vector3> allAttractors = new List<Vector3>(); [HideInInspector] public List<float> allAttractorsRadius = new List<float>();

[HideInInspector] public List<Vector3> allRepellers = new List<Vector3>(); [HideInInspector] public List<float> allRepellersRadius = new List<float>(); void Start() { //------------- start position / start velocity setup if (ifUsingCoordinate) { UsingCoordinateStart(); } //-------------else if (ifUsingImage)

{ for (int i = 0; i < agentCountFromPixel; i++) { UsingImageStart(); } worldX = seedImage.width; worldZ = seedImage.height; }

//-------------else if (ifUsingRandom) { if (ifUsingRandomSeed) Random. InitState(randomSeed);

UsingRandomStart(); } //------------------------ Instantiate Agents for (int i = 0; i < allAgents.Count; i++) { BoidsAgent agent = allAgents[i]; GameObject newPrefab; newPrefab = Instantiate(agentPrefabs, agent.positionVec, Quaternion.identity, transform);

allAgentPrefabs. Add(newPrefab); }

UsingCoordinateStart() { for (int i = 0; i < agentCount; i++)

{ Vector3 pos = new Vector3(i, 0, worldZ); Vector3 vel = new Vector3(0, 0, -1);

BoidsAgent agent = new BoidsAgent(pos, vel); agent. boidsManager = this; allAgents. Add(agent); }

/* for (int i = 0; i < agentCount; i++) { Vector3 pos = new Vector3(i, 0, 0); Vector3 vel = new Vector3(0, 0, +1);

BoidsAgent agent = new BoidsAgent(pos, vel); agent. boidsManager = this; allAgents. Add(agent); } */ } //---------------------

private void UsingImageStart() { for (int i = 0; i < ImagePointList(seedImage). Count; i++)

{ Vector3 pos = ImagePointList(seedImage)[i]; Vector3 vel = new Vector3(0, 0, 0);

BoidsAgent agent = new BoidsAgent(pos, vel); agent. boidsManager = this; allAgents. Add(agent); } } private List<Vector3> ImagePointList (Texture2D _seedImage) { List<Vector3> points = new List<Vector3>(); Vector3 pixelPos = new Vector3(-worldX, 0, -worldZ); for (int i = 0; i < _seedImage.width; i++) { for (int j = 0; j < _seedImage.height; j++) { float

pixelGray = _seedImage. GetPixel(i, j).grayscale; if (pixelGray > 0.5f) { pixelPos.x = i; pixelPos.z = j; points. Add(pixelPos); } } }

return points; } //--------------------private void UsingRandomStart() { for (int i = 0; i < randomAgentCount; i++) { Vector3 pos = new Vector3(Random.Range(-worldX, worldX), 0, Random.Range(worldZ, worldZ)); Vector3 vel = new Vector3(Random.Range(0, 0.1f), 0, Random.Range(0, 0.1f));

BoidsAgent agent = new BoidsAgent(pos, vel); agent. boidsManager = this; allAgents. Add(agent); }

All data

void Update() { //----------- update Attractor and Repeller position UpdateAttRep();

Eroding Behaviors

Postgraduate Digital Workshop | December 6, 2023 | London, United Kingdom

Programme: Computational; Flocking and Crowd Algorithms

Type: Academic - Group Work

Team: Mattia Badiani (Italy), Shengying Tao (China), Ning Xu (China)

Tutors: Mustafa El Sayed (mustafa.el-sayed@aaschool.ac.uk), Hanjun Kim (hanjun.kim@soomeenhahm.com)

Role: Research and C# Code development, Complex System Design and Pattern Exploration

Software Used: Unity, Rhino 7, V-Ray, Visual Studio

Flocking is the natural behavior observed when a group of agents, or a flock, forage or fly together. The rules behind this behavior can be applied to other species, and in computer science, “flocking” extends beyond birds. This emergent behavior arises from simple individual rules without central coordination. The following pages detail the adapted and modified main rules, implemented in C# within Visual Studio, and executed in Unity for exploration purposes. The experiment is divided into 2D and 3D explorations, with multiple environments used in 3D research. Patterns emerged based on code changes, and parameters were filtered according to desired metrics. Settings

Approaching the tested volume in a vertical manner and observing new patterns and behaviors. The flock’s reaction to dense attractor and repeller pattern prevents vast branching through the volume.

Patterns in various depths of the volume from the surface to the bottom emerge according to a change of strength while a vertical wave of agents (the flock) faces the setting of attractors and repellers and dodges in the redefined boundaries.

Patterns emerged from the dodging behaviour of agents in a wider environment for horizontally moving flocks. Multiple forms of branching with various initial decisions of the flock affect the final outcome and outlook of the pattern.

Coordinates as Starting points Two planes moving with delay creating intertwined pattern.

Different group sizes as Starting points Four groups in different size accelerated according to flock size.

Neighbor-Based

Dividing the tunnel into three segments with different acceleration. Gray Planes representing increase in acceleration and white decrease in acceleration.

Distance-Based

Adding Acceleration (local) and observing the change of pattern and behavior (Global)

A color range indicating the agent’s speed based on position. Blue indicating slower agents and Red indicating the faster.

The Aquarium
The SandBox (V)
The SandBox (H)

Initial Waterfall Pattern

on Walls

Pattern Resemblance

PS-01 (Veins) Less Separated Centralized Branching

PS-03 (Inverted Pyramids) Endpoint for Distributed Branching

PS-02 (Table) 5-Point Concentrated Branching

PS-05 (Multiple Hives) Cohesive Flocks Distributed Branching

PS-04 (Lines) Horizontal Alignment Distributed Branching

PV-01 (Dodged & Emerged) Flock high separation resulting a pattern emerged from individual behaviour of agents.

PV-02 (Symmetrical Behaviour) Similar to 2D pattern experiments, the flock creating curves avoiding the center.

Phase of Branching

Showing effects on the Final pattern and behavior

Segmenting the environment into pieces with different acceleration vectors based on distance.

Range of Neighbors Applied Maximum Range of Neighbors Applied

Waves and Branches

The Smaller the group (fewer Neighbors) the Faster. Having a min and max range, creating multiple waves based on the number of neighbors.

Branching from Within

The Larger the group (more Neighbors) the Faster. The corners with fewer neighbors and the center with more, causing different speeds in one flock.

PV-03 (Behaviour of Two) Various sizes of groups resulting in mixture of patterns in a single flock.
PV-04 (Branching through) Flock’s decision to gather in large groups to avoid obstacles.

Metamorphosis 03

Postgraduate Physical Workshop | November 8, 2023 | London, United Kingdom

Programme: Bi-stable structures & compliant mechanisms; Manufacturing techniques

Type: Academic - Group Work

Tutors: Nassia Inglessis (nassia.inglessis@aaschool.ac.uk)

Role: Part of design and fabrication team, Working with steel, brass & aluminum

Welding, folding and crease, CNC milling of metal sheets

Software Used: Rhino, Grasshopper, Houdini, AutoCad, Solidworks

Bi-Stability Parameters

The module’s anatomy facilitated its motion and resulting bi-stability. Comprising three upward-facing sectors and three downwardfacing sectors, all interconnected by transitional sectors, this design integrates movement and stability seamlessly. Initial tests and motions were observed while experimenting with polypropylene sheets

A bi-stable compliant mechanism module was tested for material behavior through folding, motion, and acoustics. Analysis revealed that modules with the largest travel point heights and significant angle diversions amplified motion the most. These were adopted for later stages, including off-centric iterations (P11-P12) and the regular switch used earlier.

Material Study

Various materials, including zinc, steel, brass, aluminum, and copper with different thicknesses, were tested to optimize the click. Initial folds using metal zinc and glossy tinplate steel sheets (0.20mm) did not produce the expected motion. However, switching to a thinner frosted tinplate steel sheet (0.17mm) allowed for more refined folding and amplified the module’s motion.

Motion Study

P1, the original shape, translated easily into metal and maintained bi-stability. Adding sectors made it too rigid, while subtracting them weakened the motion. Wider sectors increased tension, complicating fabrication. P11 and P12 were easy to fabricate and achieved the desired switching motion, enhancing bistability with significant deflection and travel distance.

Horizontally attaching the modules creates a folding behavior. Connecting one module’s output to the next lifts the system up and down. Detaching the modules allows free motion, emphasizing the switching motion. Upward propagation is challenging and requires significant force.

Circular configuration is distinct, as the modules are assembled with mirrored components linked together. The modules are connected at their upward/downward joints, facing each other. This mirroring allows each component to switch and clap, adding accentuated acoustic characteristics. The modules are linked through their input sectors, achieving synchronized clapping and switching.

The final prototype tested parametric iterations in circular and arc configurations. P1 activation enabled P11 components to switch, but the middle ones remained static. Repeating the pattern (P12, P11, P1) balanced the system, allowing all components to switch and clap

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.