-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
node.pde
50 lines (45 loc) · 1.08 KB
/
node.pde
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
class Node {
/* initalize variables */
float x, y, radius, velocity_x, velocity_y, mass, friction;
/* constructor */
Node(float x_, float y_) {
x = x_;
y = y_;
velocity_x = random(-0.07, 0.07);
velocity_y = random(-0.07, 0.07);
mass = random(2, 4);
radius = mass*4;
friction = 0.04;
}
/* displaying node function */
void display() {
fill(255); /* set fill color */
ellipse(x, y, 2*radius, 2*radius); /* draw ellipse */
}
/* update node */
void update() {
/* move */
x += velocity_x;
y += velocity_y;
/* screen border collission
if (x > width - radius) {
x = width - radius;
velocity_x = -velocity_x;
}
if (y > height - radius) {
y = height - radius;
velocity_y = -velocity_y;
}
if (x < radius) {
x = radius;
velocity_x = -velocity_x;
}
if (y < radius) {
y = radius;
velocity_y = -velocity_y;
}*/
/* calculate friction */
velocity_x = lerp(velocity_x, 0, friction);
velocity_y = lerp(velocity_y, 0, friction);
}
}