{"id":21084515,"url":"https://github.com/qxresearch/simple-harmonic-motion","last_synced_at":"2025-07-22T13:33:47.712Z","repository":{"id":134868291,"uuid":"357462380","full_name":"qxresearch/Simple-Harmonic-Motion","owner":"qxresearch","description":"Plotting Simple Harmonic Motion Graphs and animations using Python (Matplotlib | Numpy | Scipy) 🌌","archived":false,"fork":false,"pushed_at":"2021-04-21T13:23:15.000Z","size":85,"stargazers_count":19,"open_issues_count":0,"forks_count":7,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-06-29T13:04:54.402Z","etag":null,"topics":["matplotlib","physics","pyton","qxresearch"],"latest_commit_sha":null,"homepage":"","language":"Python","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/qxresearch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-04-13T07:28:40.000Z","updated_at":"2025-05-06T03:16:29.000Z","dependencies_parsed_at":"2024-02-14T05:33:56.404Z","dependency_job_id":null,"html_url":"https://github.com/qxresearch/Simple-Harmonic-Motion","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/qxresearch/Simple-Harmonic-Motion","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qxresearch%2FSimple-Harmonic-Motion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qxresearch%2FSimple-Harmonic-Motion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qxresearch%2FSimple-Harmonic-Motion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qxresearch%2FSimple-Harmonic-Motion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qxresearch","download_url":"https://codeload.github.com/qxresearch/Simple-Harmonic-Motion/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qxresearch%2FSimple-Harmonic-Motion/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266506172,"owners_count":23940019,"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-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["matplotlib","physics","pyton","qxresearch"],"created_at":"2024-11-19T20:25:20.412Z","updated_at":"2025-07-22T13:33:47.689Z","avatar_url":"https://github.com/qxresearch.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.youtube.com/channel/UCX7oe66V8zyFpAJyMfPL9VA\"\u003e\n    \u003cimg src=\"https://github.com/xiaowuc2/xiaowuc2/blob/master/source/SHM/shm%203.png\" alt=\"Logo\" width=\"250\" height=\"250\"\u003e\n  \u003c/a\u003e\n  \u003ch3 align=\"center\"\u003eSimple Harmonic Motion\u003c/h3\u003e\n  \u003cp align=\"center\"\u003e\n    Plotting SHM Graph using Python (Matplotlib | Numpy)\n      \u003cbr /\u003e\n    \u003cbr\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n[![GitHub](https://img.shields.io/static/v1.svg?label=Collaborators\u0026message=1\u0026color=success\u0026logo=github\u0026style=social)](https://github.com/qxresearch/Simple-Harmonic-Motion/graphs/contributors)\n[![YouTube](https://img.shields.io/static/v1.svg?label=YouTube\u0026message=@qxresearch\u0026color=grey\u0026logo=youtube\u0026style=flat\u0026logoColor=white\u0026colorA=critical)](https://www.youtube.com/channel/UCX7oe66V8zyFpAJyMfPL9VA)\n  [![LinkedIn](https://img.shields.io/static/v1.svg?label=LinkedIn\u0026message=xiaowuc2\u0026color=success\u0026logo=linkedin\u0026style=flat\u0026logoColor=white\u0026colorA=blue)](https://www.linkedin.com/in/xiaowuc2)\n  [![Quora](https://img.shields.io/static/v1.svg?label=Quora\u0026message=85.5k+views\u0026color=white\u0026logo=quora\u0026style=social)](https://www.quora.com/profile/Rohit-Prasan-Mandal)\n    \u003ca href=\"https://github.com/qxresearch/Simple-Harmonic-Motion/pulse\" alt=\"Activity\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/commit-activity/m/badges/shields\" /\u003e\u003c/a\u003e\n\n\n### Abstract\nProgramming is influencing all disciplines and helping scientiests discover in the field of Science and Mathematics with the help of technology. The concept of Simple Harmonic Motion is uded to create graph of waves using Python(Numpy | Matplotlib | Scipy) where the user can make changes to the amplitutde, initial phase and frequency of the wave. User can also add a decay or damping constant. User can also plot any SHM graphs using this program. As a demonstration spring simulation has been given in .py format.\n\n\u003ckbd\u003e\u003ca href=\"https://qxresearch.github.io/qxresearch/\"\u003e\u003cimg title=\"Abstract\" src=\"https://github.com/xiaowuc2/xiaowuc2/blob/master/source/SHM/qxresearch%20shm%20by%20xiaowuc2.png\"/\u003e\u003c/a\u003e\u003c/kbd\u003e\u003cbr/\u003e\n\n\u003cbr\u003e\n\u003c/br\u003e\n\n### What is SHM? \nIn mechanics and physics, simple harmonic motion is a special type of periodic motion where the restoring force on the moving object is directly proportional to the object's displacement magnitude and acts towards the object's equilibrium position.\n\n### Math behind SHM\n- SHM can be modeled as sin or cosine wave moving forward with time t\n- Equation of SHM is: y = A sin(𝝎t+ 𝜽), we plot time t on X axis and correponding position on Y axis\nA = amplitude, 𝝎 = angular frequency, 𝜽 = initial phase\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.youtube.com/channel/UCX7oe66V8zyFpAJyMfPL9VA\"\u003e\n    \u003cimg src=\"https://github.com/xiaowuc2/xiaowuc2/blob/master/source/SHM/kisspng-simple-harmonic-motion-circular-motion-circular-or-5b0f7121ecc221.8503569515277386579698.png\" alt=\"SHM Diagram\"\u003e\n  \u003c/a\u003e\n\n  \u003cp align=\"center\"\u003e\n    Fig. Simple Harmonic Motion\n  \u003c/p\u003e\n\u003c/p\u003e\n\n### Algorithm\n- Set size of each step and number of total steps\n- Define a function (data_gen) will compute the value of the wave at each point in time t from 0 second in steps of 0.5s for a 1000 times\n- Creating a set of arrays to store these values as required for plotting, one for X axis and different array for values of Y axis \n\n\n### How the program works? \n\n- Program SHM-1.py is console based user defined program where user can change: frequency, apmlitude and intial phase \n- Program SHM-2.py will plot a spring simulation \n- Download the code and run(double click) the .py file to plot the graph\n \n \n### Demo: \n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.youtube.com/channel/UCX7oe66V8zyFpAJyMfPL9VA\"\u003e\n    \u003cimg src=\"https://github.com/xiaowuc2/xiaowuc2/blob/master/source/SHM/SHM%20Demo%201.gif\" alt=\"Logo\" width=\"400\" height=\"406\"\u003e\n    \u003cimg src=\"https://github.com/xiaowuc2/xiaowuc2/blob/master/source/SHM/SHM%20Demo%202.gif\" alt=\"Logo\" width=\"400\" height=\"302\"\u003e\n  \u003c/a\u003e\n \n \u003cbr\u003e\n\u003c/br\u003e\n\n\n### README\n```\n📑 If you think this project has helped you learn something new you can give a star \n📑 If you think it's a bad project do point out 'why' and spam the issue section 🚩 \n```\n\n\u003cbr\u003e\n\u003c/br\u003e\n\n### Contributing\n\nAny kind of contributions to `qxreseach/Simple-Harmonic-Motion` are welcome. While creating an issue(for this project) use `Request-Feature` Label.\n\n1. [Fork](https://github.com/qxresearch/Simple-Harmonic-Motion/fork) the Project\n2. Commit your Changes\n3. Open a [Pull Request](https://github.com/qxresearch/Simple-Harmonic-Motion/pulls)\n\n### Become Official Member @qxresearch\n\n* Join Mozilla Group [@qxresearch](https://community.mozilla.org/en/groups/qx-research/)\n* Join Telegram Group [@qxresearch](https://t.me/qxresearch)\n* \u003ca href = \"mailto: rohitmandal814566@gmail.com\"\u003eemail\u003c/a\u003e me your GitHub id (**subject**: GitHub id @qxresearch)\n\n\n\u003ch3 align=\"center\"\u003e\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    \u003cbr\u003e\n    \u003cbr/\u003e\n    \u003ca href=\"https://www.youtube.com/channel/UCX7oe66V8zyFpAJyMfPL9VA\"\u003eRequest Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/qxresearch/Simple-Harmonic-Motion/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/qxresearch/Simple-Harmonic-Motion/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqxresearch%2Fsimple-harmonic-motion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqxresearch%2Fsimple-harmonic-motion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqxresearch%2Fsimple-harmonic-motion/lists"}