Skip to content

Part VI: Interactive Applications

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

This section provides access to interactive tools and demonstrations for exploring fractal mathematics and self-affine patterns. The applications are implemented in two frameworks:

  • React Applications: High-performance web applications with GPU-accelerated visualization
  • Streamlit Applications: Python-based interactive tools for scientific exploration

Available Tools

Fractal Visualizations

Application Framework Description
Mandelbrot Explorer React Interactive Mandelbrot set visualization with zoom and parameter controls
Julia Set Explorer React Real-time Julia set rendering with adjustable complex parameter
DLA Simulator React Diffusion Limited Aggregation growth simulation
Barnsley Fern React IFS-based fern generation

Tree and Branching Architectures

Application Framework Description
Pythagoras Tree React Self-similar tree with adjustable branching angle
L-System Trees React Lindenmayer system-based tree generation
3D Tree/Root Visualization React Three-dimensional branching network visualization

3D Simulation & Rendering

Application Framework Description
Blender DLA Blender/Python 3D DLA simulation with Geometry Nodes and Cycles rendering

Analysis Tools

Application Framework Description
Differential Box-Counting Python Calculate fractal dimensions of grayscale images
Noise Generators React 1/f noise and fractional Brownian motion

Mathematical Visualizations

Application Framework Description
Riemann Zeta 2D React 2D visualization of the Riemann zeta function
Riemann Zeta 3D React 3D surface plot of zeta function magnitude

Quick Start

Running React Applications

The React applications are deployed and accessible online:

Launch Interactive Apps

Or run locally:

cd react
npm ci
npm start

Running Streamlit Applications

cd apps
pip install -r requirements.txt
streamlit run mandelbrot.py

Technical Requirements

For React Applications

  • Modern web browser with WebGL support
  • JavaScript enabled
  • Recommended: Chrome, Firefox, or Safari

For Python Applications

  • Python 3.8+
  • NumPy, SciPy, Matplotlib, Plotly
  • Streamlit (for interactive apps)
  • See Installation Guide for full setup

Application Architecture

graph TB
    subgraph React["React Applications"]
        R1[Mandelbrot/Julia] --> WebGL
        R2[DLA/Trees] --> Canvas2D
        R3[Zeta Functions] --> Plotly
    end

    subgraph Python["Python Applications"]
        P1[Streamlit Apps] --> Matplotlib
        P1 --> Plotly
        P2[Jupyter Notebooks] --> NumPy
    end

    subgraph Blender["Blender Applications"]
        B1[DLA Simulation] --> GeometryNodes
        B2[Cycles Rendering] --> GPU2[GPU Rendering]
    end

    WebGL --> GPU[GPU Acceleration]
    Canvas2D --> CPU[CPU Rendering]
    GeometryNodes --> GPU2

Contributing

To add new applications or improve existing ones:

  1. React apps: Add new pages to react/src/pages/
  2. Streamlit apps: Add new .py files to apps/
  3. Follow the existing code patterns for consistency
  4. Include documentation in this section