The Spherical Harmonics project is designed to study the mode shapes and behavior of 3D spherical shells using the Legendre Polynomial Mode Shape Method. This project uses modern OpenGL (GLSL) to render the sphere and visualize various spherical harmonic mode shapes in real time, allowing users to explore the behavior of spherical shells with ease.
- Solve Spherical Harmonics: Compute spherical harmonic modes for thin 3D shells.
- Mode Shape Visualization: Visualize the mode shapes in a 3D interactive interface.
- Pulse Loading Response (WIP): Analyze the 3D shell's response to pulse loading (currently in progress).
- Efficient Rendering: The project uses OpenGL for fast and efficient rendering of spherical modes.
The user interface offers various control options for easy interaction:
- Pan: Hold
Ctrl
and right-click drag to pan. - Rotate: Hold
Ctrl
and left-click drag to rotate. - Zoom In/Out: Hold
Ctrl
and scroll the mouse wheel to zoom. - Zoom Fit: Press
Ctrl + F
to fit the view to the screen. - Selection: Hold
Shift
and left drag to select objects. - Deselection: Hold
Shift
and right drag to deselect objects.
These controls allow smooth interaction with the 3D visualizations.
The following are some mode shape visualizations generated by the project:
Mode Number | Visualization |
---|---|
Mode 6 | |
Mode 9 | |
Mode 11 | |
Mode 12 | |
Mode 41 | |
Mode 70 |
Ensure you have the following libraries installed:
- OpenGL
- GLEW
- GLFW (or another windowing library)
- ImGui (for the graphical user interface)
-
Download the Portable Version:
Go to the Releases page to download the portable version of the project. -
Clone or Download the Repository:
To clone the repository, use the following command:git clone https://github.com/Samson-Mano/Spherical_harmonics.git
Alternatively, download the repository as a zip file.
-
Open the Project in Your IDE: Open the solution file in your preferred C++ IDE (e.g., Visual Studio, CLion).
-
Include Necessary Libraries: Ensure the following libraries are correctly linked in your project environment: OpenGL (with GLEW/GLFW) ImGui
-
Build and Run the Project: After setting up the libraries and environment, build the project to generate the executable. Once built, you can run the application to explore the spherical harmonic mode shapes.
This project is open for contributions, and there are several areas where improvements can be made:
- Transparency Issue: The current transparency routine for the contour plots is not functioning properly, resulting in fully opaque visualizations. Contributions are welcome to improve this feature.
- Pulse Loading Analysis: The feature to evaluate the response of the spherical shell to pulse loading is a work in progress.
- Fork the repository and submit a pull request.
- Open an issue to report bugs or suggest features.
This project is licensed under the MIT License. See the LICENSE file for more details.
Thank you for using the Spherical Harmonics project! Hope this tool helps you explore and understand spherical harmonic mode shapes and their applications.