xxxxxxxxxx
64
var x1, x2, x3;
var y1, y2, y3;
function setup() {
createCanvas(600, 600);
initPoints();
}
function draw() {
background(166, 166, 255);
fill("pink");
noStroke();
triangle(x1, y1, x2, y2, x3, y3);
noStroke();
fill(255);
ellipse(x1, y1, 10, 10);
ellipse(x2, y2, 10, 10);
ellipse(x3, y3, 10, 10);
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);
noFill();
strokeWeight(2);
stroke(255);
ellipse(cx, cy, radius*2, radius*2);
fill(255);
ellipse(cx, cy, 15);
}
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);
}