Skip to content

hs-xyz/fractal-visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fractal Visualizer

A modern 3D fractal visualizer built with Three.js featuring advanced shader-based fractals mapped onto various geometric shapes.

Features

  • Advanced Fractal Shaders: High-quality implementations of Mandelbrot, Julia, Burning Ship, and Tricorn fractals
  • 3D Geometry Mapping: Fractals rendered on spheres, torus, planes, icosahedrons, and more
  • Real-time Animation: Smooth time-based animations with customizable speed
  • Interactive Controls: Mouse and keyboard navigation with zoom and rotation
  • Dynamic Coloring: HSV-based coloring with smooth transitions and lighting effects
  • Modern Architecture: Clean ES6+ modules with functional programming style

Fractal Types

Mandelbrot Set

The classic fractal with dynamic perturbations and time-based movement.

Julia Set

Animated Julia sets with time-varying parameters for organic motion.

Burning Ship

The burning ship fractal with absolute value modifications creating unique patterns.

Tricorn

The tricorn fractal with conjugate operations for distinctive mathematical beauty.

Controls

UI Controls

  • Fractal Type: Select different fractal algorithms
  • Geometry: Choose the 3D shape for fractal mapping
  • Animation Speed: Control the speed of time-based animations
  • Zoom: Adjust the fractal zoom level

Mouse Controls

  • Click & Drag: Rotate the 3D object
  • Mouse Wheel: Zoom in/out

Keyboard Controls

  • WASD/Arrow Keys: Move camera position
  • +/-: Zoom in/out
  • R: Reset camera to default position

Technical Features

  • WebGL fragment shaders for high-performance fractal computation
  • Smooth iteration counting with escape time algorithms
  • Advanced HSV color space transitions
  • Fresnel and rim lighting effects
  • Vertex displacement for surface animation
  • Optimized geometry with appropriate tessellation

Development

npm install
npm run dev

Open your browser to the local development server URL to view the fractal visualizer.

Architecture

  • src/main.js: Main application class and Three.js setup
  • src/materials/: Shader materials and fractal implementations
  • src/shaders/: GLSL vertex and fragment shaders
  • src/geometry/: 3D geometry factory
  • src/controls/: User input handling and camera controls

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published