I need a physics simulation software that allows me to perform the following experiment: 1. Create a frictionless ramp/terrain defined by a parametric function; 2. Create a ball in an arbitrary position; 3. Visualize it falling down while it is affected by gravity and normal forces.

As there should be many options, the best would be a software that I could perform this experiment as fast as possible.

  • 1
    $\begingroup$ Honestly, you should write it yourself. It's very simple to do, and no over-the-counter solution will be as good. You don't need a good integration algorithm for something so simple. $\endgroup$
    – Ron Maimon
    Dec 31, 2011 at 12:49
  • $\begingroup$ But how to do it myself? Using what? I'd need at least a 3d graphics platform, I suppose. $\endgroup$
    – MaiaVictor
    Dec 31, 2011 at 22:02
  • $\begingroup$ If you use a UNIX, I have a simple X library I wrote called "HGR" which allows you to simply open an M by N window and plot points, disks, etc, in any color, in a subroutine. This is difficult in Windows. For 3d graphics, all you really need is a way of finding the 2d projection of a 3d location (that's in HGR), plus some simple forward-behind heuristics. If you want HGR, I can give it to you, but it only takes a day to write such a thing. A more standard solution is to use Qt QWidget, which will do the same thing, but is generally too powerful, since it is the backbone of a full GUI. $\endgroup$
    – Ron Maimon
    Jan 1, 2012 at 17:23
  • $\begingroup$ I should also mention that do-it-yourself solutions will not simply give professional quality graphics rendering, so that if your goal is to produce something for professional display, it will be no good. If your goal is simply to have a visualization system, however, it's all you need. Most physicists will have some equivalent thing. In the 1990s, a lot of physicists got the NeXT platform because of its simple graphics library, and I have heard that Mac's new proprietary graphics platform is similarly nice, although I wouldn't know. $\endgroup$
    – Ron Maimon
    Jan 1, 2012 at 17:27

1 Answer 1


Open source physics engines Bullet and ODE can both do what you want. Both have example code and well-documented APIs and are cross-platform. You could take one of the demos and modify it according to your needs. One of the ODE demos is a ball rolling down a surface and then launching from a ramp and falling through a hoop. That'd be a good starting place. However, there will definitely be a learning curve to the API. Still, I think it'll be faster than coding your own from scratch even if it has more features than you need.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.