Step FAQ
Frequently Asked Questions
This section is meant to answer frequently asked questions about Steps. If you still have any questions or think a question is missing here, please let me know.
Questions
- Why Step is 2d-only? Will 3d version be created?
- Is Step ready to be used? When is will be released?
- What new features are planned? Where is the TODO list?
- Why was StepCore written? What's wrong with existing libraries?
- What are StepCore design goals?
Answers
Why Step is 2d-only? Will 3d version be created?
Two dimension was chosen instead of three because it is quite easier to imagine, edit and visualize on a computer screen so the user can concentrate on physics itself (still not sure - then just compare the complexity of Inkscape and Blender). In physics many things in 2d are just the same as in 3d, many others differ only slightly.
A three-dimensional version of Step is possible but not planned for the near future because of the lack of developers (by the way, you can always help!).
Is Step ready to be used? When is will be released?
Currently 80% of initial feature set is implemented (check Step Features) but some features still need more polishing. Step will be released with KDE 4.1 as part of KDEEDU.
What new features are planned? Where is the TODO list?
A TODO list can be found here
Why was StepCore written? What's wrong with existing libraries?
There are several open-source (and proprietary) physical simulation libraries (most known are ODE and Bullet). They are really good for things they are designed for, but not suitable for a program such as Step because:
- Most of them are designed for games, this means quick, stable, realistic but inaccurate simulation. Step is an educational program, it is intended to show how things are in real world, so accuracy is really important.
- They do not provide error estimation (since it requires additional resources and is useless for games), but this is important for Step. If Step can't show how things are in real world it should at least warn the user.
- Most of them focus mainly on rigid body simulation, the scope of Step is wider.
- Most of them can handle only three-dimensional simulations. Using them for two-dimensional simulations is wasting computer resources.
- Most of them are not easily extensible, complex bodies such as massive springs are hard to implement with them.
- The other end is scientific simulation libraries, but they are too big and complex to be used with Step.
What are StepCore design goals?
- Accuracy and error estimations.
- Support for both 2d and (in the future) 3d simulations.
- Extensibility by adding new solver types, body types, forces.
- Extensibility by adding new simulation types which can possibly interact with each other (for example liquid simulation using Boltzmann equation which can interract with mechanical bodies).
The KDE Education Project