
jinngine
Real time lightweight 3d physics engine written in Java
... aimed at real-time capabilities. The user can setup and simulate physical configurations, by calling API functions to specify geometries, joints, and parameters.
The engine is build around a velocity based complementarity formulation, which is solved with a simple NCP solver. Friction is modeled using a simple approximation of the Coloumb law of friction. These techniques are state of the art and widely used in other engines such as ODE and Bullet.
Jinngine is purely a physics library/engine. This means that the focus is solely on physics and contact modelling, etc. There is no rendering features in Jinngine. However, you should be able to easily incorporate Jinngine into whatever 3d environment you are using. The examples code use jogl(1.1.1) for visualisation, but there is no dependence on jogl in Jinngine itself.
You can use jinngine as a physics engine, or you can use parts of the engine as a library, for instance collision detection or some of the graph-utils. You can also use the contact point generation features if that is what you need.
You can support jinngine development by makeing a dontation:
https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=morten%40silcowitz%2edk&lc=DK&item_name=jinngine%2eorg&item_number=jinngine¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted'>https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif' />
YourKit is kindly supporting open source projects with its full-featured Java Profiler.
YourKit, LLC is the creator of innovative and intelligent tools for profiling
Java and .NET applications. Take a look at YourKit's leading software products:
http://www.yourkit.com/java/profiler/index.jsp'>YourKit Java Profiler and
http://www.yourkit.com/.net/profiler/index.jsp'>YourKit .NET Profiler.
0.8 released (28-05-2010)
- Much improved deactivation/sleeping
- Contact point generation more stable and efficient
- Cutting edge NNCG constraint solver (check out http://www.springerlink.com/content/e83432544t772126/'>http://www.springerlink.com/content/e83432544t772126/ if interested)
- Sweep and prune algorithm rewritten and improved
- Trigger event handling framework (only one trigger so far :) but its usefull )
- Robust support for Convex hulls, Boxes and Spheres
- Many unit tests added to ensure robustness and correctness of Jinngine
Documentation, help and examples
If you have any comments, suggestions or need any help, please don't hesitate use the Jinngine forum at http://groups.google.com/group/jinngine'>http://groups.google.com/group/jinngine
jinngine is short on documentation. However, the sub-project jinngine.examples will continuously be populated with simple examples of using jinngine. The source code for the examples are found at
http://code.google.com/p/jinngine/source/browse/#svn/trunk/jinngine.examples/src/jinngine/examples'>http://code.google.com/p/jinngine/source/browse/#svn/trunk/jinngine.examples/src/jinngine/examples
Further, there is the javadocs, there is a link for them in the project side bar. If you find some problem or bug, please repport it as an issue using this project page. Minor bug s are expected to be fixed quickly in the svn repo.
Contact point generation method from Jinngine on the SCA2010 conference (16-07-2010)
I traveled to Madrid to participate in ACM/SIGGRAPH SCA 2010, which is a small but really interesting and nice computer graphics conference. There was a lot of inspiring talks, and I got loads of positive feedback on the contact point generation ideas. Hope to go next year too :)
http://mo.silcowitz.dk/sca2010.jpg' />
http://mo.silcowitz.dk/poster.jpg' />
http://mo.silcowitz.dk/auditorium.jpg' />
How to contribute? I am always looking for qualified people to contribute to this project. Please contact me at morten@silcowitz.dk if you are interested
BibTex citation:
@misc {jinngine.10,
author = {Silcowitz-Hansen, Morten},
affiliation = {University of Copenhagen, Dept. Computer Science},
title = {Jinngine, a Physics Engine Written In Java},
publisher = {Morten Silcowitz},
url = {http://code.google.com/p/jinngine},
year = {2008-2010},
abstract = { Real time lightweight 3d physics engine written in Java, aimed at
real-time capabilities. The user can setup and simulate physical configurations, by
calling API functions to specify geometries, joints, and parameters. The engine is build
around a velocity based complementarity formulation, which is solved with a simple NCP
solver. Friction is modeled using a simple approximation of the Coloumb law of friction.
These techniques are state of the art and widely used in other engines such as ODE and Bullet.}
}
Project Information
- License: Other Open Source
- 58 stars
- svn-based source control
Labels:
physics
game
engine
simulation
robotics
java
realtime