-
Notifications
You must be signed in to change notification settings - Fork 1
/
plot_motive_rotation.m
85 lines (81 loc) · 3.48 KB
/
plot_motive_rotation.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
function plot_motive_rotation(opti_data,angle_type)
if istable(opti_data)
switch angle_type
case 'quaternion'
figure;
set(gcf,'Position',[1 1 1000 900]);
subplot(4,1,1);
plot(opti_data.Time,opti_data.X_Rotation,'r','LineWidth',2);
set(gca,'FontSize',12);
title('Rigid Body Rotation: X','FontSize',16);
subplot(4,1,2);
plot(opti_data.Time,opti_data.Y_Rotation,'g','LineWidth',2);
set(gca,'FontSize',12);
title('Rigid Body Rotation: Y','FontSize',16);
subplot(4,1,3);
plot(opti_data.Time,opti_data.Z_Rotation,'b','LineWidth',2);
set(gca,'FontSize',12);
title('Rigid Body Rotation: Z','FontSize',16);
subplot(4,1,4);
plot(opti_data.Time,opti_data.W_Rotation,'k','LineWidth',2);
title('Rigid Body Rotation: W','FontSize',16);
set(gca,'FontSize',12);
xlabel('Time (s)','FontSize',16);
case 'euler'
figure;
set(gcf,'Position',[1 1 1000 900]);
subplot(3,1,1);
plot(opti_data.Time,opti_data.X_Rotation,'r','LineWidth',2);
set(gca,'FontSize',12);
title('Rigid Body Rotation: X','FontSize',16);
subplot(3,1,2);
plot(opti_data.Time,opti_data.Y_Rotation,'g','LineWidth',2);
set(gca,'FontSize',12);
title('Rigid Body Rotation: Y','FontSize',16);
subplot(3,1,3);
plot(opti_data.Time,opti_data.Z_Rotation,'b','LineWidth',2);
set(gca,'FontSize',12);
title('Rigid Body Rotation: Z','FontSize',16);
xlabel('Time (s)','FontSize',16);
end
else
switch angle_type
case 'quaternion'
figure;
set(gcf,'Position',[1 1 1000 900]);
subplot(4,1,1);
plot(opti_data.time,opti_data.rigidbodies.data(:,1),'k','LineWidth',2);
set(gca,'FontSize',12);
title('Rigid Body Rotation: X','FontSize',16);
subplot(4,1,2);
plot(opti_data.time,opti_data.rigidbodies.data(:,2),'k','LineWidth',2);
set(gca,'FontSize',12);
title('Rigid Body Rotation: Y','FontSize',16);
subplot(4,1,3);
plot(opti_data.time,opti_data.rigidbodies.data(:,3),'k','LineWidth',2);
set(gca,'FontSize',12);
title('Rigid Body Rotation: Z','FontSize',16);
subplot(4,1,4);
plot(opti_data.time,opti_data.rigidbodies.data(:,4),'k','LineWidth',2);
title('Rigid Body Rotation: W','FontSize',16);
set(gca,'FontSize',12);
xlabel('Time (s)','FontSize',16);
case 'euler'
figure;
set(gcf,'Position',[1 1 1000 900]);
subplot(3,1,1);
plot(opti_data.time,opti_data.rigidbodies.data(:,1),'k','LineWidth',2);
set(gca,'FontSize',12);
title('Rigid Body Rotation: X','FontSize',16);
subplot(3,1,2);
plot(opti_data.time,opti_data.rigidbodies.data(:,2),'k','LineWidth',2);
set(gca,'FontSize',12);
title('Rigid Body Rotation: Y','FontSize',16);
subplot(3,1,3);
plot(opti_data.time,opti_data.rigidbodies.data(:,3),'k','LineWidth',2);
set(gca,'FontSize',12);
title('Rigid Body Rotation: Z','FontSize',16);
xlabel('Time (s)','FontSize',16);
print('opti_rot','-dpng','-r300');
end
end