Skip to content

Yuukidiv/chaos_systems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Strange Attractors

Interactive 3D visualization of chaotic systems and strange attractors using Three.js.

TypeScript Three.js Vite

Features

  • 8 Strange Attractors: Lorenz, Thomas, Dadras, Rössler, Aizawa, Chen, Halvorsen, Sprott
  • Real-time 3D Rendering: GPU-accelerated particle system with trails
  • Interactive Controls: Rotate, zoom, pan with OrbitControls
  • Live Parameter Tuning: Adjust attractor parameters in real-time
  • LaTeX Equations: Beautiful mathematical equations rendered with KaTeX
  • Customizable Visuals: Colors, particle count, trail length, speed

📁 Project Structure

strange-attractors/
├── index.html           # Entry HTML with KaTeX CDN
├── package.json         # Dependencies and scripts
├── tsconfig.json        # TypeScript configuration
├── vite.config.ts       # Vite dev server config
└── src/
    ├── main.ts          # App entry, Three.js scene, UI controls
    ├── attractors.ts    # 8 attractor definitions with equations
    ├── particleSystem.ts # GPU particle renderer with trails
    ├── style.css        # Dark theme with glassmorphism
    └── vite-env.d.ts    # Type declarations

Getting Started

Prerequisites

  • Node.js 18+ (recommended: 20.x)
  • npm or pnpm

Installation

# Clone the repository
git clone <repo url>
cd strange-attractors

# Install dependencies
npm install

# Start development server
npm run dev

Open http://localhost:xxxx in your browser.

Production Build

npm run build
npm run preview

Controls

Action Control
Rotate Left-click + drag
Zoom Scroll wheel
Pan Right-click + drag
Select attractor Type dropdown
Adjust parameters Sliders

Attractors

Attractor Year Description
Lorenz 1963 The classic butterfly - atmospheric convection
Thomas 1999 Cyclically symmetric biological system
Dadras 2010 Multi-scroll chaotic system
Rössler 1976 Simplest continuous chaotic system
Aizawa - Toroidal spiral vortex
Chen 1999 Double-scroll pattern
Halvorsen - Three intertwined spirals
Sprott 1994 Auto-discovered minimal system

Tech Stack

  • Three.js - 3D rendering and WebGL
  • Vite - Fast development server and bundler
  • TypeScript - Type-safe JavaScript
  • lil-gui - Lightweight GUI controls
  • KaTeX - Fast LaTeX rendering

📄 License

MIT License - feel free to use this project for learning and experimentation.

About

A web application for visualizing strange attractors

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors