In the context of this model, pheromone concentration refers to a three dimensional rgb value held by each node in the network. This value is under constant modification as nodes participate in ongoing pheromone diffusion by pulling their own concentration towards that of their immediate neighbors. Through diffusion, pheromones propagate through space acting as a communication medium amongst a population of agents.
Similarly, a pheromone target is a three dimensional rgb value held by each agent that informs which node an agent decides to occupy or release at each step. If an agent hasn't reached its spatial quota, it evaluates all unoccupied nodes that lie adjacent to its current territory by comparing their pheromone concentration to its own pheromone target. The node with smallest deviation is then chosen. If an agent already has enough nodes, it evaluates each node it has accumulated in the same way before releasing the one with the largest pheromone deviation.
Below is a look at two distinct families of agents in action. One family has pheromone targets in the cyan range while the other prefers concentrations in the magenta range. Adjacencies form within each family but the two remain distinctly separate, occupying opposite corners of the bounding volume.
The next video introduces pheromone sources as a means of templating external influences. Nodes along opposite faces of the bounding volume pull their own pheromone concentration towards white and black respectively. The gradient produced could represent the transition from public to private as imposed by a hypothetical context for example.
The final video below elaborates further on this idea of templating external influences by removing certain nodes from the network through volumetric masking. Agents are thus constrained to a subset of the total volume as they develop their territories.
Platforms: Eclipse, Processing
Hello Dave,
ReplyDeleteReally good code,
i am working on something so similar and facing difficulties to achieve this result, it's gonna be nice if u can send me the processing script, if u don't have any problem,
So i can use it to fix my script with adding a proper reference to your work for sure,
Thanks in advance,
Nasr Chamma [nasr.chamma@iaac.net]
Thanks Nasr.
ReplyDeleteThe code isn't particularly well commented in its current state so I can't imagine it being terribly useful for learning purposes.
If there's a particular problem your having though I'd be happy to help out as best I can. Feel free to send an email.
Dave
Thanks for your reply Dave,
ReplyDeleteSorry just have seen that after long time.
Anyway, we managed out to get a good result,
Here's the project in case you would like to see it,
http://icarchitect.com/projects/the-endless-city/
Thanks again and all the best,