{"id":31322898,"url":"https://github.com/obomhese-raphael/projectile-motion-simulations","last_synced_at":"2026-02-14T16:33:12.995Z","repository":{"id":315375532,"uuid":"1058735696","full_name":"Obomhese-Raphael/projectile-motion-simulations","owner":"Obomhese-Raphael","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-18T07:17:06.000Z","size":13,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-25T19:45:38.749Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://projectile-motion-simulations.vercel.app","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Obomhese-Raphael.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-17T13:34:34.000Z","updated_at":"2025-09-18T07:17:11.000Z","dependencies_parsed_at":"2025-09-18T09:25:11.216Z","dependency_job_id":null,"html_url":"https://github.com/Obomhese-Raphael/projectile-motion-simulations","commit_stats":null,"previous_names":["obomhese-raphael/projectile-motion-simulations"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Obomhese-Raphael/projectile-motion-simulations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Obomhese-Raphael%2Fprojectile-motion-simulations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Obomhese-Raphael%2Fprojectile-motion-simulations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Obomhese-Raphael%2Fprojectile-motion-simulations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Obomhese-Raphael%2Fprojectile-motion-simulations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Obomhese-Raphael","download_url":"https://codeload.github.com/Obomhese-Raphael/projectile-motion-simulations/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Obomhese-Raphael%2Fprojectile-motion-simulations/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29449370,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T15:52:44.973Z","status":"ssl_error","status_checked_at":"2026-02-14T15:52:11.208Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2025-09-25T19:28:03.400Z","updated_at":"2026-02-14T16:33:12.979Z","avatar_url":"https://github.com/Obomhese-Raphael.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web-Based Projectile Motion Simulator\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![JavaScript](https://img.shields.io/badge/JavaScript-ES6+-yellow.svg)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)\n[![HTML5](https://img.shields.io/badge/HTML5-Canvas-orange.svg)](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API)\n[![CSS3](https://img.shields.io/badge/CSS3-Responsive-blue.svg)](https://developer.mozilla.org/en-US/docs/Web/CSS)\n\nAn interactive web-based physics simulation tool for visualizing and analyzing projectile motion, developed as part of a Final Year Physics Project at Lagos State University.\n\n## 🎯 Overview\n\nThis simulator demonstrates fundamental projectile motion principles through real-time visualization, allowing users to experiment with various launch parameters and observe their effects on trajectory, velocity components, and motion dynamics.\n\n## ✨ Features\n\n### Core Functionality\n- **Real-time trajectory visualization** with parabolic path rendering\n- **Dynamic velocity vector display** showing horizontal (vx), vertical (vy), and resultant components\n- **Interactive parameter controls** for initial conditions\n- **Multi-mode data display** (Position, Speed, Acceleration, Force, Energy)\n- **Slow motion capability** for detailed analysis\n\n### Technical Features\n- **Responsive design** compatible with desktop, tablet, and mobile devices\n- **Dynamic scaling** that automatically adjusts viewport based on trajectory bounds\n- **Professional UI/UX** with modern gradient design and smooth animations\n- **Cross-browser compatibility** (Chrome, Firefox, Safari, Edge)\n- **No external dependencies** - runs entirely in the browser\n\n## 🚀 Live Demo\n\n[View Live Simulator](https://projectile-motion-simulations.vercel.app/)\n\n## 📊 Physics Implementation\n\nThe simulator implements classical mechanics equations:\n\n- **Horizontal Motion**: `x(t) = x₀ + v₀cos(θ)t`\n- **Vertical Motion**: `y(t) = y₀ + v₀sin(θ)t - ½gt²`\n- **Range**: `R = (v₀² sin(2θ))/g`\n- **Maximum Height**: `H = (v₀² sin²(θ))/(2g)`\n- **Time of Flight**: `T = (2v₀ sin(θ))/g`\n\n## 🛠️ Installation \u0026 Usage\n\n### Quick Start\n1. Clone the repository:\n```bash\ngit clone https://github.com/Obomhese-Raphael/projectile-motion-simulations.git\n```\n\n2. Navigate to project directory:\n```bash\ncd projectile-motion-simulator (optional)\n```\n\n3. Open `index.html` in a web browser or serve via HTTP server:\n```bash\n# Using Python 3\npython -m http.server 8000\n\n# Using Node.js (if you have live-server installed)\nlive-server\n```\n\n### Parameters\n\n| Parameter | Range | Unit | Description |\n|-----------|-------|------|-------------|\n| Initial Height | 0-50 | meters | Launch height above ground |\n| Initial Speed | 0-50 | m/s | Launch velocity magnitude |\n| Launch Angle | 0-90 | degrees | Angle above horizontal |\n| Mass | 0.1-10 | kg | Projectile mass (affects force/energy calculations) |\n| Gravity | 1-20 | m/s² | Gravitational acceleration |\n\n\n## 🔧 Technical Specifications\n\n### Technologies Used\n- **HTML5 Canvas API** for 2D graphics rendering\n- **Vanilla JavaScript (ES6+)** for physics calculations and interactivity\n- **CSS3 with Grid/Flexbox** for responsive layout\n- **Web Fonts (Inter)** for professional typography\n\n### Browser Support\n- Chrome 80+\n- Firefox 75+\n- Safari 13+\n- Edge 80+\n\n### Performance\n- 60 FPS animation using `requestAnimationFrame`\n- Optimized rendering with selective redrawing\n- Minimal memory footprint (\u003c2MB)\n\n## 📚 Educational Use\n\nThis simulator is designed for:\n- **Physics Education**: Visualizing projectile motion concepts\n- **STEM Learning**: Interactive parameter exploration\n- **Research**: Trajectory analysis and data collection\n- **Demonstrations**: Classroom presentations and online learning\n\n## 🤝 Contributing\n\nContributions are welcome! Please follow these steps:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/improvement`)\n3. Commit your changes (`git commit -am 'Add new feature'`)\n4. Push to the branch (`git push origin feature/improvement`)\n5. Create a Pull Request\n\n### Development Guidelines\n- Follow existing code style and conventions\n- Test across multiple browsers before submitting\n- Update documentation for new features\n- Ensure responsive design compatibility\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 👤 Author\n\n**Obomhese Raphael Marvellous**\n- Student ID: 210571052\n- Institution: Lagos State University, Physics Department\n- Project Type: Final Year Project (Bachelor of Science in Physics)\n- Academic Session: 2024/2025\n\n## 🏫 Academic Context\n\nThis web-based simulator was developed as part of a comprehensive final year project investigating interactive educational tools for physics education. The project explores the effectiveness of digital simulations in enhancing student understanding of classical mechanics concepts.\n\n### Project Objectives\n- Develop accessible physics simulation tools\n- Bridge theoretical knowledge with practical visualization\n- Enhance engagement through interactive learning\n- Provide alternative educational resources for under-resourced environments\n\n## 🐛 Known Issues\n\n- Air resistance effects not implemented (intentional for educational focus)\n- Vector display may overlap at extreme angles\n- Mobile touch controls could be enhanced for better precision\n\n## 🔮 Future Enhancements\n\n- [ ] Air resistance modeling (advanced mode)\n- [ ] Multiple projectile comparison\n- [ ] Data export functionality (CSV/JSON)\n- [ ] 3D trajectory visualization\n- [ ] Multi-language support\n- [ ] Offline progressive web app (PWA) capabilities\n\n## 🙏 Acknowledgments\n\n- Physics Department, Lagos State University\n- Project Supervisors: Prof. Idowu Babatunde \u0026 Dr. Funmi Ometan\n- Open source physics education community\n- Web development resources and documentation\n\n---\n\n⭐ If you find this project useful for education or research, please consider giving it a star!\n\n📧 For questions or collaboration inquiries, please open an issue or contact through the university or my personal mail - obomheser@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobomhese-raphael%2Fprojectile-motion-simulations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobomhese-raphael%2Fprojectile-motion-simulations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobomhese-raphael%2Fprojectile-motion-simulations/lists"}