Skip to content

WvXY/DoorPlacementOptimization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Door Placement Optimization

Introduction

Door optimization for floor plan or map generation using Navmesh. Place doors based on human traffic flow and shortest path.

Dependencies

  • PythonCDT : for generating constrained delaunay triangulation mesh

Usage

Clone this repo

git clone --recurse-submodules https://github.com/WvXY/DoorPlacementOptimization.git

PIP

cd DoorPlacementOptimization
python -m venv .venv
.venv\Scripts\activate 
# source .venv/bin/activate # Linux/MacOS
pip install numpy matplotlib
pip install PythonCDT/

Conda Environment

cd DoorPlacementOptimization
conda create -n mProj python=3.12 numpy matplotlib
conda activate mProj 
pip install PythonCDT/

Progress

  • Fix navmesh
  • Generate constraint mesh
  • Mesh tweaking functions
  • Door optimizer
  • Optimize and test
  • Refactor and improve performance

Bugs

  • Logger is not working on windows
  • Cuts on 2 edges of the same triangle may broke the geometry.

Notes

Naming Conventions

  • g_xxx: Geometry
  • f_xxx: Floor plan related
  • s_xxx: ECS System and related
  • o_xxx: Optimization
  • u_xxx: Utility functions
  • t_xxx: Test/unit test
  • e_xxx: Experiment

About

Master Thesis Project

Resources

Stars

Watchers

Forks

Languages