Derivatives:
- http://projects.congrace.de/exp4j/index.html
- http://www.avajava.com/tutorials/lessons/how-do-i-update-my-classpath-to-include-a-jar-file.html
Collision:
- Deal with value checks (massless particles?)
- Handle unknown angles (only 2 unknowns can be solved)
- Three dimensions? (phi and theta must be specified)