Question

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?

Was it helpful?

Solution

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²)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top