On Jan 26, 2:52 am, John Machin <[EMAIL PROTECTED]> wrote: > On Jan 26, 6:25 pm, Steven D'Aprano <[EMAIL PROTECTED] > > > > cybersource.com.au> wrote: > > On Fri, 25 Jan 2008 22:53:16 -0800, John Machin wrote: > > > On Jan 26, 5:32 pm, Jeroen Ruigrok van der Werven <[EMAIL PROTECTED] > > > nomine.org> wrote: > > >> -On [20080126 06:26], Tim Rau ([EMAIL PROTECTED]) wrote: > > > >> >Line 147 reads: > > >> > moi = cp.cpMomentForCircle(self.mass, .2, 0, vec2d((0,0))) > > > >> I think it expects something like: > > > >> # badly named variable, pick something better depending on context > > >> temp = vec2d(0, 0) > > >> cp.cpMomentForCircle(self.mass, .2, 0, temp) > > > > That *cannot* give a different result in Python. The called function > > > will be presented with *exactly* the same object as the OP's code does. > > > Not quite. Look carefully at the difference. > > > The OP's code calls vec2d with a single tuple argument (0,0). Jeroen's > > version calls vec2d with two int arguments, 0 and 0. > > > We don't know whether vec2d will treat those two things the same or not. > > That was Jeroen's 2nd problem; I was addressing his first problem > (thinking that introducing a temp variable would work some magic). > > Google is your friend: > """ > class vec2d(ctypes.Structure): > """2d vector class, supports vector and scalar operators, > and also provides a bunch of high level functions > """ > __slots__ = ['x', 'y'] > > def __init__(self, x_or_pair, y = None): > > if y == None: > self.x = x_or_pair[0] > self.y = x_or_pair[1] > else: > self.x = x_or_pair > self.y = y > """
Ok, so apparently, it needs a different vec2d, one which is specifically modified vec2d to work with the library Chipmunk, which is a c library, but with pindings binding(PyMunk) -- http://mail.python.org/mailman/listinfo/python-list