Its an atom.
sketch
//andrewid rdrice
//section c
var bgV = 0
var fVr = 255
var fVg = 255
var fVb = 255
var angle = 0 //starting angle for the electron
var speed = 0.1
var x = 100 //photon position
var y = 100
var xVel = 1 //starting horizontal velocity of the photon
var yVel = 1 //starting vertical velocity of the photon
var bSize = 20 //diameter of the photon
function setup() {
createCanvas(600, 450);
background(0);
}
function draw() {
background(bgV);
noStroke();
fill(fVr, fVg, fVb);
text("p5.js vers 0.9.0. rdrice. 'Hydrogen with Photon'", 10, 15);
angleMode(DEGREES);
var scale = dist(width/2, height/2, mouseX, mouseY); //scaling nucleus
ellipse(width/2, height/2, min(scale, 250));
x += xVel //Reycled this script from assignment a
y += yVel //keeps the 'photon' moving
ellipse(x, y, bSize); //draws a circle at x, y
if (x > width-bSize/2) { //checks to see if photon is in x bounds
xVel = xVel*(-1) //reverses velocity if its not
} else if (x < bSize/2) {
xVel = xVel*(-1)}
if (y > height-bSize/2) { //does the same as above, but for y
yVel = yVel*(-1)
} else if (y < bSize/2) {
yVel = yVel*(-1)} //end recycled script
translate(width/2, height/2); //rotating electron
angle = angle+speed
rotate(angle);
ellipse(100,100, min(500*(10/scale), 100));
}
function mousePressed() {
if (bgV == 0){ //toggles bgV (background) between b&w
bgV = 255;
} else if (bgV == 255) {
bgV = 0}
if (fVr == 255 & fVg == 255 && fVb == 255){ //random fill value
fVr = random(0,255);
fVg = random(0,255);
fVb = random(0,255);
} else { //toggles back to white
fVr = 255
fVg = 255
fVb = 255}
speed = random(-1, 1); //new random speeds for moving objects
xVel = random(-10,10);
yVel = random(-10,10);
}
click to change colors and particle velocities.