changeset 325:6c9c7c956926

added velocity angle in indicators
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Fri, 10 May 2013 21:32:11 +0200
parents 99ca91a46007
children f7872d15a6cc
files python/events.py
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/python/events.py	Thu May 09 04:02:46 2013 +0200
+++ b/python/events.py	Fri May 10 21:32:11 2013 +0200
@@ -52,11 +52,15 @@
         '''Computes the collision course cosine only if the cosine is positive'''
         collisionCourseDotProducts = {}#[0]*int(self.timeInterval.length())
         collisionCourseAngles = {}
+        velocityAngles = {}
         distances = {}#[0]*int(self.timeInterval.length())
         speedDifferentials = {}
         for instant in self.timeInterval:
             deltap = self.roadUser1.getPositionAtInstant(instant)-self.roadUser2.getPositionAtInstant(instant)
-            deltav = self.roadUser2.getVelocityAtInstant(instant)-self.roadUser1.getVelocityAtInstant(instant)
+            v1 = self.roadUser1.getVelocityAtInstant(instant)
+            v2 = self.roadUser2.getVelocityAtInstant(instant)
+            deltav = v2-v1
+            velocityAngles[instant] = arccos(moving.Point.dot(v1, v2)/(v1.norm2()*v2.norm2()))
             collisionCourseDotProducts[instant] = moving.Point.dot(deltap, deltav)
             distances[instant] = deltap.norm2()
             speedDifferentials[instant] = deltav.norm2()
@@ -67,6 +71,7 @@
         self.addIndicator(indicators.SeverityIndicator('Collision Course Dot Product', collisionCourseDotProducts))
         self.addIndicator(indicators.SeverityIndicator('Collision Course Angle', collisionCourseAngles))
         self.addIndicator(indicators.SeverityIndicator('Distance', distances))
+        self.addIndicator(indicators.SeverityIndicator('Velocity Angle', velocityAngles))
         self.addIndicator(indicators.SeverityIndicator('Speed Differential', speedDifferentials))
 
         # todo test for interaction instants and interval, compute indicators