This is a Python application that simulates wave propagation through different mediums using a modern GUI built with customtkinter and matplotlib. The application visualizes how waves behave in various mediums, such as air, water, steel, earth, glass, and rubber.
- Interactive GUI: A user-friendly interface with a modern look and feel, thanks to
customtkinter. - Multiple Mediums: Simulate wave propagation in six different mediums: Air, Water, Steel, Earth, Glass, and Rubber.
- Custom Medium: Adjust the parameters for wavelenght, frequency , speed and medium length to check the graph in real time based on the adjusted parameters.
- Real-Time Animation: Visualize wave behavior in real-time as you switch between different mediums using a sleek dropdown menu.
- Customizable Appearance: The application offers a customizable theme that adapts to your system's appearance settings.
- Python 3.0 or later
customtkintermatplotlibnumpy
-
Clone this repository:
git clone https://github.com/pranavraj1720/waves-propagation-matplotlib.git cd waves-propagation-matplotlib -
Install the required Python packages:
pip install customtkinter matplotlib numpy
-
Run the application:
python main.py
- Run the script using Python.
- A window will open displaying the wave propagation graph.
- Use the dropdown menu located at the top-right corner to select the medium through which you want to simulate wave propagation.
- The graph will update in real-time to reflect the wave behavior in the selected medium or in custom.
If you'd like to contribute, feel free to fork the repository and submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
