Add Initial commit

This commit is contained in:
Lev
2021-06-06 21:22:33 -05:00
parent 9255e58cb9
commit f88e00ea62
4 changed files with 118 additions and 0 deletions

View File

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>graphicsProgramming - Coursera</title>
<script src="libraries/p5.min.js" type="text/javascript"></script>
<script src="libraries/p5.sound.min.js" type="text/javascript"></script>
<script src="sketch.js" type="text/javascript"></script>
<style> body {padding: 0; margin: 0;} canvas {vertical-align: top;} </style>
</head>
<body>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,72 @@
//////////////////////////////////
// COURSERA GRAPHICS PROGRAMMING
//////////////////////////////////
// Adapted from https://github.com/nature-of-code/
// released under MIT license
var ball;
///////////////////////////////////////////////
function setup() {
createCanvas(600, 400);
ball = new Ball();
}
///////////////////////////////////////////////
function draw() {
background(0);
let gravity = createVector(0, 0.1);
ball.applyForce(gravity);
let friction = ball.velocity.copy();
friction.mult(-1);
friction.normalize();
friction.mult(0.01);
ball.applyForce(friction);
ball.run();
}
function mouseClicked() {
ball.location = new createVector(width / 2, height / 2);
}
///////////////////////////////////////////////
class Ball {
constructor() {
this.acceleration = new createVector(0, 0);
this.velocity = new createVector(0, 0);
this.location = new createVector(width / 2, height / 2);
this.size = 40;
}
run() {
this.draw();
this.move();
this.bounce();
}
draw() {
fill(125);
ellipse(this.location.x, this.location.y, this.size, this.size);
}
move() {
this.velocity.add(this.acceleration);
this.location.add(this.velocity);
this.acceleration.mult(0);
}
bounce() {
if (this.location.x > width - this.size / 2) {
this.location.x = width - this.size / 2;
this.velocity.x *= -1;
} else if (this.location.x < this.size / 2) {
this.velocity.x *= -1;
this.location.x = this.size / 2;
}
if (this.location.y > height - this.size / 2) {
this.velocity.y *= -1;
this.location.y = height - this.size / 2;
}
}
applyForce(force) {
this.acceleration.add(force);
}
}