var topX = 320; //original triangle
var topY = 190;
var leftX = 260;
var leftY = 290 ;
var rightX = 380;
var rightY = 290;
function setup() {
createCanvas(640, 480);
}
function draw() {
background(256);
noStroke()
fill(0);
triangle(topX, topY, leftX, leftY, rightX, rightY); //draw original triangle
if(dist(mouseX, mouseY, topX, topY) > 25 || //return original triangle after transformations
dist(mouseX, mouseY, rightX, rightY) > 25 ||
dist(mouseX, mouseY, leftX, leftY) > 25) {
topX = 320;
topY = 190;
leftX = 260;
leftY = 290 ;
rightX = 380;
rightY = 290
}
if(dist(mouseX, mouseY, rightX, rightY) <= 25) { //build 1st itteration of large triangle
rightX = 200;
rightY = 190;
fill(0, 256, 256);
triangle(320, 190, 260, 290, 380, 290);
fill(256, 256, 0);
triangle(440, 190, 320, 190, 380, 290);
fill(256, 0, 256);
triangle(260, 290, 380, 290, 320, 390);
}
if(dist(mouseX, mouseY, topX, topY) <= 25) { //build 2nd itteration of large triangle
topX = 320;
topY = 390;
fill(256, 0, 256);
triangle(320, 190, 260, 290, 380, 290);
fill(0 ,256, 256);
triangle(440, 190, 320, 190, 380, 290);
fill(256, 256, 0);
triangle(200, 190, 320, 190, 260, 290);
}
if(dist(mouseX, mouseY, leftX, leftY) <= 25) { //build 3rd itteration of large triangle
leftX = 440;
leftY = 190;
fill(256, 256, 0);
triangle(320, 190, 260, 290, 380, 290);
fill(256, 0, 256);
triangle(200, 190, 320, 190, 260, 290);
fill(0, 256, 256);
triangle(260, 290, 380, 290, 320, 390);
}
if(dist(mouseX, mouseY, 320, 240) <= 25) {
triangle(320, 190, 260, 290, 380, 290);
triangle(200, 190, 320, 190, 260, 290);
triangle(260, 290, 380, 290, 320, 390);
triangle(320, 190, 380, 290, 440, 190);
}
}
For this project I kept it simple, after using them in the pong exercise I got very comfortable using if statement and they were the easy part of this project. Hardest part was finding coordinates, I assume I could have used some sort of relationships in place of numbers to save time in writing the code.