我有一个使用Microsoft Kinect相机设备的应用程序。
在每个点我都可以在三维空间(X - Y - Z)中获得我的手的位置,我想计算每一轴上每秒钟的手的加速度。
基本上,我有一个起点的坐标,也是从那个起点开始的一秒之后,我想计算这两点之间的手的加速度。
StartPoint - (x1, y1, z1)
EndPoint after 1 sec from StartPoint ( 30 frames ) - (x2, y2, z2)
Acceleration between StartPoint and EndPoint = ?
此外,我可以获得手的所有其他坐标,但我想计算起点和终点之间的时间段内的加速度。
你能解释或告诉我怎么样?
答案 0 :(得分:3)
从StartPoint到EndPoint的距离是一个有3个值的向量,它可以给你速度(距离单位/秒)
velocity(EndPoint.X - StartPoint.X, EndPoint.Y - StartPoint.Y, EndPoint.Z - StartPoint.Z)
现在,如果你想要加速度,你必须对两个速度值做同样的事情:起始点的速度和一秒后的速度。
acceleration(EndVelocity.X - StartVelocity.X, EndVelocity.Y - StartVelocity.Y, EndVelocity.Z - StartVelocity.Z)
acceleration 表示每个轴(X,Y和Z)的加速度,用(距离单位/秒2)表示