Mercurial Hosting > traffic-intelligence
diff python/moving.py @ 182:d3f6de6c3918
added drawing functialities, in particular on aerial image
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Thu, 24 Nov 2011 19:00:04 -0500 |
parents | 74b1fc68d4df |
children | d70e9b36889c |
line wrap: on
line diff
--- a/python/moving.py Wed Nov 23 15:57:42 2011 -0500 +++ b/python/moving.py Thu Nov 24 19:00:04 2011 -0500 @@ -267,10 +267,22 @@ def addPosition(self, p): self.addPositionXY(p.x, p.y) - - def draw(self, options = ''): + + @staticmethod + def _draw(positions, options = '', withOrigin = False): from matplotlib.pylab import plot - plot(self.positions[0], self.positions[1], options) + plot(positions[0], positions[1], options) + if withOrigin: + plot([positions[0][0]], [positions[1][0]], 'ro') + + def draw(self, options = '', withOrigin = False): + Trajectory._draw(self.positions, options, withOrigin) + + def drawOnImage(self, nPixelsPerUnitDistance, imageHeight, options = '', withOrigin = False): + 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) def length(self): return len(self.positions[0]) @@ -435,8 +447,11 @@ def getYCoordinates(self): return self.positions.getYCoordinates() - def draw(self, options = ''): - self.positions.draw(options) + def draw(self, options = '', withOrigin = False): + self.positions.draw(options, withOrigin) + + def drawOnImage(self, nPixelsPerUnitDistance, imageHeight, options = '', withOrigin = False): + self.positions.drawOnImage(nPixelsPerUnitDistance, imageHeight, options, withOrigin) def getInstantsCrossingLane(self, p1, p2): '''Returns the instant(s)