This app simulates buoyancy, and nothing but buoyancy, in real time (for me at least). WASD+Shift+Space to move the camera. Scroll mouse wheel to change sensitivity of the camera. Drag left mouse button to pan/tilt camera. QE to roll the camera. Drop in a .obj file to change the mesh to anything you want. You should however make sure the mesh is "nice". With "nice" I mean the mesh is closed and has no intersecting triangles, otherwise the simulation will be totally wrong. The red/green/blue cross is the position/orientation of the mesh, centered at the center of mass. The black cross is the center of buoyancy. The black square is the water level, and is 2 by 2 meters wide.