var n = 8; var l = 5; var angle = 120 * Math.PI / 180; c.translate(300, 200); terdragon(n); function terdragon(n) { if (n <= 1) { drawLine(l); } else { terdragon(n-1); c.rotate(angle); terdragon(n-1); c.rotate(-angle); terdragon(n-1); } } function drawLine(l) { c.beginPath(); c.moveTo(0, 0); c.lineTo(l, 0); c.stroke(); // Finish at the end of the line we drew c.translate(l, 0); }No entiendo cómo dibuja las líneas como lo hace, cuando la variable n es 8. Como se establece que si n <= 1, llame a la función dibujarLínea, hasta entonces no hace nada más que llamarse a sí mismo y restar 1 cada vez y cambia de ángulo, pero no puedo ver cómo dibuja, cuando no es igual a 1.
El código es de Crunchzilla Code Maven. Capítulo 40 - Fractales