Något smart sätt för att zooma har jag inte men jag tror att min metod för att rita upp fraktalen är "effektivare" än den du använder.
Kod i qbasic, borde inte vara så svår att förstå.
DECLARE SUB triangle (x1!, y1!, x2!, y2!, x3!, y3!, antal!)
SCREEN 12
CONST dimension = 7
x(1) = 320: y(1) = 100
x(2) = 10: y(2) = 410
x(3) = 630: y(3) = 410
CALL triangle(x(1), y(1), x(2), y(2), x(3), y(3), 1)
SUB triangle (x1, y1, x2, y2, x3, y3, antal)
IF antal < dimension THEN
CALL triangle(x1, y1, (x1 + x2) * .5, (y1 + y2) * .5, (x1 + x3) * .5, (y1 + y3) * .5, antal + 1)
CALL triangle(x2, y2, (x1 + x2) * .5, (y1 + y2) * .5, (x2 + x3) * .5, (y2 + y3) * .5, antal + 1)
CALL triangle(x3, y3, (x1 + x3) * .5, (y1 + y3) * .5, (x2 + x3) * .5, (y2 + y3) * .5, antal + 1)
ELSE
LINE (x1, y1)-(x2, y2)
LINE (x2, y2)-(x3, y3)
LINE (x1, y1)-(x3, y3)
END IF
END SUB