https://www.machinet.net/tutorial/build-python-tool-simulating-visualizing-physics-experiments