<script src="../p5/p5.js"></script> 
 
<?php 
 
include('../AwesomeProgression.php'); 
$awesomeProgression = new AwesomeProgression(); 
 
$fibonachi = json_encode($awesomeProgression->fibonnaci(isset($_GET['i'])?$_GET['i']:10, true)); 
?> 
 
<form style="position: absolute; right:0; top:0; background: white; padding: 3px;"> 
<input name="i" type="text"/> <button type="submit">Update</button> 
</form> 
 
<script> 
    var data = <?php echo $fibonachi ?>; 
     
    var unite = 10; 
    var canvasW = 1200; 
    var canvasH = 700; 
     
    function drawTile()  
    { 
        stroke(50); 
        for (var i=0; i<canvasW; i += 2 * unite) { 
            line(i, 0, i, canvasH); 
        } 
 
        for (var i=0; i<canvasH    ; i += 2 * unite) { 
            line(0, i, canvasW    , i); 
        } 
    } 
 
    function setup() { 
        createCanvas(canvasW, canvasH); 
        background(0); 
        noSmooth(); 
        drawTile(); 
        var x0 = canvasW/4; 
        var y0 = canvasH/4; 
        var x = x0; 
        var y = y0; 
        j = 0; 
        for (n=1; n<data.length; n++) {         
            var width = height = data[n] * unite; 
            if (n>2) { 
                if (j == 4) { 
                    p = -data[n-2]; 
                    k = -data[n]; 
                    j = 0; 
                } 
                else if (j == 3) { 
                    p = data[n-1]; 
                    k = -data[n-2]; 
                } 
                else if (j == 2) { 
                    p = 0; 
                    k = data[n-1]; 
                } 
                else if (j == 1) { 
                    p = -data[n]; 
                    k = 0; 
                } 
                else if (j == 0) { 
                    p = -data[n-2]; 
                    k = -data[n];  
                } 
 
                translate( 
                    p * unite,  
                    k * unite 
                ); 
 
                j++; 
            } else { 
                translate((n * width) - width, 0); 
            } 
 
            fill(alpha(color(0, 126, 255, (n+1) * 10))); 
            stroke(10); 
 
            rect(x0, y0, width, height); 
            stroke(255); 
            var fontsize = data[n] * 2; 
            textSize(fontsize); 
            text("" + data[n], x0 + width/2 - fontsize/2, y0 + height/2 + fontsize/2);  
        } 
    }  
 
</script>
 
 |