As said above, acceleration is the second derivative of position. Now, if you have exactly defined your positions with a mathematical function, it would be easy. However, this is likely not the the case. Because of this, we must determine the derivatives numerically. This is still fairly straightforward, though the runtime of an algorithm like this may be slow. The first thing to do is calculate the velocity. Position is a vector, and so, its derivatives will be vectors (conveniently this applies in both math and mel terms). To calculate the velocity, we can use the "definition of the derivative" or "forward difference". To do this, using the getattr command with a -time flag would be ideal, allowing you to get the position at each frame. Velocity is defined as the difference in position divided by the time required to make that change. Since maya works in discrete frames, the time difference is a constant, so it isn't so important. Say your animation goes from frame 1 to 10. At most, you will have velocity for 9 points (because it is based on differences, and there are only 9 differences in position). You will have to figure out where you want to assign each velocity value relative to position. Fill an array of vectors with the differences between frames. Once you have this array, repeat the same process on the newly created array and you will end up with acceleration. This will give you 8 points of acceleration information, as there are 8 differences from 9 points. There are other ways to calculate discrete derivatives, this is just one way.