xxxxxxxxxx
34
//based on: https://web.archive.org/web/20160418004153/http://freespace.virgin.net/hugo.elias/models/m_pendul.htm
var len;
var angle;
var angularVelocity;
var damping;
function setup() {
createCanvas(400, 400);
len = 100;
angle = 0;
angularVelocity = 0;
damping = .99;
}
function mousePressed() {
angle = atan2(mouseY, mouseX);
}
function draw() {
background(51);
angle = angle + angularVelocity;
angularVelocity = angularVelocity + (sin(angle) / len);
angularVelocity *= damping;
stroke(220);
translate(width / 2, 10);
rotate(radians(-90));
var x = len * cos(angle);
var y = len * sin(angle);
line(0, 0, x, y);
ellipse(x, y, 10);
}