comparison python/moving.py @ 49:1fb5606506ae

re-arrangement
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Sat, 25 Sep 2010 11:33:07 -0400
parents 6d11d9e7ad4e
children c354d41ef7cd
comparison
equal deleted inserted replaced
48:8aed225f71d8 49:1fb5606506ae
133 133
134 def norm2(self): 134 def norm2(self):
135 '2-norm distance (Euclidean distance)' 135 '2-norm distance (Euclidean distance)'
136 return sqrt(self.norm2Squared()) 136 return sqrt(self.norm2Squared())
137 137
138 @staticmethod
138 def distanceNorm2(p1, p2): 139 def distanceNorm2(p1, p2):
139 return (p1-p2).norm2() 140 return (p1-p2).norm2()
140 141
141 def aslist(self): 142 def aslist(self):
142 return [self.x, self.y] 143 return [self.x, self.y]
222 '''Returns the list of the norms at each instant''' 223 '''Returns the list of the norms at each instant'''
223 # def add(x, y): return x+y 224 # def add(x, y): return x+y
224 # sq = map(add, [x*x for x in self.positions[0]], [y*y for y in self.positions[1]]) 225 # sq = map(add, [x*x for x in self.positions[0]], [y*y for y in self.positions[1]])
225 # return sqrt(sq) 226 # return sqrt(sq)
226 return [hypot(x,y) for x,y in zip(self.positions[0], self.positions[1])] 227 return [hypot(x,y) for x,y in zip(self.positions[0], self.positions[1])]
228
229 def cumulatedDisplacement(self):
230 displacement = 0
231 for i in xrange(self.length()-1):
232 displacement += Point.distanceNorm2(self.__getitem__(i),self.__getitem__(i+1))
233 return displacement
234
235 def wiggliness(self):
236 return self.cumulatedDisplacement()/float(Point.distanceNorm2(self.__getitem__(0),self.__getitem__(self.length()-1)))
227 237
228 def getTrajectoryInInterval(self, inter): 238 def getTrajectoryInInterval(self, inter):
229 if inter.first >=0 and inter.last<= self.length(): 239 if inter.first >=0 and inter.last<= self.length():
230 return Trajectory([self.positions[0][inter.first:inter.last], 240 return Trajectory([self.positions[0][inter.first:inter.last],
231 self.positions[1][inter.first:inter.last]]) 241 self.positions[1][inter.first:inter.last]])
268 def getPositions(self): 278 def getPositions(self):
269 return self.positions 279 return self.positions
270 280
271 def getVelocities(self): 281 def getVelocities(self):
272 return self.velocities 282 return self.velocities
283
284 def getSpeeds(self):
285 return self.getVelocities().norm()
273 286
274 def getPositionAt(self, i): 287 def getPositionAt(self, i):
275 return self.positions[i] 288 return self.positions[i]
276 289
277 def getVelocityAt(self, i): 290 def getVelocityAt(self, i):