mirror of
https://gitlab.com/MisterBiggs/Resume.git
synced 2025-06-16 09:26:40 +00:00
give mouse gravity
This commit is contained in:
parent
82d7d557f7
commit
1a0817ddff
17
p5/mover.js
17
p5/mover.js
@ -12,10 +12,25 @@ class Mover {
|
|||||||
this.vel = createVector(vx, vy);
|
this.vel = createVector(vx, vy);
|
||||||
this.acc = createVector(0, 0);
|
this.acc = createVector(0, 0);
|
||||||
this.mass = m;
|
this.mass = m;
|
||||||
this.r = sqrt(this.mass) * 0.75;
|
this.r = sqrt(this.mass) * 1;
|
||||||
this.col = color(255);
|
this.col = color(255);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mouse_mass() {
|
||||||
|
if (focused) {
|
||||||
|
let force = p5.Vector.sub(createVector(mouseX, mouseY), this.pos);
|
||||||
|
let distanceSq = constrain(force.magSq(), 10, 1000);
|
||||||
|
let G = 3;
|
||||||
|
let strength = (G * this.mass * 50) / distanceSq;
|
||||||
|
force.setMag(strength);
|
||||||
|
this.applyForce(force);
|
||||||
|
|
||||||
|
// noStroke();
|
||||||
|
// fill("lightgreen");
|
||||||
|
// ellipse(mouseX, mouseY, 30);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
attract(other) {
|
attract(other) {
|
||||||
let force = p5.Vector.sub(this.pos, other.pos);
|
let force = p5.Vector.sub(this.pos, other.pos);
|
||||||
let distanceSq = constrain(force.magSq(), 10, 1000);
|
let distanceSq = constrain(force.magSq(), 10, 1000);
|
||||||
|
29
p5/sketch.js
29
p5/sketch.js
@ -16,20 +16,35 @@ function windowResized(){
|
|||||||
function setup() {
|
function setup() {
|
||||||
canvas = createCanvas(windowWidth, windowHeight);
|
canvas = createCanvas(windowWidth, windowHeight);
|
||||||
canvas.position(0, 0);
|
canvas.position(0, 0);
|
||||||
canvas.style("z-index", "-1")
|
canvas.style("z-index", "-1");
|
||||||
|
|
||||||
movers[0] = new Mover(width/4, height, 5, -5, 55);
|
movers[0] = new Mover(10, 10, 5, -5, 50);
|
||||||
movers[0].col = color('red');
|
movers[0].col = color("red");
|
||||||
movers[1] = new Mover(3*width/4, height, -5, -5, 50);
|
movers[1] = new Mover(width / 2, height / 2, -5, -5, 60);
|
||||||
movers[1].col = color('white');
|
movers[1].col = color("white");
|
||||||
movers[2] = new Mover(2*width/4, height, -5, -5, 45);
|
movers[2] = new Mover(width - 10, height - 10, -5, -5, 40);
|
||||||
movers[2].col = color('blue');
|
movers[2].col = color("blue");
|
||||||
|
|
||||||
|
// Gay Mode
|
||||||
|
// 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');
|
||||||
background(0);
|
background(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
function draw() {
|
function draw() {
|
||||||
background(0, 75);
|
background(0, 75);
|
||||||
for (let mover of movers) {
|
for (let mover of movers) {
|
||||||
|
mover.mouse_mass();
|
||||||
for (let other of movers) {
|
for (let other of movers) {
|
||||||
if (mover !== other) {
|
if (mover !== other) {
|
||||||
mover.attract(other);
|
mover.attract(other);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user