xxxxxxxxxx
58
var x1;
var x2;
var x3;
var y1;
var y2;
var y3;
function setup() {
createCanvas(600, 600);
initPoints();
}
//taken from professor Golan Levin
function draw() {
background(50);
fill(255, 200, 100);
noStroke();
triangle(x1, y1, x2, y2, x3, y3);
noStroke();
fill(255);
ellipse(x1, y1, 15, 15);
ellipse(x2, y2, 15, 15);
ellipse(x3, y3, 15, 15);
var ma = (y2 - y1) / (x2 - x1);
var mb = (y3 - y2) / (x3 - x2);
var cx = ((ma * mb * (y1 - y3)) + (mb * (x1 + x2)) - (ma * (x2 + x3))) / (2 * (mb - ma));
var cy = -1 * (cx - (x1 + x2) / 2) / ma + ((y1 + y2) / 2);
var dx = x1 - cx;
var dy = y1 - cy;
var radius = sqrt(dx * dx + dy * dy);
push();
noFill();
strokeWeight(2);
stroke(255);
ellipse(cx, cy, radius * 2, radius * 2);
pop();
ellipse(cx, cy, 10);
}
function mousePressed() {
initPoints();
}
function initPoints() {
x1 = width * random(0.2, 0.8);
x2 = width * random(0.2, 0.8);
x3 = width * random(0.2, 0.8);
y1 = height * random(0.2, 0.8);
y2 = height * random(0.2, 0.8);
y3 = height * random(0.2, 0.8);
}