xxxxxxxxxx
38
/*
----- Coding Tutorial by Patt Vira -----
Name: Sierpinski Triangle
Video Tutorial: https://youtu.be/k0f0PkmY0A4
Connect with Patt: @pattvira
https://www.pattvira.com/
----------------------------------------
*/
let level = 2;
function setup() {
createCanvas(400, 400);
}
function draw() {
background(220);
let p1 = createVector(width/2, 0);
let p2 = createVector(0, height);
let p3 = createVector(width, height);
sierpinski(p1, p2, p3, level);
}
function sierpinski(p1, p2, p3, level) {
if (level == 0) {
fill(255);
triangle(p1.x, p1.y, p2.x, p2.y, p3.x, p3.y);
} else {
let p12 = p5.Vector.lerp(p1, p2, 0.5);
let p13 = p5.Vector.lerp(p1, p3, 0.5);
let p23 = p5.Vector.lerp(p2, p3, 0.5);
sierpinski(p1, p12, p13, level-1);
sierpinski(p12, p23, p2, level-1);
sierpinski(p13, p3, p23, level-1);
}
}