-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsketch.js
More file actions
102 lines (77 loc) · 2.09 KB
/
sketch.js
File metadata and controls
102 lines (77 loc) · 2.09 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
function setup() {
socket = io.connect('http://192.168.1.5:3000');
socket.on('mouse', newBody);
lowBoundX = 10;
lowBoundY = 10;
highBoundX = windowWidth - 10;
highBoundY = windowHeight - 120;
createCanvas(highBoundX + lowBoundX, highBoundY + lowBoundY);
background(20);
//frameRate(FR);
}
function draw() {
//frameRate(FR);
//console.log(Bodies.length);
//console.log(mouseX - pmouseX);
Vix = (mouseX - pmouseX) / 10;
Viy = (mouseY - pmouseY) / 10;
//line(mouseX, mouseY, pmouseX, pmouseY);
if (trails) {
fill(255, 20);
} else {
background(20);
}
Mip = Mi;
Mi = gravitySlider.value;
scl = Tdist.value;
Vi = Vinit.value;
if (Mi != Mip) {console.log(Mi);
}
for (var i = Bodies.length - 1; i >= 0; i--) {
Bodies[i].move();
if (!cols) {
if (isTorus) {
if (Bodies[i].x >= highBoundX) {
Bodies[i].x = lowBoundX;
}
if (Bodies[i].x <= lowBoundX) {
Bodies[i].x = highBoundX;
}
if (Bodies[i].y >= highBoundY) {
Bodies[i].y = lowBoundY;
}
if (Bodies[i].y <= lowBoundY) {
Bodies[i].y = highBoundY;
}
} else {
if (Bodies[i].x > highBoundX ||
Bodies[i].x < lowBoundX ||
Bodies[i].y > highBoundY ||
Bodies[i].y < lowBoundY) {
Bodies.splice(i, 1);
}
}
} else {
if (Bodies[i].x >= highBoundX) {
Bodies[i].vx = -Bodies[i].vx/2;
}
if (Bodies[i].x <= lowBoundX) {
Bodies[i].vx = -Bodies[i].vx/2;
}
if (Bodies[i].y >= highBoundY) {
Bodies[i].vy = -Bodies[i].vy/2;
}
if (Bodies[i].y <= lowBoundY) {
Bodies[i].vy = -Bodies[i].vy/2;
}
}
for (var f = i + 1; f < Bodies.length; f++) {
stroke(255);
nBody(Bodies[i], Bodies[f]);
if (showGraph) {
fill(40, 120, 60);
line(Bodies[i].x, Bodies[i].y, Bodies[f].x, Bodies[f].y);
}
}
} // i loop
} ///end of draw loop