{"id":30496940,"url":"https://github.com/mhdeeb/spherical-quadrature","last_synced_at":"2025-08-25T02:37:48.086Z","repository":{"id":310547199,"uuid":"1032841492","full_name":"mhdeeb/spherical-quadrature","owner":"mhdeeb","description":"This project attempts to compare multiple numerical quadrature methods in an accessible way","archived":false,"fork":false,"pushed_at":"2025-08-18T18:50:10.000Z","size":12279,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-18T20:39:02.980Z","etag":null,"topics":["quadrature-integration","website"],"latest_commit_sha":null,"homepage":"https://www.mhdeeb.com/grad","language":"TypeScript","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/mhdeeb.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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-05T23:13:13.000Z","updated_at":"2025-08-18T18:50:14.000Z","dependencies_parsed_at":"2025-08-18T20:39:04.600Z","dependency_job_id":"c50faa96-06b9-4f33-be7f-ac6f62890ebb","html_url":"https://github.com/mhdeeb/spherical-quadrature","commit_stats":null,"previous_names":["mhdeeb/spherical-quadrature"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mhdeeb/spherical-quadrature","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhdeeb%2Fspherical-quadrature","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhdeeb%2Fspherical-quadrature/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhdeeb%2Fspherical-quadrature/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhdeeb%2Fspherical-quadrature/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mhdeeb","download_url":"https://codeload.github.com/mhdeeb/spherical-quadrature/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhdeeb%2Fspherical-quadrature/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271999937,"owners_count":24856186,"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","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["quadrature-integration","website"],"created_at":"2025-08-25T02:37:46.303Z","updated_at":"2025-08-25T02:37:48.071Z","avatar_url":"https://github.com/mhdeeb.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 3D Spherical Quadrature Visualization\n\nA high-performance [Three.js](https://threejs.org/) implementation for interactive visualization of spherical quadrature methods and numerical integration on the unit sphere. Features dynamic 3D rendering with real-time computation and error analysis.\n\n\u003cimg width=\"1660\" height=\"775\" alt=\"image\" src=\"https://github.com/user-attachments/assets/6c9d1921-886e-4a5a-849c-47193c679137\" /\u003e\n\n[Demo](https://www.mhdeeb.com/grad)\n\n## Features\n\n### Quadrature Methods\n- **Monte Carlo**: Random points on the sphere\n- **Lebedev**: Spherical quadrature with octahedral symmetry\n- **Product Quadrature**: Cartesian product of 1D quadratures (Gauss-Legendre × Trapezoidal)\n- **Spherical Design**: Points with optimal spherical distribution properties\n\n### Test Functions\n- **Polynomial**: f = 1 + x + y² + x²y + x⁴ + y⁵ + x²y²z²\n- **Gaussian Peaks**: Sum of Gaussian functions with different centers\n- **Hyperbolic Tangent**: Smooth step function\n- **Sign Functions**: Step function\n\n## Usage\n\n### Controls\n- **Mouse**: Drag to rotate the sphere manually.\n\n### Quadrature Methods\n1. **Monte Carlo**: Statistical sampling approach\n   - Uniform: Correctly distributed points\n   - Clustered: Demonstrates improper sampling\n\n2. **Lebedev**: Exact integration of spherical harmonics up to degree 2n-1\n\n3. **Spherical Designs**: t-designs integrate exactly all spherical harmonics up to degree t\n\n4. **Product Quadrature**: Combines 1D methods for φ and θ directions\n\n## Technical Implementation\n\n### Coordinate Systems\n- Spherical coordinates: (r, θ, φ) where θ is azimuthal, φ is polar\n- Cartesian coordinates: (x, y, z) = (sin φ cos θ, sin φ sin θ, cos φ)\n- Three.js world coordinates with proper depth sorting and camera controls\n\n### Numerical Methods\n- Associated Legendre polynomials computed via recurrence relations\n- Gauss-Legendre quadrature points and weights\n- Random number generation for Monte Carlo methods\n- Golden spiral for spherical design approximation\n- High-performance GPU-accelerated rendering with Three.js\n\n## Educational Value\n\nThis visualization helps understand:\n- How different quadrature methods distribute points on the sphere\n- The relationship between point distribution and integration accuracy\n- Convergence behavior of numerical integration methods\n\n## Future Plans\n\n- **Schema Editor**: Allow users to edit grid schema manually or generate them with functions and export those schemas.\n- **Function Input**: Allow users to input functions have them be integrated on and tested against analytical solution if provided.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmhdeeb%2Fspherical-quadrature","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmhdeeb%2Fspherical-quadrature","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmhdeeb%2Fspherical-quadrature/lists"}