Somewhat related, the relativistic rocket equation itself is pretty fascinating. I've written some code that lets one play around with it: <a href="https://github.com/the80srobot/gorocket" rel="nofollow">https://github.com/the80srobot/gorocket</a><p>It's only when you try simulating relativistic physics yourself that some points become apparent. For example, I didn't remember from school that all observers agree on acceleration, and in the first implementation I treated it as happening over time experienced by the accelerating frame. By having all of my unit tests spit out nonsense and figuring out what the problem was, it finally "clicked" for me.<p>If I have a point (do I?) it is this: if you're trying to learn physics, I highly recommend trying to code some simple simulations yourself. It's amazing how much better one can understand stuff that way, than reading from a book.