--- Chris Hager <[EMAIL PROTECTED]> wrote:
> Hey, > > We are a team also working on 2d physics for python, > and I thought I > could maybe post a useful comment :) Congratulations > for your GSoC > project btw!! > > First of all, I think it's extremely ambitious to > write an own physics > engine, especially considering the quality of Box2d > and Chipmunk. They > are stable, quick and fully featured -- especially > Box2D being grown up > since a while and actively developed and driven by a > large community. I > think it will take a few man-years to get to that > point in terms of > stability, speed and functionality, although maybe > not all functions are > required. > > There are Python ports for both, Box2D and Chipmunk. > One is "pyMunk" > which is a CTypes Interface to the Chipmunk physics > engine > (http://code.google.com/p/pymunk/). > > The other project is called "Elements". It's on the > one side a python > port of Box2D with a SWIG Interface, on the other > side an API for easy > usage of Box2D (even for kids), and a lot of > examples and demos. We > spent a lot of time on the SWIG Interface and on > speed optimisations, as > we also run it successfully on the XO Laptop. We > also ported the (as of > yesterday) current Box2D testbed demos to python and > pygame as well as > opengl. I hope you can find a few inspirations from > our code: > > "svn co http://svn2.assembla.com/svn/elements". > Absolutely use "python > -O ..." -- it improves the performance a lot with > these demos (up to > 100% with opengl). > > I also worked with Chipmunk and did speed tests with > both engines > (http://wiki.laptop.org/go/Physic_Engines/Speed_Tests). > Box2D (C++) is a > lot faster with Python (SWIG Interface), compared to > Chipmunk (C) with > CTypes Bindings. > > Another thing: Current 2d physic engines have > problems with concave > polygons ([1], [2]). We detect and support both, > with breaking a concave > poly up in rectangles. (Not very efficcient, but > it's very hard to find > open tessellation algorightms; many developers seem > to use the OpenGL > Tessellater ([2]), but it has a strange half-free > license [3]). > > Also the "Elements" project supports drawing with > pygame, opengl and > cairo, and we have compiled box2d libraries with > python swig interface > for windows, linux 32 and 64 bit (+ instructions for > the other > platforms). You can just copy them and start playing > around! :) > > Best, > - Chris > > [1] > http://www.box2d.org/forum/viewtopic.php?f=4&t=83 > [2] > http://www.box2d.org/forum/viewtopic.php?f=3&t=719 > [3] > http://www.box2d.org/forum/viewtopic.php?f=3&t=719&p=4200#p4223 > > -- > \___/ Chris Hager > |___| GSoC '08 Mentor for OLPC -- > http://wiki.laptop.org > \___\ Elements Developer -- > http://elements.linuxuser.at > > ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ