Alternatives to ODE ? (pure java)

SHawn Kendall at FullSail/IMILabs is developing one, but its Java3D specific so if your not doign J3D it wont help much.

You can take a look at Noope :

http://www.srcf.ucam.org/nope/

It doesn’t seems to be very powerful, but it’s pure java.

I plan to make a binding of Newton Dynamics engine ( http://www.newtondynamics.com ). But you can’t use it in applets…

Site last updated 4 years ago. All it does is simple particle physics (collisions and gravity between spheres).

In otherwords it doesn’t look usful. Not even as a starting point for a proper engine. (It’s also GPL, not LGPL, so useless as a real library.)

Now if Shawn’s API is Open Source and uses a suitable license, perhaps it would make a good starting point for a more general engine, that is, break the Java3D ties.

Hard to say what the best path is, other than there definitely appears to be some demand for a pure Java general purpose physics engine. Bindings to the Newton Dynamics engine will at least offer some choice, ODE, or Newton Dynamics. Has anyone asked the Newton Dynamics guys if they are interested in a pure Java port, perhaps they would be willing to share some ideas at least.

I never said the opposite.
I have to contact Newton Dynamics developers and will do so soon.

I have been thining for a while that a java engine would be so much better. Less nightmares of random crashing without hope of debugging. ODE is designed so that a custom collision system can be inserted. I think that would be the way to go. I don’t feel like the ODE collision system is really very good. I think it would be better to implement a new collision system based on OBBs:-
http://citeseer.csail.mit.edu/gottschalk96obbtree.html
if that were used you would have good collisions for boxes and rays. Shperes and such I think should just be implemnted as approximations using OBB trees. I think the major weakpoint of ODE is that new geometries have to be analytically coded for colisions with every other existing geometry. I say a better system is just stick to one type of collision situation and approximate to that.
Still, its all talk. I don’t think I have time to implement it. Depends on which direction my PhD goes.

+10

I just posted some thoughts in this thread: http://192.18.37.44/forums/index.php?topic=10914.15 but I’ll reiterate them here.

arne, I think there are some merits in doing a 1:1 port in this case. Odejava already provides an excellent O-O interface to ode, and since nobody here that I know of is a real Physics expert, keeping the java code as close to the C/C++ code as possible will help from a maintenance point of view. The main differences would be removing pointers and replacing them with arrays or buffers. It would also mean people could use the low-level pure-Java port with Russ’s documentation.

A pure-java port of ODE would solve most of the problems that Odejava is suffering. I think it is worth a crack.

Here’s the big question. Who here supporting this idea is actually prepared to walk the walk and code it. I am, I have a vested interest in the future and stability of Odejava. I would like to see at least 3 people on the team, that way if one person goes I won’t be left carrying the whole thing by myself. I would like to see people who are developing their own projects with Odejava and therefore also have a vested interest in the API.

Will.

Shawn’s getting pretty close. But as I say hes workign on his own J3D based system so whiel he might answer some questions i dont thin kyould ge thim to pitch in on code.

Ok I get your point :slight_smile:

definitely - I also would try to help, but don’t count on me, because I don’t know if I will manage it.

Arne

If I engage and abandonate in 3 weeks, I will lose my credibility. Err… what credibility ? I haven’t any… Okay, so I’m with you.
Will we implement what t_larkworthy talked about ? May he imply himself too ?
I have a pretty good knowledge of C++ and Java, but I prefer to leave physics subjects to peoples that know a lot more than me…

Haha. I was trying to avoid any commitment. There are elements of the OBB thing that I really don’t know how to do exactly. The transforming of an arbitary trimesh to an OBB. The researches used a tool that helped them but we would need to do it from scratch. The raw realtime collision system using the OBB trees is fine. its the bit beforehand. Count me out for now becuase I really cant commit just yet. Though I am on the border at the moment. Give me a week of monitoring the forums and I might go for it.

How soon will this be finished? I’m working on a space dyanamics system and had planned to use ODEJava for the rigid body dynamics.

Since t_larkworthy isn’t prepared to implement his idea, lets just stick to a direct port for now. We can always change this later.

Lets see how we go - there’s if we realise we have bitten off more than we can chew, there’s no problem with abandoning it. What saddens/frustraits me is when I see people commit much work into a project but then for whatever reason don’t stick with it (normally because their original need for the project changes). This happened with both Odejava and Xith3D.

We should start a new thread in the physics forum and discuss how we want to proceed (this has been done: http://192.18.37.44/forums/index.php?topic=10976.0). Since neither of us seem confident with the physics, we should keep a very close tracability to the original source (so if we change something later on, we note exactly what changed). We should also exchange contact details, etc.

Will.

hi there
there is a software that you have to buy it
it is also a 2d not 3d
here is the link if you would like to buy it + an example
mean while if you got any inof about how and where to use odejava
i will be very greatful if you can pass it to me
m_ali_alex@yahoo.com
thanks

hi there
there is a software that you have to buy it
it is also a 2d not 3d
here is the link if you would like to buy it + an example for it
http://forum.java.sun.com/thread.jspa?threadID=551306&messageID=2737622

mean while if you got any inof about how and where to use odejava
i will be very greatful if you can pass it to me
m_ali_alex@yahoo.com
thanks