Mercurial > hg > nsaunier > traffic-intelligence
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 181:42142c5223ce | 182:d3f6de6c3918 |
|---|---|
| 265 self.positions[0].append(x) | 265 self.positions[0].append(x) |
| 266 self.positions[1].append(y) | 266 self.positions[1].append(y) |
| 267 | 267 |
| 268 def addPosition(self, p): | 268 def addPosition(self, p): |
| 269 self.addPositionXY(p.x, p.y) | 269 self.addPositionXY(p.x, p.y) |
| 270 | 270 |
| 271 def draw(self, options = ''): | 271 @staticmethod |
| 272 def _draw(positions, options = '', withOrigin = False): | |
| 272 from matplotlib.pylab import plot | 273 from matplotlib.pylab import plot |
| 273 plot(self.positions[0], self.positions[1], options) | 274 plot(positions[0], positions[1], options) |
| 275 if withOrigin: | |
| 276 plot([positions[0][0]], [positions[1][0]], 'ro') | |
| 277 | |
| 278 def draw(self, options = '', withOrigin = False): | |
| 279 Trajectory._draw(self.positions, options, withOrigin) | |
| 280 | |
| 281 def drawOnImage(self, nPixelsPerUnitDistance, imageHeight, options = '', withOrigin = False): | |
| 282 from matplotlib.pylab import plot | |
| 283 imgPositions = [[x*nPixelsPerUnitDistance for x in self.positions[0]], | |
| 284 [-x*nPixelsPerUnitDistance+imageHeight for x in self.positions[1]]] | |
| 285 Trajectory._draw(imgPositions, options, withOrigin) | |
| 274 | 286 |
| 275 def length(self): | 287 def length(self): |
| 276 return len(self.positions[0]) | 288 return len(self.positions[0]) |
| 277 | 289 |
| 278 def getXCoordinates(self): | 290 def getXCoordinates(self): |
| 433 return self.positions.getXCoordinates() | 445 return self.positions.getXCoordinates() |
| 434 | 446 |
| 435 def getYCoordinates(self): | 447 def getYCoordinates(self): |
| 436 return self.positions.getYCoordinates() | 448 return self.positions.getYCoordinates() |
| 437 | 449 |
| 438 def draw(self, options = ''): | 450 def draw(self, options = '', withOrigin = False): |
| 439 self.positions.draw(options) | 451 self.positions.draw(options, withOrigin) |
| 452 | |
| 453 def drawOnImage(self, nPixelsPerUnitDistance, imageHeight, options = '', withOrigin = False): | |
| 454 self.positions.drawOnImage(nPixelsPerUnitDistance, imageHeight, options, withOrigin) | |
| 440 | 455 |
| 441 def getInstantsCrossingLane(self, p1, p2): | 456 def getInstantsCrossingLane(self, p1, p2): |
| 442 '''Returns the instant(s) | 457 '''Returns the instant(s) |
| 443 at which the object passes from one side of the segment to the other | 458 at which the object passes from one side of the segment to the other |
| 444 empty list if there is no crossing''' | 459 empty list if there is no crossing''' |
