topoGenesis

An open-source python package, funded by passion, 2020-current

Team: Ir. S. Azadi, Dr.ir. P. Nourian

Note: The software is provided “AS IS”, without warranty of any kind.

topoGenesis is an open-source python package that provides topological structures and functions for Generative Systems and Sciences for various application areas such as:

  • generative design in architecture and built environment
  • generative spatial simulations
  • 3D image processing
  • topological data analysis
  • machine learning

topoGenesis

aims to utilize the vast functionalities of fields (mathematical objects) in generative systems and sciences. Therefore it seeks to:

  1. offer basic mathematical functionalities on field data models
  2. offer functionalities of computational topology on top of the field structures
  3. facilitate the conversion between mesh-based data models and field data models.
  4. facilitate field simulations, whether governed by differential equations, spectral models or based on computational models (ABM)
  5. construct a bridge between spatial data models and tensor data structures to facilitate the utilization of the latest artificial intelligence models

Contents:

  • Mesh to Field: Rasterization

    • Point Cloud Regularization
    • Line Network Voxelation
    • Mesh Surface Voxelation
    • Signed Distance Field
  • Field to Mesh: Isosurface

    • Boolean Marching Cubes
    • Marching Cubes
    • Surface Nets
  • Local Computation

    • Stencil / Kernels

      • von Neumann neighbourhood
      • Moore neighbourhood
      • Cube neighbourhood
      • Custom neighbourhoods
    • Universal Functions & Mathematical Operators (Numerical)

  • Field Simulations (Vectorized)

    • Dynamic Systems (based on Differential Equations)
    • Agent-Based Modeling
    • Cellular Automata

topoGenesis is compatible with COMPAS - A framework for computational research in architecture and structures

Utilization of topoGenesis in the course Spatial Computing in Architectural Design 3.0!

The entire projects are open-source and documented in this repository.