Door optimization for floor plan or map generation using Navmesh. Place doors based on human traffic flow and shortest path.
- PythonCDT : for generating constrained delaunay triangulation mesh
git clone --recurse-submodules https://github.com/WvXY/DoorPlacementOptimization.git
cd DoorPlacementOptimization
python -m venv .venv
.venv\Scripts\activate
# source .venv/bin/activate # Linux/MacOS
pip install numpy matplotlib
pip install PythonCDT/
cd DoorPlacementOptimization
conda create -n mProj python=3.12 numpy matplotlib
conda activate mProj
pip install PythonCDT/
- Fix navmesh
- Generate constraint mesh
- Mesh tweaking functions
- Door optimizer
- Optimize and test
- Refactor and improve performance
- Logger is not working on windows
- Cuts on 2 edges of the same triangle may broke the geometry.
g_xxx
: Geometryf_xxx
: Floor plan relateds_xxx
: ECS System and relatedo_xxx
: Optimizationu_xxx
: Utility functionst_xxx
: Test/unit teste_xxx
: Experiment