Skip to content

Yacon-Studio/awesome-trees-generation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Tree Generation Awesome

A curated list of open source projects, libraries, and tools for digital trees 🌳 — from procedural generation to growth simulation and scientific modeling. This collection spans from simple educational demos to production-ready systems.

Digital forest

Contents


L-Systems (Lindenmayer Systems)

L-Systems are parallel rewriting systems used to model the growth processes of plants using formal grammars.

  • L-Py - An open source Python version of the Lindenmayer Systems. Complete simulation software that mixes L-systems construction with Python high-level modeling language.
  • l-systems - Lindenmayer Systems implementation for modeling plant development and organism morphology.
  • lindenmayer-systems - L-system implementation in Clojure for modeling plant growth processes and morphology.
  • Virtual Botanical Laboratory - Virtual laboratory for exploring plant-like shapes using L-systems from "The Algorithmic Beauty of Plants".
  • l-system-simulator - Graphical simulator for Lindenmayer systems.
  • lindenmayer.py - Python turtle demo implementing Kolam patterns using L-systems.
  • Lindenmayer Sand Table Pattern - JavaScript implementation of space-filling curves using L-systems.
  • godot-procedural-tree-generation - Procedural tree generation using L-Systems in Godot Engine.
  • l-system - Unity project implementing L-systems for realistic procedural tree generation.
  • L-System-Trees - Web application for generating interactive 3D trees using L-systems.

Space Colonization Algorithms

Space colonization algorithms simulate the growth of branching structures by competing for space resources.

  • tree-gen - Parallel C++ tool for procedural tree generation using space colonization algorithm with Yocto/GL.
  • Procedural-Trees - Implementation of the space colonization algorithm to create procedurally generated trees.
  • SpaceColonizationTreeGeneration - 3D tree generation using Space Colonization Algorithm, Generalized Cylinders and B-Splines.
  • procedural_tree_generator - Space colonization algorithm implemented using Yocto/GL for various tree types.
  • Trees - Implementation of the Space Colonization Algorithm in multiple languages.
  • 2d_tree_generation - Simplified 2D implementation of space colonization algorithm for tree generation.
  • SpaceColonisationTree (Unity) - Unity implementation based on "Modeling Trees with a Space Colonization Algorithm" paper.
  • Space-Colonization-Tree - Haskell implementation of the space colonization algorithm with Gloss rendering and configurable parameters.

Weber–Penn Algorithms

Parametric tree generation approaches based on Weber & Penn’s 1995 model.

  • Arbaro - Java implementation of Weber & Penn with POV-Ray output and XML parameters.
  • weberpenn - Python implementation of the Weber & Penn model integrated with OpenAlea.
  • TreeSketchNet - Deep neural network for generating 3D meshes from sketches using Weber & Penn parameters.

Machine Learning and AI Approaches

AI and machine learning methods for tree generation, including neural networks and deep learning approaches.

  • EvoEngine - Self-organizing trees implementation using C++20 and OpenGL 4.6, based on neural network approaches based on Purdue University's DeepTree publication.

Particle Systems

Approaches based on particle transport and natural phenomena for simulating plant structures.

  • trees - Tree growth simulation and visualization using openFrameworks with 3D rendering and GUI.

Fractal-Based Generation

Tree generation using fractal geometry and recursive algorithms.

Game Development Tools

Tree generation tools specifically designed for game engines and interactive applications.

  • unity-procedural-tree - Procedural tree builder for Unity Engine.
  • gdTree3D - Plugin for procedural generation of 3D trees for Godot Engine.
  • ez-tree - Procedural tree generator written in JavaScript and Three.js with dozens of tunable parameters.
  • tree-gen - Blender plugin for procedural tree modeling based on Weber & Penn principles.
  • tree-simulation - Tree growth simulation in C++ with OpenGL rendering.
  • proctree - High-performance procedural 3D tree mesh generator in C++.

3D Modeling and Visualization

Tools for creating 3D tree models and visualizations.

Libraries and Frameworks

Libraries and frameworks for generating synthetic tree data and forest growth simulations.

  • SimpleSynthTree - Python library for generating synthetic point clouds of trees for deep learning training.
  • ForestVegetationSimulator - Family of forest growth simulation models maintained by the USDA Forest Service.
  • PlantSimEngine.jl - Scientific Julia framework for advanced plant growth simulation and ecosystem interactions (FSPM).
  • Helios - C++ library for plant simulation and modeling.
  • ngPlant - Open source plant modeling tool focused on parametric tree design.

Educational and Beginner Projects

Simple implementations perfect for learning tree generation concepts.

  • lsystems - Simple L-systems implementation in Python for educational purposes.

ASCII and 2D Generation

Text-based and 2D tree generation tools.

  • PyBonsai - Generate procedural ASCII art trees in the terminal.

Contributing

Contributions are welcome. Please read the contribution guidelines first.
All suggestions must follow the awesome manifesto.


License

CC0
Released under Creative Commons Zero.