0
我需要一些幫助來形成一個循環來繪製一些數據。循環遍歷所有行並繪製MATLAB
我有五個骨骼關節;每個JOINT矩陣在某個時間點包含一個x,y座標。 x,y和z是列,即每一行中的座標。 例如
x y z
0.5 0.6 1.3
四個關節是同步的,每個JOINTS1,2,3和4同一行同時被捕獲。我試圖加入這些關節,看看用戶如何移動手臂。作爲參考,這些是在右臂捕獲的關節。關節1 =肩膀,2 =肘關節,3 =手腕,4 =手。
我希望能夠通過遍歷每一行並繪製直線來連續繪製這些關節。矩陣的大小總是隨着我跟蹤的人而變化,所以我需要循環遍歷每一行矩陣的1,2,3和4節點並繪製線,增加一行,然後繪製下一行。
小例子:
J = JOINT(1,:)
% Joint rows varies between each user. I would like a function to
% extract rows, plot, move onto next row, plot. (ideally with a second delay)
X1 = J(:,1);
Y1 = J(:,2);
Z1 = J(:,3);
line(X1 Y1 Z1)
實際代碼:
CA = JOINT1(13,:);
CB = JOINT2(13,:);
CC = JOINT3(13,:);
CD = JOINT4(13,:);
X1 = CA(:,1);
Y1 = CA(:,2);
Z1 = CA(:,3);
X2 = CB(:,1);
Y2 = CB(:,2);
Z2 = CB(:,3);
X3 = CC(:,1);
Y3 = CC(:,2);
Z3 = CC(:,3);
X4 = CD(:,1);
Y4 = CD(:,2);
Z4 = CD(:,3);
line([X1, X2, X3, X4],[Y1, Y2, Y3, Y4], [Z1, Z2, Z3, Z4]);
所以我相信它會是這樣的
[x y] = size(JOINT1);
figure;
for i=1:x
plot(JOINT1(i,:));
hold on;
plot(JOINT2(i,:));
end
我想看到這些在一秒鐘的延遲,但是一旦我將這種繪圖方法自動化,我可以自己嘗試一下!另外,如果有人知道我如何在每個關節的座標上(例如X1,Y1,Z1)繪製一個圓,這也是非常方便的,因爲我最終希望看到關節之間的角度。
任何幫助,將理解
請提供一個[最小,完整的,並且可驗證](http://stackoverflow.com/help/mcve)的例子。 – excaza
是否要在每個時間步連接所有關節(即在時間1時關節1,2,3,4形成一個多邊形,在時間2時它們形成多邊形等),或者連接一個關節,即連接關節1在t1等於t2的關節1等,t1的關節2連接t2的關節2等? – Adriaan
我想現在我想連接每個時間步的所有關節。因此,在上面貼出的示例中,我在第13秒加入座標(我正在通過每個關節的行進行手動循環),但是我希望它在每一行之間繪製第二個延遲。 –