








Computational; Flocking & Crowd Algorithms with C# (2023)
Universal Typeface. Pro Graphic Design; Linguistics and Design Typeface based on Braille (2020) Eroding Behaviors. PG

Computational; Flocking & Crowd Algorithms with C# (2023)
Universal Typeface. Pro Graphic Design; Linguistics and Design Typeface based on Braille (2020) Eroding Behaviors. PG
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.
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.
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.
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
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.
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.
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
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.
Professional Project; May 2019 | Tehran, Iran
Programme: Technical design and construction details of a Mixed-use Complex
Type: Professional - Group Work (with Dorna Shafieyoon)
Role: Team leader, technical supervisor, and designer
Contribution: Technical and mechanical design and drawing, construction details development, BIM coordination, facade redesign, 3D modeling, and presentation.
Software Used: Autodesk Revit Architecture, Autodesk Revit MEP, Autodesk AutoCad, V-Ray, Lumion 10, Sketchup, MS Project, Dynamo
6th Floor Air HVAC & Duct System
Designed & Drawn by Aria Torabi
5th Floor Water Supply Plan
Designed & Drawn by Aria Torabi
12th Floor Wiring & Lighting Plan
Designed & Drawn by Aria Torabi
7th Floor Graywater & Sewage Piping Plan
Designed & Drawn by Aria Torabi
To support sustainability, the plumbing and mechanical systems were meticulously designed, covering water supply, drainage, grey water reuse, and recycling. Recycled grey water is used for irrigation and toilets. The HVAC system, with a duct network sized by air velocity and volume, connects to the boiler room and rooftop cooling systems. Detailed diagrams ensure efficient integration and functionality, creating an eco-friendly building system.
The electrical plans for the building were developed using Autodesk Revit software integrated with the BIM model. These plans cover every floor and detail the layouts for lighting fixtures, wiring, and power sockets. They include designs for telephone and data wiring, CCTV, fire alarm and electrical diagrams for the main generator, panels, and overall power distribution, ensuring an efficient and effective electrical infrastructure throughout the building.
8th Floor Roof Beam Framing Plan
Designed & Drawn by Aria Torabi
The project features a steel framework to reduce weight and speed up construction. Elements and connections were designed based on load calculations. Shear walls around the main cores resist lateral forces, allowing for a transparent façade to maximize daylight. Modular GFRC panels were used for the façade, with maintenance and durability plans. Architectural and structural details such as stairs, toilets, and other spaces were also developed in 2D and 3D.
Space Frame Details Designed & Drawn by Aria
Cinema Section Detail 1 Designed & Drawn by Aria Torabi & Dorna
Undergraduate Thesis Issued on February 2, 2020 | Tehran, Iran
Programme: Social Housing Design
Type: Academic - Individual Work
Tutors: Prof. Yousef Nili (m-nili@sbu.ac.ir), Prof. Farhad Azarmi (humatt@gmail.com)
Role: All phases including research, designing concept, developing, drawing, presentation and model making were carried out individually.
Software Used: Autodesk Revit, Rhino 7, V-Ray, Lumion 10, Enscape
As a final academic design project, a housing complex was chosen to face design challenges on different scales and levels while maintaining the harmony of a whole. The housing project was proposed to replace the current neighborhood with problems concerning lack of safety and facilities, low quality of life and high rate of unemployment. Thus, a thorough research on the neighborhood and residents was conducted as well as a study of housing typologies and alternatives. As a result, the idea of multiple focal points with live interactions was developed by designing various courtyards in-between housing units, creating a semi-private neighborhood and a locality for surrounding units to interact, become active and evolve communal connections.
The courtyards were initially inspired by traditional Persian residences, identified by their features of Iranian-Islamic architecture including introversion, hierarchy of public and private spaces, tight relation of open and enclosed spaces and complete geometrical shapes were implemented to provide the neighborhood with levels of confidentiality, intimacy and safety in addition to light supplement. Further private open spaces in this hierarchy are granted to sets of housing units and also separate units by establishing private gardens for each type.
A total of thirteen types of houses were designed and arranged around the main courtyards. Types are ordered in four categories based on their total area. To access these units, lobbies and cores are used for each set of units. Modular design creates flexibility and enables further advances and developments of the housing project as well as creating simplicity in order to make room for alterations and diversity which would result in local acceptance and adaptation to the habitat
In this project the modular structure is made of reinforced concrete and is defined in both axes resulting in a balance with great earthquake resistance.
Undergraduate 4th year 7th semester Issued on January 27, 2019 | Tehran, Iran
Programme: Mixed-use complex (Office, Cultural & Commercial)
Type: Academic - Individual Work
Tutors: Prof. Mohammadreza Hafezi (mr-hafezi@sbu.ac.ir),
Prof. Matin Alaghmandan (m.alaghmandan@gmail.com)
Role: Planning, concept design and development, drafting and modeling in detail & individual study as well as rendering and post-production
Software Used: Autodesk Revit, Rhino 7, V-Ray, Lumion 10, Sketchup
Proposal
The Valiasr Complex, located between two important avenues and a highway, was designed to meet a vast range of functions and requirements of a mixed-use project. Therefore, it revolved around designing and programming offices, commercial units and entertainment and cultural facilities in a way that would attract the local community, and maintain an interactive dialogue with its surrounding. The variety of potential distinct views from the project resulted in designing different viewpoints and terraces altered by angle and altitude facing an overview of side avenues and highway, a far view to the downtown in the south, and the northern view to the mountains.
Context
Terraces in higher levels cause a constant indoor-outdoor open dialogue delivering a diverse spatial quality for offices while increasing natural light and maintaining visual connectivity. Terraces in lower levels feature public activities such as local temporary markets which support the local community and an outdoor cinema. On Valiasr Avenue side the entrance courtyard is filled with local commercial tents to draw lively attention and initiates a path through commercial and cultural section.
Offices are placed by Gandhi Avenue and consist of units in different sizes and types including an open office. Shared spaces such as the dining area and café are also created alongside resting open spaces for employees. On the entertainment floor three types of indoor, outdoor and private cinemas are designed and galleries are located at the end of this path.
Morphology Programme
The final form of the project was made to be simple, subtle and understandable for local people and visitors while containing distinct functions. A playful design with planes (slabs and walls), lines (the round columns) and volumes was utilized in addition to pilotis to lighten the mass and create harmony. The structure consists of two main concrete cores and modular frames to evenly distribute the weight and withstand horizontal forces.
As the project revolves around its three main functions (Office, Cultural, Commercial), a broad range of communal and shared areas were anticipated alongside the arrangement of these main functions. These shared spaces inside and the open spaces and terraces of each level outside allow users to interact and create a dynamic atmosphere and provide the project with a sense of life while keeping the east-west urban green belt continuum.
Undergraduate 3rd year Assembled on December 23, 2018 | Tehran, Iran
Programme: Physical elements design and Manufacturing in Architecture; Design & assembly of a Geodesic dome for Exhibition
Type: Academic - Group Work
Tutors: Prof. Saeed Mashayekh Faridani (s-mfaridani@sbu.ac.ir)
Role: Part of design and fabrication team, Manufacturer of Metal Joints, and Assembly of pieces. Laser cutting, drilling, scraping metal joints and wooden elements.
Software Used: Rhino, Grasshopper, Sketchup, Kangaroo, Enscape
A pavilion was designed for the 19th Exhibition of Research and Technological Advances in Iran to showcase the university’s student projects. The geodesic dome, made of detachable parts, ensured easy mobility, assembly, and maintenance, providing a spacious room (3.6m height, 4m radius) for exhibits. Design, modeling, manufacturing, and customization were managed by a student team handling metal and woodwork. The dome featured steel base stands, six types of junctions (each with five parts), and five types of wooden members connected with screws. Removable members allowed entry, and the structure could be covered with plywood or aluminum panels for outdoor use.
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();
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
Softwares 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 behavior 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.
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.
Thank you for your attention