-1

I have an application which uses the Microsoft Kinect camera device.

At each point I can obtain the position of my hand in the 3 Dimensional space ( X - Y - Z ) and I want to compute acceleration of my hand over each second on each axis.

Basically, I have the coordinates of a start point and also for after a second from that start point, and I want to compute the acceleration of my hand between those 2 points.

StartPoint - (x1, y1, z1)

EndPoint after 1 sec from StartPoint ( 30 frames ) - (x2, y2, z2)

Acceleration between StartPoint and EndPoint = ?

Also I can obtain all the other coordinates of my hand over time, but I want to compute the acceleration in the period of time between start point and end point.

Could you please explain or show me how?

Simon
  • 4,999
  • 21
  • 69
  • 97
  • 1
    This isn't a Kinect question. This is a basic math/physics question. The answer is you cannot given your information. Acceleration (a) is the change in velocity (v) over time (a = dv/dt), so you need two velocity measurements, so a=(v1-v0)/(t1-t0). You don't have two velocity measurements, you have two position measurements, meaning you can calculate the velocity, v = dp/dt = (p1-p0)/(t1-t0). – mankoff May 02 '12 at 09:07
  • That's why I mentioned that I have a kinect. With the kinect I can get the position of my joints at each second. Moreover, it computes the position of your joint at each frame, given the fact that 1 second has 30 frames. So I have a lot of position, not only those 2. I mentioned those 2 because I want to compute the acceleration between them. – Simon May 02 '12 at 09:12
  • I see your post on the physics SX site. Please don't post duplicates. – mankoff May 02 '12 at 09:25
  • http://www.ugrad.math.ubc.ca/coursedoc/math101/notes/applications/velocity.html – mankoff May 02 '12 at 09:35

1 Answers1

3

The distance from StartPoint to EndPoint is a vector with 3 values, and it can gives you the speed (distance unity/second)

velocity(EndPoint.X - StartPoint.X, EndPoint.Y - StartPoint.Y, EndPoint.Z - StartPoint.Z)

Now, if you want the acceleration, you'll have to do the same with two velocity values: The velocity at the startpoint, and the velocity one second later.

acceleration(EndVelocity.X - StartVelocity.X, EndVelocity.Y - StartVelocity.Y, EndVelocity.Z - StartVelocity.Z)

acceleration represents the acceleration for each axes (X, Y and Z) and is expressed in (distance unity/second²)

Renaud Dumont
  • 1,776
  • 13
  • 24