Domanda

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?

È stato utile?

Soluzione

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top