Iteractive web-based visualization tool for exploring set-valued dynamical systems with bounded noise, developed as part of the Advanced Computing Project (ACP2) research course at the University of Oulu.
In classical analysis, a single-valued function (or simply a function)
In contrast, a set-valued function (or multivalued map)
Rather than tracking every possible point within the noise ball
| Feature | Status | Description |
|---|---|---|
| Algorithm 1 Implementation | ✅ Done | Core boundary tracking with normal vector transformation |
| Interactive 2D Visualization | ✅ Done | Real-time rendering with Three.js (mapped points, noise circles, boundaries) |
| Step-by-Step Execution | ✅ Done | Detailed iteration-by-iteration inspection mode |
| Batch Execution | ✅ Done | Automatic iteration until convergence ("Run Full" mode) |
| Divergence Detection | ✅ Done | Monitors escaping points and halts when >50% diverge |
| Real-Time Parameter Control | ✅ Done | Interactive sliders for |
| Multi-Mode Visualization | ✅ Done | Toggle between all elements, mapped points only, noise circles only, etc. |
| Hausdorff Distance | 🔄 Planned | Rigorous convergence assessment using |
| Bifurcation Visualization | 🔄 Planned | Detect and visualize topological and boundary bifurcations |
| Color-Coded Orbits | 🔄 Planned | Distinguish fixed points, periodic points, and singular points |
| Export Functionality | 🔄 Planned | PNG screenshots, CSV data export, MP4 animations |
| Parameter Space Exploration | 🔄 Planned | Visual indicators for bifurcation regions in |
git clone <repository-url>
cd set-valued-viz# Build the Rust code to WebAssembly
wasm-pack build --target web --out-dir pkgThis creates the WebAssembly module in the pkg/ directory.
cd frontend
npm install# Copy WebAssembly files to the frontend source
npm run build-wasmAlternative: Manual copy if the npm script doesn't work:
cp -r ../pkg/* src/pkg/npm run dev
