Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lukeroantree4815162342/heisenpong
Pong, where the ball moves with a trajectory corresponding to the Heisenberg Uncertainty Principle
https://github.com/lukeroantree4815162342/heisenpong
game kivy physics python quantum
Last synced: 15 days ago
JSON representation
Pong, where the ball moves with a trajectory corresponding to the Heisenberg Uncertainty Principle
- Host: GitHub
- URL: https://github.com/lukeroantree4815162342/heisenpong
- Owner: LukeRoantree4815162342
- Created: 2022-03-19T17:11:43.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-03-19T19:43:29.000Z (almost 3 years ago)
- Last Synced: 2024-11-13T00:31:59.277Z (3 months ago)
- Topics: game, kivy, physics, python, quantum
- Language: Python
- Homepage:
- Size: 22.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# HeisenPong
Pong, but where the ball moves with a trajectory corresponding to the [Heisenberg Uncertainty Principle](https://en.wikipedia.org/wiki/Uncertainty_principle);
The uncertainty principle states that the more confident we are in a particles position, the less confident we can be in its momentum;
![Uncertainty Principle](Images/UncertPrinc.png)
x is position, p is momentum, and the h thing (h-bar) is a fixed, very small, constant.
For any large moving body, e.g. a car, this doesn't matter very much as we can still be confident in the car's position and momentum to within a tiny fraction of their values, so we don't even notice the effect. For much smaller things, e.g. an electron, this is much more important.
I thought this effect could be explained reasonably well via pong, if it was played on an atomic scale, so hopefully this makes it clearer.
![Gameplay Example](Images/HeisenPong_Linux.png)
---### To Play:
player 1 moves paddle up/down with a/z
player 2 moves paddle up/down with k/m
---
requires: python (version 3.6+), Kivy (```pip install kivy```)
### Run with ```python HeisenPong.py```
Enjoy!
---
I used the Kivy example ['Pong'](https://kivy.org/doc/stable/tutorials/pong.html) code as a starting template.