{"id":18777202,"url":"https://github.com/samson-mano/spherical_harmonics","last_synced_at":"2026-04-29T22:32:17.669Z","repository":{"id":222935776,"uuid":"758327405","full_name":"Samson-Mano/Spherical_harmonics","owner":"Samson-Mano","description":"Spherical Harmonics project is dedicated to the study of special functions defined on the surface of a sphere. This tool facilitates visualization of mode shapes and enables the analysis of pulse and harmonic responses on the sphere's surface to external loads. Developed using C++17/ modern OpenGL ","archived":false,"fork":false,"pushed_at":"2024-10-06T03:26:13.000Z","size":46007,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-29T09:44:10.268Z","etag":null,"topics":["eigenvalues","eigenvectors","finite-element-analysis","glew","imgui","legendre","legendre-polynomials","mode-shapes","modern-opengl","modern-opengl-functions","opengl","spherical-harmonics"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Samson-Mano.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-16T04:28:43.000Z","updated_at":"2024-10-06T03:27:56.000Z","dependencies_parsed_at":"2024-02-17T05:34:49.311Z","dependency_job_id":null,"html_url":"https://github.com/Samson-Mano/Spherical_harmonics","commit_stats":null,"previous_names":["samson-mano/spherical_harmonics"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samson-Mano%2FSpherical_harmonics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samson-Mano%2FSpherical_harmonics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samson-Mano%2FSpherical_harmonics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samson-Mano%2FSpherical_harmonics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Samson-Mano","download_url":"https://codeload.github.com/Samson-Mano/Spherical_harmonics/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239687426,"owners_count":19680729,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eigenvalues","eigenvectors","finite-element-analysis","glew","imgui","legendre","legendre-polynomials","mode-shapes","modern-opengl","modern-opengl-functions","opengl","spherical-harmonics"],"created_at":"2024-11-07T20:09:05.166Z","updated_at":"2025-12-16T19:30:16.535Z","avatar_url":"https://github.com/Samson-Mano.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spherical Harmonics\n\n## Overview\nThe **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.\n\n### Key Features\n- **Solve Spherical Harmonics**: Compute spherical harmonic modes for thin 3D shells.\n- **Mode Shape Visualization**: Visualize the mode shapes in a 3D interactive interface.\n- **Pulse Loading Response (WIP)**: Analyze the 3D shell's response to pulse loading (currently in progress).\n- **Efficient Rendering**: The project uses OpenGL for fast and efficient rendering of spherical modes.\n\n\n## User Interface (UI) Controls\n\nThe user interface offers various control options for easy interaction:\n\n- **Pan**: Hold `Ctrl` and right-click drag to pan.\n- **Rotate**: Hold `Ctrl` and left-click drag to rotate.\n- **Zoom In/Out**: Hold `Ctrl` and scroll the mouse wheel to zoom.\n- **Zoom Fit**: Press `Ctrl + F` to fit the view to the screen.\n- **Selection**: Hold `Shift` and left drag to select objects.\n- **Deselection**: Hold `Shift` and right drag to deselect objects.\n\nThese controls allow smooth interaction with the 3D visualizations.\n\n---\n\n## Visualizing Mode Shape Results\n\nThe following are some mode shape visualizations generated by the project:\n\n| Mode Number | Visualization |\n|-------------|----------------|\n| **Mode 6**  | ![Mode 6](Spherical_harmonics/Images/mode6_gif.gif) |\n| **Mode 9**  | ![Mode 9](Spherical_harmonics/Images/mode9_gif.gif) |\n| **Mode 11** | ![Mode 11](Spherical_harmonics/Images/mode11_gif.gif) |\n| **Mode 12** | ![Mode 12](Spherical_harmonics/Images/mode12_gif.gif) |\n| **Mode 41** | ![Mode 41](Spherical_harmonics/Images/mode41_gif.gif) |\n| **Mode 70** | ![Mode 70](Spherical_harmonics/Images/mode70_gif.gif) |\n\n---\n\n## How to Use the Project\n\n### Prerequisites\nEnsure you have the following libraries installed:\n- **OpenGL**\n- **GLEW**\n- **GLFW** (or another windowing library)\n- **ImGui** (for the graphical user interface)\n\n### Setup Instructions\n\n1. **Download the Portable Version**:  \n   Go to the [Releases](link_to_releases) page to download the portable version of the project.\n\n2. **Clone or Download the Repository**:  \n   To clone the repository, use the following command:\n   ```bash\n   git clone https://github.com/Samson-Mano/Spherical_harmonics.git\n\nAlternatively, download the repository as a zip file.\n\n3. **Open the Project in Your IDE**:\nOpen the solution file in your preferred C++ IDE (e.g., Visual Studio, CLion).\n\n4. **Include Necessary Libraries**:\nEnsure the following libraries are correctly linked in your project environment:\n    OpenGL (with GLEW/GLFW)\n    ImGui\n\n5. **Build and Run the Project**:\nAfter 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.\n\n\n## Contributions\n\nThis project is open for contributions, and there are several areas where improvements can be made:\n\n- **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.\n- **Pulse Loading Analysis**: The feature to evaluate the response of the spherical shell to pulse loading is a work in progress.\n\n### How to Contribute:\n- Fork the repository and submit a pull request.\n- Open an [issue](https://github.com/Samson-Mano/Spherical_harmonics/issues) to report bugs or suggest features.\n\n---\n\n## License\n\nThis project is licensed under the **MIT License**. See the [LICENSE](/LICENSE.txt) file for more details.\n\n---\n\n## Acknowledgments\n\nThank you for using the **Spherical Harmonics** project! Hope this tool helps you explore and understand spherical harmonic mode shapes and their applications.\n\n## Screenshots\n\n ![Mode 1,4,6](Spherical_harmonics/Images/img_mode_1_4_6.png) \n\n\n ![Mode 9,10,11,12](Spherical_harmonics/Images/img_mode_9_10_11_12.png) \n\n\n ![Mode 16,18,19,20,21](Spherical_harmonics/Images/img_mode_16_18_19_20_21.png) \n\n\n ![Mode 25,26,27,28,29,30](Spherical_harmonics/Images/img_mode_25_26_27_28_29_30.png) \n\n\n ![Mode 204,205,206](Spherical_harmonics/Images/img_mode_204_205_206.png) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamson-mano%2Fspherical_harmonics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamson-mano%2Fspherical_harmonics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamson-mano%2Fspherical_harmonics/lists"}