MATLAB içerisinde bir zaman dilimi boyunca bir veri noktasının hareketini görsel olarak göstermek istiyorum. Ancak, şeklimin gösterilmesini istediğim şekilde, herhangi bir zamanda sadece bir anın çizileceği şekildedir. Bu kolaydı, verilerimdeki her bir koordinat kümesi (x, y, z) için 3D grafik ekranımı güncellemek için bir for döngüsü oluşturdum. Ancak, bu arsanın 4 farklı bakış açısını her zaman göstermeyi diliyorum. MATLAB içinde alt piksellerin nasıl kurulacağının farkındayım, sorun bu değil. Sorunum, bu alt bölümlerin 4'ünün eşzamanlı olarak yürütülmesini sağlamaktır, böylece tüm 4 alt yazı her zaman aynı noktayı zaman içinde görüntüler.MATLAB Materyalleri ayrı ayrı ayrı alt noktalardaki veri noktalarının hareketli olarak izlenmesi
Bu sorunun nasıl üstesinden gelebileceğini önermek isterse memnun olurum. İstendiği gibi
, tek parselde ile bir rakam benim kod aşağıda gösterilmiştir:
datan = DATA; %data in form of x,y,z,a,b,c by column for row# of time points
tib=zeros(size(datan,1),12);
tib(:,1:3) = datan(:,1:3);
tib_ref=tib(1,1:3);
for i=1:size(datan,1)
tib(i,1:3)=tib(i,1:3)-tib_ref;
end
angle_to_dircos
close all
figure('Name','Directions (Individual Cycles)','NumberTitle','off')
for cc=1:2
hold off
for bb=1:10:size(tib,1);
scatter3(tib(bb,1),tib(bb,2),tib(bb,3),'green','filled'); %z and y axes are flipped in polhemus system
hold on
p0 = [tib(bb,1),tib(bb,2),tib(bb,3)];
p1 = [tib(bb,1)+10*tib(bb,4),tib(bb,2)+10*tib(bb,5),tib(bb,3)+10*tib(bb,6)];
p2 = [tib(bb,1)+10*tib(bb,7),tib(bb,2)+10*tib(bb,8),tib(bb,3)+10*tib(bb,9)];
p3 = [-(tib(bb,1)+100*tib(bb,10)),-(tib(bb,2)+100*tib(bb,11)),-(tib(bb,3)+100*tib(bb,12))];
vectarrow(p0,p1,1,0,0)
hold on
vectarrow(p0,p2,0,1,0)
hold on
vectarrow(p0,p3,0,0,1)
hold on
az = 90;
el = 0;
view(az, el);
xlim([-50,50]);
ylim([-50,50]);
zlim([-50,50]);
xlabel('distance from center in X');
ylabel('distance from center in Y');
zlabel('distance from center in Z');
title('XYZ Scatter Plots of Tracker Position');
hold on
plot3(0,0,0,'sk','markerfacecolor',[0,0,0]);
p0 = [0,0,0];
p1 = [10,0,0];
p2 = [0,10,0];
p3 = [0,0,100];
vectarrow(p0,p1,1,0,0)
hold on
vectarrow(p0,p2,0,1,0)
hold on
vectarrow(p0,p3,1,0,1)
drawnow;
end
end
var? – HebeleHododo
Mutlu olurum. Ancak, bu yorumlar bölümü için kodum çok uzun. Kodu burada paylaşmanın daha iyi bir yolu var mı? –
Gönderinizi düzenleyebilir misiniz? – HebeleHododo