changeset 17187:1c2f14a7935d

comet3.m: Speed up animation by using low-level graphic commands. * scripts/plot/comet3.m: Speed up animation by using low-level graphic commands. * scripts/plot/comet.m: Adjust spacing of args to plot function--just for looks.
author Rik <rik@octave.org>
date Mon, 05 Aug 2013 15:54:56 -0700
parents c954b0a396a2
children b90915ba489d
files scripts/plot/comet.m scripts/plot/comet3.m
diffstat 2 files changed, 12 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/plot/comet.m	Mon Aug 05 15:44:02 2013 -0700
+++ b/scripts/plot/comet.m	Mon Aug 05 15:54:56 2013 -0700
@@ -75,7 +75,7 @@
       k = min ([n, num]);
       set (hl(1), "xdata", x(1:m), "ydata", y(1:m));
       set (hl(2), "xdata", x(m:k), "ydata", y(m:k));
-      set (hl(3), "xdata", x(k), "ydata", y(k));
+      set (hl(3), "xdata", x(k),   "ydata", y(k));
       drawnow ();
       pause (p);
     endfor
--- a/scripts/plot/comet3.m	Mon Aug 05 15:44:02 2013 -0700
+++ b/scripts/plot/comet3.m	Mon Aug 05 15:54:56 2013 -0700
@@ -65,14 +65,19 @@
     limits = [min(x), max(x), min(y), max(y), min(z), max(z)];
     num = numel (y);
     dn = round (num/10);
-    for n = 1:(num+dn);
+
+    hl = plot3 (x(1), y(1), z(1), "color", "r", "marker", "none",
+                x(1), y(1), z(1), "color", "g", "marker", "none",
+                x(1), y(1), z(1), "color", "b", "marker", "o");
+    axis (limits);  # set manual limits to speed up plotting
+
+    for n = 2:(num+dn);
       m = n - dn;
       m = max ([m, 1]);
       k = min ([n, num]);
-      htmp = plot3 (x(1:m), y(1:m), z(1:m), "r",
-                    x(m:k), y(m:k), z(m:k), "g",
-                    x(k), y(k), z(k), "ob");
-      axis (limits);
+      set (hl(1), "xdata", x(1:m), "ydata", y(1:m), "zdata", z(1:m));
+      set (hl(2), "xdata", x(m:k), "ydata", y(m:k), "zdata", z(m:k));
+      set (hl(3), "xdata", x(k)  , "ydata", y(k)  , "zdata", z(k));
       drawnow ();
       pause (p);
     endfor
@@ -88,5 +93,5 @@
 %!demo
 %! clf;
 %! t = 0:pi/20:5*pi;
-%! comet3 (cos (t), sin (t), t, 0.01);
+%! comet3 (cos (t), sin (t), t, 0.05);