FLOIDS Artificial Responsive Design Generator
FLOIDS Artificial Responsive Design Generator Sitthitouch Surabotsopon
Thanks you, Javier Ruiz RodrĂguez and Junichiro Horikawa for every support.
FLOIDS: Artificial Responsive Design Generator Š 2021, Sitthitouch Surabotsopon Self-published ucbqura@ucl.ac.uk PUBLICATION DETAILS January 2021 All Rights Reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopy, recording, or any other information storage and retrieval system, without prior permission in writing from the authors.
Page
Preface
X
Methodology Introduction
1
Swarm Algorithm Swarm logic The cell The wave The ring
3 4 7 10
Game of Life Algorithm Introduction RGB’s rules Baby agent’s rules Simulation
14 15 16 17
Physic System Introduction Particle fluid Particle colision
33 35 36
Design Sample Design constraint Simple bookshelf Freeform bookshelf
38 39 41
Adjustment Control Particle density adjustment Particle seperation adjustment
Discussion Appendix Citations
47 56
63
64
Floids is the interactive simulation based on the self-propelled particle swarm’s collective behaviour, named after Craig Reynold’s “Boids” swarm system. The concept is the combination of the swarm chemistry by Hiroki Sayama, the heavily tweaked version of the Game of Life by John Horton Conway, and the integration of Houdini’s physic system. The combination of the physic system unlocks the possibility of feeding external data later on. The Game of life allows us to alter the environment setting to manipulate the swarm behaviour and see the pattern emerge from the swarm’s self-organized behaviour.
X
Methodology Generate particle
Swarm Algorithm (Swarm chemistry)
Base algorithm for pattern finding.
Interaction intensity controller.
Game of Life Algorithm
external data and additional force
Physic system integration
Object constraint such as size and overall morphology.
Design Constraint
Result
This methodology aims to use the system to create a responsive data design where the particle movement drives the innovation. The particle is controlled by adjusting the amount of force and select type of forces which will influence their direction. The system also allows us to add external data that can be useful when we run it based on the dynamic environment. At the moment, we only focus on creating and introducing this system and shows the possibility of what it can do. 1
Swarm
pattern emergence
RGB’s Swarm Logic
Cohesion
Alignment
The system pattern logic is based on the modified concept of Boid, the artificial life which their movement based on 3 simple rules called swarm chemistry (H. Sayama, 2009). The dierent in swarm chemistry is instead of assign each parameter of a particle with the same value. We assign their parameter value based on their type (in this case Red, Green and Blue types). This, in itself, allows us to generate 3 times the amount of interaction compares to the simple Boid system. 3
Seperation
The Cell R Alignment : 0.95 Cohesion : 70.63 Seperation : 3.2 Steering : 0.3 Pace : 0.35 G Alignment : 0.75 Cohesion : 53.63 Seperation : 2.9 Steering : 0.5 Pace : 0.3 B
THE CELL It is the original design taken from the swarm chemistry parameter presented in H. Sayama’s paper. By putting this in a 3-dimensional space in Houdini, It shows an interesting pattern where Red particle is surrounding by Green and Blue particle in a sphere-like shape. The parameter value is cohesion oriented, which allows the particles to hold themselves together.
Alignment : 0.65 Cohesion : 63.63 Seperation : 2.7 Steering : 0.2 Pace : 0.25
4
The Wave R Alignment : 0.60 Cohesion : 0.47 Seperation : 61.43 Steering : 0.02 Pace : 0.21 G Alignment : 0.13 Cohesion : 0.39 Seperation : 12.96 Steering : 0.48 Pace : 0.80
THE WAVE By adjusting the parameter more separation oriented, we can get a wave-like pattern surrounding Red and Blue particles.
B Alignment : 0.64 Cohesion : 0.70 Seperation : 28.39 Steering : 0.30 Pace : 0.80
7
The Ring R Alignment : 0.44 Cohesion : 0.65 Seperation : 6.23 Steering : 0.19 Pace : 0.68 G Alignment : 0.18 Cohesion : 0.25 Seperation : 0.36 Steering : 0.47 Pace : 0.72
THE RING Similar to the previous pattern but with faster and more dramatic eect, create a ring-like shape. The blue particle moved away in the explode-like fashion because of the noticeable high value while the other types have an identical value between 3 main parameters.
B Alignment : 0.17 Cohesion : 0.23 Seperation : 98.69 Steering : 0.03 Pace : 0.29
10
Game of Life my version
In this universe of this Game of life, the rules only applied to what I called baby agent except for the reproduction rules which only apply to the other types of particle. The baby agent is the particle byproduct of the reproduction rule. These agents are attracted to the target point, which we can use to manipulate swarm behaviour indirectly. The benefit of doing it this way allows us to use our design as another factor which can alter the swarm behaviour without actually changing the original swarm code. 14
RGB’s Rules Reproduction
Baby Agent’s Rules Move towards target Add Baby Agent
Overpopulation
Target
Transformation
Delete point
Underpopulation
Target
Attraction
Delete point
15
Simulation Create a multiple target points
Target
Select or create a point randomly as a target point. Target
Emit particles
Target
The total amount of particles are divided equally into each type.
Target
Run a simulation
Target
The density of RGB particles at the spawning point force them to reproduce.
Target
Target
The RGB’s kinetic force of swarm algorithm moves a particle to form a pattern. Once a baby agent finally reaches the target, they randomly change into one of the RGB particle types and leave the trace behind.
Target
Target
The traces which baby agents left behind, attract RGB particles toward them.
Target
16
The image sequences show that the algorithm is working as expected. However, the original pattern's cohesion had a hard time to hold itself together when the other force influenced and disrupt the particles, such as a pull force from the trace left by a baby agent. Nonetheless, these additional forces influence the particle because they also create a new exciting pattern. And more importantly, these patterns are also influenced by us, who indirectly manipulate their behaviour to archive our need.
Game of Life logic enables us to have control over particle population density around the target point. By adjusting the distance between each target point, we can control how particle pattern forms and dictate where the particle should go. On the left, the system without appoints any target. On the right, we assigned 4 points at each corner of the box as the target point. It is worth noting that the system is shown here also has a physic system integrated, which we will explain later.
Physic System & external force
The integration of Houdini's physic system opens the room for introducing external data and forces. Using Flipsolver within Houdini to simulate particles, we are simulating a collision between individual particle and additional random directional force, which pushes the particles to move more actively. The system allows us to stacks additional force indefinitely (as long as your computer can keep up with it). This is where we can add other external data and force in the future. 32
Particle fluid by assigning particle as a fluid particle allows each particle to be aware of the particles’ velocity nearby and influenced by it. On the top, the particle moves away from each other, mainly from the initial force from the swarm algorithm. In the middle, The overall interaction between the kinetic force from the swarm algorithm and additional force from the physic system started to take shape in the middle. On the bottom, The particle movement gradually slows down, and hold its shape together. It is worth noting that the box in the middle doesn’t influence the particles’ movement but serves as an obstacle in this environment.
34
Particle collision at the top left of the image, we can see a result of the crash between each particle. The collision increases the amount of force interaction and creates a chain reaction to the particle nearby, which influences a particle movement in the whole system. On the top, this picture shows attempts to use it as a design tool by simulating a bookshelf as an example which will be explained in the next chapter.
35
Design Sample
possible application
Design Sample Simple bookshelf
Design Constraint (Book dimension: 30 x 30 x 5 cm)
Create a boundary
Book slot which can hold up to 10 books in each one.
The boundary can be any size as long as it is larger than a particle emitting area, and has a room for the particles to move.
Create a bookslots
Use the book slots as an obstruction for the particle to avoid colliding with them.
Assign initial particle emitting area
Adding the particle within the boundary to run the simulation.
Custom bookshelf
By removing the book slots randomly, and expand the boundary size. It allows the particles to move more freely within the boundary.
37
By slightly reduce the intensity of external directional force, the particle spreading ability is less dramatic.
Adjustment Control
Showcase for further developmet
Particle Density Adjustment In this picture, you can see that most of the particles gather mainly around the centre book slot because the initial emitting area is also in the centre.
Particle Density Adjustment By adjusts the pulling force towards the pre-assigned target point, we can direct the particles’ direction toward the area where it may need reinforcement. On the top, the particle with the target point’s pulling force of multiplied by 2. In the middle, the particle with the target point’s pulling force of multiplied by 5. On the bottom, the particle with the target point’s pulling force of multiplied by 10. The level of density per area is controlling by the multiplier. The higher number means the increase in the number of particles gathers around the target point. Noted: The target point in these scenarios is on each corner and middle point at each book slot’s top and bottom.
47
Particle Density Multiplier: 2
Particle Density Multiplier: 5
Particle Density Multiplier: 10
Gas Particle Seperation Adjustment In this picture, you can see that most of the particles gather starts to spread out more evenly throughout the entire surface.
Particle Seperation Adjustment By adjusting the density multiplier, we can increase the number of particles per area. However, it reduces the number of particles in other areas dramatically, and the particles have a hard time filling up space. We can adjust this parameter value to change the minimum space value between each particle to help the system fill up space. By increasing the distance between each particle force the particles to spread more evenly. It is worth noting that the adjustment using this method may interfere with the original pattern generated by swarm algorithm.
56
Particle Density Multiplier: 2
Particle Density Multiplier: 5
Particle Density Multiplier: 10
Discussion
The system still has a lot to explore from pattern generating to finely adjustment for future application. The number of adjustment allows the system to create the countless number of morphology which is still unknown. It is crucial to implement external data to create a dynamic system that needs further exploration in the future. Since the system only uses pseudo data such as noise to drive the pattern as an additional directional force. The system's development only shows what the system has the potential to do and what it can oers. Which we are looking forwards to use it on a suitable application in the future.
63
CITATIONS Reynolds, C. W. (1999) Steering Behaviors For Autonomous Characters, in the proceedings of Game Developers Conference 1999 held in San Jose, California. Miller Freeman Game Group, San Francisco, California. Pages 763-782. Schmickl, T. et al. How a life-like system emerges from a simplistic particle motion law. Sci. Rep. 6, 37969; doi: 10.1038/srep37969 (2016). H. Sayama. Swarm Chemistry. https://doi.org/10.1162/artl.2009.15.1.15107 (2009) Gardner, Martin (October 1970). "Mathematical Games - The Fantastic Combinations of John Conway's New Solitaire Game 'Life'". Scientific American (223): 120–123. doi:10.1038/scientificamerican1070-120. CREDITS Supervisions: Javier Ruiz RodrĂguez & Junichiro Horikawa Director: Marcos Cruz Co-director: Brenda Parker
64