The features of SimPhy - simphysoftwares/SimPHY-docs GitHub Wiki

With SimPHY you can create and interact with simulation scenes using simple drawing tools like boxes, circles, polygons, brushes, planes, ropes and chains and create joints with mouse drag, rest is handled by the simulator itself. Any user, without any programming, can create a simulation and run it (obviously advanced features need bit programming knowhow). Through the GUI interface you can create bodies, attach fixtures to those bodies, create joints by just pressing and dragging the mouse and configure everything about the simulation. After setup you can run, pause, restart, and save the simulation.

Few of main features are

  1. Drag and draw to create Objects and Joint

With simPHY you can create simulation scenes with a mouse using simple drawing tools like boxes, circles, polygons, gears etc, optionally connected by joints like spring or ropes . Composite bodies can be created by adding multiple fixtures or using constructive area geometry. You can also Edit and make changes by rotating, scaling, moving, cutting or cloning your objects.

  1. Customized Fields

You can also add more physics in your simulation like buoyancy , electrostatic and magnetic fields. SimPHY also allows you to explore and play around with different parameters like friction, restitution, charge, damping, etc.

  1. Analyze and Visualize Physics

For deeper analysis you can visualize forces (drawing Free-Body Diagram) on body, and plot variation of its position, velocity or energy with time. You can also plot the trajectory of a point on the body and view the simulation in frame of the point on any body, which makes relative motion easy to understand.

  1. Open-GL Rendering

SimPHY supports rendering through openGL library JOGL to take advantage of hardware acceleration, that makes simulations a lot smoother.it also supports rendering of objects with customised brushes like solid, pattern and texture to create appealing view

  1. Graphics and sound

You can add hardware accelerated graphics and sound to create fancy eye catching simulations or even your own games with very little programming. Novice game developers can treat it as WYSWYG kind of game engine.

  1. Scripting at World Events

You can run your JavaScript code at world events, when the simulation begins, is paused or updated. You can also define scripts when two objects are collided or a key is pressed. Objects and joints in the world act as predefined JavaScript variables, so their properties can dynamically be changed on such events using script.

  1. Script-able Widgets

SimPHY supports its own widgets like button, slider, scrollbar, checkbox, textbox etc, and scripts can be associated with widgets events like onClick and onChange, therefore you can create highly interactive simulation or game using just a little knowledge of scripting.