mirror of
https://gitlab.com/MisterBiggs/Resume.git
synced 2025-06-16 01:16:39 +00:00
65 lines
1.8 KiB
JavaScript
65 lines
1.8 KiB
JavaScript
// Gravitational Attraction
|
|
// The Nature of Code
|
|
// The Coding Train / Daniel Shiffman
|
|
// https://youtu.be/EpgB3cNhKPM
|
|
// https://thecodingtrain.com/learning/nature-of-code/2.5-gravitational-attraction.html
|
|
// https://editor.p5js.org/codingtrain/sketches/MkLraatd
|
|
|
|
let movers = [];
|
|
let attractor;
|
|
var canvas;
|
|
|
|
function windowResized() {
|
|
resizeCanvas(windowWidth, windowHeight);
|
|
}
|
|
|
|
function setup() {
|
|
canvas = createCanvas(windowWidth, windowHeight);
|
|
canvas.position(0, 0);
|
|
canvas.style("z-index", "-1");
|
|
|
|
const params = new URLSearchParams(window.location.search);
|
|
|
|
if (params.has("gay")) {
|
|
console.log('The "gay" parameter exists in the URL.');
|
|
movers[0] = new Mover(0, 0, 5, -5, 50);
|
|
movers[0].col = color("#D12229");
|
|
movers[1] = new Mover(width / 5, height / 5, -5, -5, 50);
|
|
movers[1].col = color("#F68A1E");
|
|
movers[2] = new Mover((2 * width) / 5, (2 * height) / 5, -5, -5, 50);
|
|
movers[2].col = color("#FDE01A");
|
|
movers[3] = new Mover((3 * width) / 5, (3 * height) / 5, -5, -5, 50);
|
|
movers[3].col = color("#007940");
|
|
movers[4] = new Mover((4 * width) / 5, (4 * height) / 5, -5, -5, 50);
|
|
movers[4].col = color("#24408E");
|
|
movers[5] = new Mover(width, height, -5, -5, 50);
|
|
movers[5].col = color("#732982");
|
|
} else {
|
|
movers[0] = new Mover(10, 10, 5, -5, 50);
|
|
movers[0].col = color("red");
|
|
movers[1] = new Mover(width / 2, height / 2, -5, -5, 60);
|
|
movers[1].col = color("white");
|
|
movers[2] = new Mover(width - 10, height - 10, -5, -5, 40);
|
|
movers[2].col = color("blue");
|
|
}
|
|
|
|
background(0);
|
|
}
|
|
|
|
function draw() {
|
|
background(0, 75);
|
|
for (let mover of movers) {
|
|
mover.mouse_mass();
|
|
for (let other of movers) {
|
|
if (mover !== other) {
|
|
mover.attract(other);
|
|
}
|
|
}
|
|
}
|
|
for (let mover of movers) {
|
|
mover.update();
|
|
mover.edges();
|
|
mover.show();
|
|
}
|
|
}
|