changeset 270:05c9b0cb8202

updates for drawing
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Thu, 02 Aug 2012 05:35:57 -0400
parents a9988971aac8
children bbd9c09e6869
files python/extrapolation.py python/moving.py
diffstat 2 files changed, 15 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/python/extrapolation.py	Sun Jul 29 04:09:43 2012 -0400
+++ b/python/extrapolation.py	Thu Aug 02 05:35:57 2012 -0400
@@ -30,8 +30,8 @@
     def getPredictedSpeeds(self):
         return [so.norm for so in self.predictedSpeedOrientations.values()]
 
-    def draw(self, options = '', withOrigin = False, **kwargs):
-        self.getPredictedTrajectory().draw(options, withOrigin, **kwargs)
+    def draw(self, options = '', withOrigin = False, timeStep = 1, **kwargs):
+        self.getPredictedTrajectory().draw(options, withOrigin, timeStep, **kwargs)
 
 class ExtrapolatedTrajectoryConstant(ExtrapolatedTrajectory):
     '''Extrapolated trajectory at constant speed or acceleration
--- a/python/moving.py	Sun Jul 29 04:09:43 2012 -0400
+++ b/python/moving.py	Thu Aug 02 05:35:57 2012 -0400
@@ -376,12 +376,12 @@
         self.addPositionXY(p.x, p.y)
 
     @staticmethod
-    def _draw(positions, options = '', withOrigin = False, lastCoordinate = None, **kwargs):
+    def _draw(positions, options = '', withOrigin = False, lastCoordinate = None, timeStep = 1, **kwargs):
         from matplotlib.pylab import plot
         if lastCoordinate == None:
-            plot(positions[0], positions[1], options, **kwargs)
+            plot(positions[0][::timeStep], positions[1][::timeStep], options, **kwargs)
         elif 0 <= lastCoordinate <= len(positions[0]):
-            plot(positions[0][:lastCoordinate], positions[1][:lastCoordinate], options, **kwargs)
+            plot(positions[0][:lastCoordinate:timeStep], positions[1][:lastCoordinate:timeStep], options, **kwargs)
         if withOrigin:
             plot([positions[0][0]], [positions[1][0]], 'ro', **kwargs)
 
@@ -390,17 +390,17 @@
         projected = cvutils.projectArray(homography, array(self.positions))
         return Trajectory(projected)
 
-    def draw(self, options = '', withOrigin = False, **kwargs):
-        Trajectory._draw(self.positions, options, withOrigin,**kwargs)
+    def draw(self, options = '', withOrigin = False, timeStep = 1, **kwargs):
+        Trajectory._draw(self.positions, options, withOrigin, None, timeStep, **kwargs)
 
-    def drawAt(self, lastCoordinate, options = '', withOrigin = False, **kwargs):
-        Trajectory._draw(self.positions, options, withOrigin, lastCoordinate, **kwargs)
+    def drawAt(self, lastCoordinate, options = '', withOrigin = False, timeStep = 1, **kwargs):
+        Trajectory._draw(self.positions, options, withOrigin, lastCoordinate, timeStep, **kwargs)
 
-    def drawOnWorldImage(self, nPixelsPerUnitDistance, imageHeight, options = '', withOrigin = False, **kwargs):
+    def drawOnWorldImage(self, nPixelsPerUnitDistance, imageHeight, options = '', withOrigin = False, timeStep = 1, **kwargs):
         from matplotlib.pylab import plot
         imgPositions = [[x*nPixelsPerUnitDistance for x in self.positions[0]],
                         [-x*nPixelsPerUnitDistance+imageHeight for x in self.positions[1]]]
-        Trajectory._draw(imgPositions, options, withOrigin, **kwargs)
+        Trajectory._draw(imgPositions, options, withOrigin, timeStep, **kwargs)
 
     def getXCoordinates(self):
         return self.positions[0]
@@ -568,11 +568,11 @@
     def getYCoordinates(self):
         return self.positions.getYCoordinates()
     
-    def draw(self, options = '', withOrigin = False, **kwargs):
-        self.positions.draw(options, withOrigin, **kwargs)
+    def draw(self, options = '', withOrigin = False, timeStep = 1, **kwargs):
+        self.positions.draw(options, withOrigin, timeStep, **kwargs)
 
-    def drawOnWorldImage(self, nPixelsPerUnitDistance, imageHeight, options = '', withOrigin = False, **kwargs):
-        self.positions.drawOnWorldImage(nPixelsPerUnitDistance, imageHeight, options, withOrigin, **kwargs)
+    def drawOnWorldImage(self, nPixelsPerUnitDistance, imageHeight, options = '', withOrigin = False, timeStep = 1, **kwargs):
+        self.positions.drawOnWorldImage(nPixelsPerUnitDistance, imageHeight, options, withOrigin, timeStep, **kwargs)
 
     def play(self, videoFilename, homography = None):
         cvutils.displayTrajectories(videoFilename, [self], homography, self.getFirstInstant(), self.getLastInstant())