Aggregate dynamics for dense crowd simulation
https://github.com/kolkol69/crowd-simulation
To start simply open the .html file
As for now there is limit to 100 agents. Once you lower the limit to, for example, 60, the rest 40 (100-60=40) will become obstacles; So you dont need to place them manually for now, and they are randomly allocated. To make agents look more like a crowd without grouping set Neighbour Radius smaller than Minimal Distance.
- Update - updates data without refreshing the scene; Can be used to lower the amount of moving agents or to give them new settings without repainting. The one which are not moving are now considered as obstacles; The previous agents' trajectory and speed remain the same;
- Repaint - repaints the whole scene, resets all the settings to the one which are set in the side panel;
- Agents - defines how many agents are present on the field. If changed with:
- "Update" button, then amount of only moving agents is being changed.
- "Repaint" button, then the whole scene is being rerendered with new Agents in previously defined amount.
- Neighbour Radius - defines if the Agent A is considered as a neighbour to B, the bigger is radius the more neighbour Agents appear for Agent A.
- Observable Degree - defines the observable degree for an Agent ("How much does Agent see").
- Minimal Distance - defines the minimal distance between Agent and a Obstacle\Other Agents.
- Weight Neighbour Velocity - defines how much the agent's nieghbour's speed affects his own.
- Weight Neighbour Distance - the less is this value the more agents will try to make groups, but also the whole system apears to be more smooth to the end user. Agents are not moving too fast if they try to exit their group, but it affects their chances of success.
- Weight Minimal Distance - is used to define agent behavior if two (or more) agents are too close to each other.
- Weight Perturbation - perturbation is added to make Agents' moving around look more chaotic. If an agent is in a group with other agents, this value defines how likely he will exit it. The more the values is, the more likely he will try to escape from the froup.
- Max Velocity - defines agents' maximum possible speed.
- Speed to target - defines the speed of the agents which have target.
- Time to achive targets - sets timer's time, so each 3000ms(default) some agents might want to move towards the target. The rest time agents are moving rather chaotically.
- Chances to achive targets - defines how likely bigger amount of agents will group near defined target.