Skip to content

Fourier Series Visualization #/# Interactive wave harmonics demonstration #/# This interactive visualization demonstrates how Fourier series can approximate complex periodic functions using a sum of simple sine waves. The rotating circles represent different harmonics, and their combined motion traces the resulting waveform.

License

Notifications You must be signed in to change notification settings

hamzakhaliq-404/Fourier-Series-Visualization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

16 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

๐ŸŒŠ Fourier Series Visualization

Live Demo

An interactive visualization of Fourier series harmonics using rotating vectors and wave superposition. Built with cutting-edge web technologies for immersive mathematical exploration.

Project Preview

React TypeScript Tailwind CSS Vite

๐Ÿ“‘ Table of Contents

โœจ Features

๐ŸŒˆ Interactive Controls

  • ๐ŸŽฎ Real-time parameter adjustments
  • ๐ŸŒ Responsive canvas rendering
  • ๐Ÿ–Œ๏ธ Color pickers for visual elements
  • โšก Instant waveform updates

๐Ÿ“ˆ Visualization Tools

  • ๐ŸŒ€ Rotating harmonic circles
  • ๐ŸŒŠ Waveform tracing
  • ๐Ÿ“‰ Real-time graph plotting
  • ๐Ÿ”„ Animation controls (Play/Pause)

๐Ÿงฎ Mathematical Capabilities

  • ๐Ÿ“ Custom formula input (sin(x) + 0.5*sin(3*x))
  • ๐Ÿ”ข Predefined waveform library
  • ๐Ÿงช Math.js integration
  • โ— Error handling for invalid inputs

๐ŸŽจ Design Features

  • ๐ŸŒ‘ Dark mode aesthetics
  • ๐Ÿ’ซ Framer Motion animations
  • ๐Ÿ“ฑ Mobile-responsive layout
  • ๐Ÿ–ผ๏ธ PNG export functionality

๐Ÿš€ Quick Start

Prerequisites

  • Node.js โ‰ฅ16.x
  • npm โ‰ฅ9.x

Installation

# Clone repository
git clone https://github.com/hamzakhaliq-404/Fourier-Series-Visualization.git
cd Fourier-Series-Visualization

# Install dependencies
npm install

# Start development server
npm run dev

Production Build

npm run build
npm run preview

๐Ÿ”ง Customization

Theme Configuration

Modify tailwind.config.js for color schemes:

theme: {
  extend: {
    colors: {
      primary: '#60a5fa',
      secondary: '#3b82f6',
      dark: '#1e293b'
    }
  }
}

Add New Waveforms

Extend predefinedFormulas in App.tsx:

const predefinedFormulas = [
  // Add new entries like:
  {
    name: 'Heart Wave โค๏ธ', 
    formula: 'abs(sin(x)) + sqrt(1 - (x/ฯ€)^2)'
  }
];

๐Ÿงฉ Tech Stack

Category Technologies
Core React, TypeScript, Vite
Styling Tailwind CSS, Framer Motion
Math Math.js, Canvas API
Deployment Vercel, GitHub Actions
Quality ESLint, Prettier, TypeScript Strict Mode

๐Ÿ“š Learning Resources

Fourier Series Concepts

Technical Implementation

๐Ÿค Contributing

We welcome contributions! Please follow these guidelines:

  1. Fork the repository ๐Ÿด
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/AmazingFeature)
  5. Open Pull Request ๐Ÿš€

See our Contribution Guidelines for details.

๐Ÿ“„ License

Distributed under the MIT License. See LICENSE for more information.

๐Ÿ“ฌ Contact

Hamza Khaliq - Portfolio
Email
GitHub


Made with โค๏ธ by Hamza Khaliq | Buy Me a Coffee

About

Fourier Series Visualization #/# Interactive wave harmonics demonstration #/# This interactive visualization demonstrates how Fourier series can approximate complex periodic functions using a sum of simple sine waves. The rotating circles represent different harmonics, and their combined motion traces the resulting waveform.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published