我在时间(a
)和3点(b
,{{我的图像上有3分(c
,t
,a1
) 1}},b1
)时间(c1
)。每个点都有(t-1
,x
,y
)坐标。我想计算每个点之间的速度和方向。计算a点和a1点之间的速度是:
z
类似地,我们将计算Va= sqrt ((xt-xt-1)^2 + (yt-yt-1)^2 +(zt-zt-1)^2) / framerate
和b
,b1
和c
之间的速度。
我想问一下,为了找到所有时间点的速度(c1
),我会添加t
,Va
和Vb
的速度?我怎样才能找到方向?
答案 0 :(得分:0)
你的速度是标量,通常速度是矢量 要计算速度 vector ,您需要
v = [ (x(t)-x(t-1)), (y(t)-y(t-1)), (z(t)-z(t-1))]/framerate;
现在v
是一个指向运动方向的矢量,它的大小是"速度"议案
mag = sqrt( v*v' );
mag
应该等于您计算的Va
。
答案 1 :(得分:0)
不,所有的速度都是矢量。在3D中,这意味着在x-y和z方向上存在分量。
您需要使用差异来计算每个点的矢量分量:
vx(1, t+dt) = (x(1, t+dt)-x(1, t))/dt
vy(1, t+dt) = (y(1, t+dt)-y(1, t))/dt
vz(1, t+dt) = (z(1, t+dt)-z(1, t))/dt
其中dt
是时间增量,(x(j, t), y(j, t), z(j, t))
是时间t的点j的坐标,(vx(j, t), vy(j, t), vz(j, t))
是时间t的点j的速度分量。
一旦你有了,通常的矢量操作就适用了。