Mercurial Hosting > traffic-intelligence
diff trafficintelligence/moving.py @ 1114:7135b5eaa6b4
correcting poor requirement for interpolateCurvilinearPositions (when changing alignment)
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Fri, 21 Jun 2019 15:54:04 -0400 |
parents | 956a66096e91 |
children | cef7aa2f9931 |
line wrap: on
line diff
--- a/trafficintelligence/moving.py Thu Jun 20 10:39:21 2019 -0400 +++ b/trafficintelligence/moving.py Fri Jun 21 15:54:04 2019 -0400 @@ -1450,12 +1450,15 @@ i = int(floor(t)) p1 = self.getCurvilinearPositionAtInstant(i) p2 = self.getCurvilinearPositionAtInstant(i+1) - alpha = t-float(i) - if alpha < 0.5: - lane = p1[2] + if p1[2] == p2[2]: + alpha = t-float(i) + # if alpha < 0.5: + # lane = p1[2] + # else: + # lane = p2[2] + return [(1-alpha)*p1[0]+alpha*p2[0], (1-alpha)*p1[1]+alpha*p2[1], p1[2]] else: - lane = p2[2] - return [(1-alpha)*p1[0]+alpha*p2[0], (1-alpha)*p1[1]+alpha*p2[1], lane] + print('Object {} changes lane at {}'.format(self.getNum(), t)) else: print('Object {} does not exist at {}'.format(self.getNum(), t)) else: