html
html
1
2
3
4
5
6
7
8
9
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<canvas id="cvs"></canvas>
</body>
</html>
Enter to Rename, Shift+Enter to Preview
css
css
1
2
3
canvas {
border:dashed
}
Enter to Rename, Shift+Enter to Preview
js
js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var ctx;
function drawTriangle(x, y, size, depth) {
if (depth === 0)
return;
var step = Math.PI * 2 / 3;
var ang = Math.PI / 2;
var dx = x + Math.cos(ang) * size;
var dy = y + Math.sin(ang) * size;
for (var i = 0; i < 3; i++) {
ctx.moveTo(dx, dy);
ang += step;
dx = x+ Math.cos(ang)*size;
dy = y+ Math.sin(ang)*size;
ctx.lineTo(dx, dy);
var ang2 = ang - step / 2;
var nx = x + Math.cos(ang2) * size;
var ny = y + Math.sin(ang2) * size;
drawTriangle(nx, ny, size / 2, depth - 1);
}
}
onload = function () {
var cvs = document.getElementById("cvs");
ctx = cvs.getContext("2d");
var d = parseInt(prompt("Enter The Depth 1-10", 2));
var size = d * 100;
cvs.width = size;
cvs.height = size;
ctx.beginPath();
Enter to Rename, Shift+Enter to Preview
BROWSER
Console
Run