-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInteraction.py
More file actions
executable file
·55 lines (54 loc) · 1.96 KB
/
Interaction.py
File metadata and controls
executable file
·55 lines (54 loc) · 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
class Interaction:
def __init__(self, isBall, number,
accelerationX,
accelerationY,
jerkX, jerkY, jerkTheta,
entryNormal,
accelerationAngular,
stiffness,
isCount):
self.isBall = isBall
self.number = number
self.isCount = isCount
if isCount or not isBall:
self.entryNormal = entryNormal
self.accelerationX = accelerationX
self.accelerationY = accelerationY
self.jerkX = jerkX
self.jerkY = jerkY
self.jerkTheta = jerkTheta
self.accelerationAngular = accelerationAngular
self.stiffness = stiffness
self.n = 1
self.maxEnergy = (stiffness * (entryNormal ** 2)) / 2
else:
self.entryNormal = 0
self.accelerationX = 0
self.accelerationY = 0
self.jerkX = 0
self.jerkY = 0
self.jerkTheta = 0
self.accelerationAngular = 0
self.stiffness = 0
self.n = 0
self.maxEnergy = 0
def changeAcceleration(self,
accelerationX,
accelerationY,
jerkX, jerkY, jerkTheta,
entryNormal,
accelerationAngular,
stiffness):
if self.isCount or not self.isBall:
self.accelerationX = accelerationX
self.accelerationY = accelerationY
self.jerkX = jerkX
self.jerkY = jerkY
self.jerkTheta = jerkTheta
self.entryNormal = entryNormal
self.accelerationAngular = accelerationAngular
self.stiffness = stiffness
self.n += 1
energy = (stiffness * (entryNormal ** 2)) / 2
if energy > self.maxEnergy:
self.maxEnergy = energy