Skip to content

Repository files navigation

Simple Mesh and Half Edge Data Structure Python Library

Table of Contents

Introduction

This project provides an implementation of Simple Mesh and Half Edge data structures in Python. It includes tools for algorithms and data visualization and benchmarking.

Project realized by:

image

Installation

To install the necessary dependencies, run:

pip install -r requirements.txt

Interactive app usage

The interactive app can be launched by running:

streamlit run app.py

in the root directory of the project.

Visualization

Visualizations can be generated by running the cells in main.ipynb.

All of the data generated is saved inside the data/results directory.

Example Simple Mesh Data Structure algorithms Visualization

  • OP1 - vertex neigborhood: Shows the algorithm steps of finding the neigborhood of a vertex.

output

  • OP2 - triangle neigborhood: Shows the algorithm steps of finding the neigborhood of a triangle.

output

  • OP3 - triangle containing a point: Shows the algorithm steps of finding the triangle containing a point.

output

Example Half Edge Data Structure algorithms Visualization

  • OP1 - vertex neigborhood: Shows the algorithm steps of finding the neigborhood of a vertex.

output

  • OP2 - triangle neigborhood: Shows the algorithm steps of finding the neigborhood of a triangle.

output

  • OP3 - triangle containing a point: Shows the algorithm steps of finding the triangle containing a point.

output

Benchmarking

Benchmarks can be generated by running the cells in benchmark.ipynb.

All of the data generated is saved inside the data/results directory.

Example Benchmarks

output

Documentation

The project includes detailed documentation in the form of PDF files (in Polish):

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Python library for representing, processing, and storing triangular meshes on the plane. Implements both Simple Mesh and Half-Edge data structures.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages