Mercurial Hosting > traffic-intelligence
view scripts/TTCcomputation.py @ 451:cd342a774806
Point/CurvilinearTrajectory/Interaction utiles
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Thu, 13 Feb 2014 01:24:27 -0500 |
parents | ea907ae19d8c |
children |
line wrap: on
line source
def TTC(x1,y1,x2,y2,v1x,v1y,v2x,v2y,l): a = pow(v1x-v2x,2) + pow(v1y-v2y,2) b = 2 * ((x1-x2) * (v1x-v2x) + (y1-y2) * (v1y-v2y)) c = pow(x1-x2,2) + pow(y1-y2,2) - pow(l,2) if pow(b,2) >= 4*a*c: ttc1 = (-b + sqrt(pow(b,2) - 4*a*c)) / (2*a) ttc2 = (-b - sqrt(pow(b,2) - 4*a*c)) / (2*a) if ttc1 >= 0 and ttc2 >= 0: ttc = min(ttc1,ttc2) else: if ttc1 < 0: ttc = ttc if ttc2 < 0: ttc = ttc1 if ttc1 < 0 and ttc2 < 0: ttc = [] else: ttc = [] return ttc