{"id":16717833,"url":"https://github.com/xoolive/quadtree","last_synced_at":"2026-03-15T03:12:20.680Z","repository":{"id":23882779,"uuid":"27261913","full_name":"xoolive/quadtree","owner":"xoolive","description":"Quadtrees – iterate on pairs of neighbours","archived":false,"fork":false,"pushed_at":"2018-05-20T22:03:04.000Z","size":236,"stargazers_count":8,"open_issues_count":2,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-24T07:57:07.655Z","etag":null,"topics":["c-plus-plus","python","quadtree","simulation"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xoolive.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-28T10:16:24.000Z","updated_at":"2022-08-14T05:43:35.000Z","dependencies_parsed_at":"2022-08-20T02:31:36.418Z","dependency_job_id":null,"html_url":"https://github.com/xoolive/quadtree","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fquadtree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fquadtree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fquadtree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoolive%2Fquadtree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xoolive","download_url":"https://codeload.github.com/xoolive/quadtree/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248180702,"owners_count":21060882,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-plus-plus","python","quadtree","simulation"],"created_at":"2024-10-12T21:34:07.891Z","updated_at":"2026-03-15T03:12:15.620Z","avatar_url":"https://github.com/xoolive.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quadtrees iterating on pairs of neighbours\n\nImplementation of a smart version of quadtrees specialised in tracking distance\nbetween moving objects.\n\n## Python interface\n\n### Installation\n\nRecommended installation procedure :\n- `virtualenv` (optional, but a good idea nonetheless):\n```\n virtualenv quadtree_test\n source quadtree_test/bin/activate\n```\n- installation:\n```\npip install smartquadtree\n```\n\nIf no version is available, you can compile your own:\n```\npip install git+git://github.com/xoolive/quadtree\n```\n\n### Usage\n\n```python\nimport smartquadtree\n```\n\nYou can refer to the `tutorial.iypnb` file for an introduction to the\npossibilities of the package. If you are not familiar with the iPython\nnotebook, you can also access to a static version on [PyPI](https://pypi.python.org/pypi/smartquadtree)\n\n## C++ library\n\n### Installation\n\nYou can use CMake to build the C++ library.\n\nThe minimal installation is obtained by setting the `BUILD_TESTS`\noption to `OFF`. If you keep the `BUILD_TESTS` option `ON`, you will\nneed to have OpenGL and GLUT installed. `freeglut` is a valid\nimplementation for the current example.\n\nIf you try the library in a virtual machine, **do** set the `RUN_IN_VM`\noption to `ON`.\n\nYou can try the application by launching `make run`. The simulation is\nmade of elements moving in a map. A red line is drawn between elements\ncloser than a preset threshold. At the beginning of the simulation, all\nelements inside a predefined shape are painted in green.\n\nYou can then:\n - zoom in/out with `+`/`-`;\n - move left/down/up/right with the standard vim movement keys: `h`, `j`, `k`, `l`;\n - press `g` to repaint elements inside the original shape in green. \n\n### Usage\n\nA good way to learn how to use the library would be to have a look at\nfile `tests/test_simu.cpp`.\n\nFor a more basic introduction, it is recommended to start with the\nPython interface, its documentation, and the `tutorial.ipynb` file that\nyou can also view \n[here](http://nbviewer.ipython.org/github/xoolive/quadtree/blob/master/tutorial.ipynb).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxoolive%2Fquadtree","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxoolive%2Fquadtree","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxoolive%2Fquadtree/lists"}