Code Monkey home page Code Monkey logo

crowdmovmentsimulation's Introduction

CrowdMovmentSimulation

Simple real-time agent-based simulation of crowd movement. ScreenShot

Implemented models:

  • Discrete preprocessed shortest path agent movement
  • Discrete gradient based agent movement

What do you need?

  • System supporting OpenGL (Almost any nowadays)
  • Python interpreter

Getting Started

  1. Clone repository to your machine

    git clone repository_url

  2. Install required python packages

    pip install -r requirements.txt

  3. You should be ready to go now! run gradient_main.py from project root (Linux)

    ./gradient_main.py

Project Goal

The goal of the project was to showcase and test different methods of crowd simulation. We wanted to implement few different methods, compare one to another and at the end compare them with real-world crowd behavior.

Result

  • Now there are two different discrete simulation methods implemented, presenting a different approach to the subject.
  • Both methods are really quick.
  • Gradient-based model gave much more believable results as far as the agent behavior goes.
  • Worth noting is model parameters have a huge impact on simulation results.

Future

The project is in constant development. We plan to:

  • Do more testing with different parameters
  • Improve the presentation aspects
  • Optimize simulations and visualization speed
  • Add GUI with tools for easier testing
  • Add map creator
  • Add different simulation models (We are especially interested in adding a continuous model)

New map generating

If you want to generate your own map do it by using model.environment.environment.direction_map function. Our example can be found in resources.create_map_100x100. (For map greater than 100x100 it takes a while, so don't worry, it works)

Built Using

  • PyOpenGL
  • NumPy
  • glfw

Authors

License

Acknowledgments

  • A Cellular Automaton Model for Crowd Movement and Egress Simulation (Hubert Ludwig Klüpfel)

  • A Simple and Realistic Pedestrian Model for Crowd Simulation and Application (Wonho Kang and Youngnam Han )

  • Simulation of Pedestrian Crowds in Normal and Evacuation Situations (Dirk Helbing , Illes J. Farkas , Peter Molnar , and Tamas Vicsek )

  • Directing Crowd Simulations Using Navigation Fields (Sachin Patil,Jur van den Berg,Sean Curtis,Ming Lin,Dinesh Manocha)

crowdmovmentsimulation's People

Contributors

mblasiak avatar piotrkedra avatar piturzasty avatar

Stargazers

 avatar

Watchers

 avatar

crowdmovmentsimulation's Issues

License ?

Hello, under what license is this project released under ? Thank-you.

BasicDotDisplay

Simple dispay methods for movment enviroment people and obstacles

Loading directions from file

As calculating direction_map for only one point takes few seconds, maybe we can just store them in a file.
Testing would be quicker and easier.
Only problem is that any changes in implementation of path_searching algorithm should force new paths calculation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.