Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?
- //Creado por Komtec1
- //komtec1 [ at ] gmail [ dot ]
- //Tamaño del lienzo
- //Generar gráfico a partir de fibonacci con PHP
- $a=12000;
- $b=6150;
- //Tamaño del cuadro inicial
- $cuadroInicial = 10;
- //definimos el lienzo
- $lienzo = imagecreatetruecolor($a, $b);
- //se definen los valores iniciales de la posición, se toma el centro
- $x1Inicial = $a/2-($cuadroInicial/2);
- $y1Inicial = $b/2-($cuadroInicial/2);
- $x2Inicial = $a/2+($cuadroInicial/2);
- $y2Inicial = $b/2+($cuadroInicial/2);
- //para inicializar la secuencia de fibonacci
- $n1=1;
- $n2=0;
- $espaciado = 10;
- //Asignamos el sentido inicial
- $sentido = 'inicial';
- for($i=0;$i<=13;$i++)
- {
- $suma = $n1+$n2;
- $n1=$n2;
- $n2=$suma;
- #echo $suma . " ";
- $ti = $cuadroInicial*$suma; //Esta variable lleva de forma correcta el tamaño del cuadrado que se genera
- $tiValores[$i] = $cuadroInicial*$suma;
- $color = imagecolorallocate($lienzo, rand(10,210), rand(10,210), rand(10,210));
- $x1anterior = $x1Inicial;
- $x2anterior = $x2Inicial;
- $y1anterior = $y1Inicial;
- $y2anterior = $y2Inicial;
- ///*
- // para definir en que sentido aumenta el cuadrado
- if ($sentido == 'derecha' && $i<2)
- {
- $x1Inicial = $x1Inicial+$ti; //caso derecha primer iteración
- $x2Inicial = $x1Inicial+$ti; //caso derecha primer iteración
- }
- else
- {
- if ($sentido == 'derecha')
- {
- $x1Inicial = $x2anterior;
- $x2Inicial = $x1Inicial+$ti;
- $y1Inicial = $y2anterior;
- $y2Inicial = $y1Inicial-$ti;
- }
- elseif ($sentido == 'arriba')
- {
- //reacomodando una variable para que vuelva a ser el eje guía
- if ($i>3)
- $y1anterior=$y2anterior;
- $x1Inicial = $x2anterior;
- $x2Inicial = $x1Inicial-$ti;
- $y1Inicial = $y1anterior;
- $y2Inicial = $y1Inicial-$ti;
- }
- elseif ($sentido == 'izquierda')
- {
- $x1Inicial = $x2anterior;
- $x2Inicial = $x1Inicial-$ti;
- $y1Inicial = $y2anterior;
- $y2Inicial = $y1Inicial+$ti;
- }
- elseif ($sentido == 'abajo')
- {
- $x1Inicial = $x2anterior;
- $x2Inicial = $x1Inicial+$ti;
- $y1Inicial = $y2anterior;
- $y2Inicial = $y1Inicial+$ti;
- }
- }
- imagefilledrectangle($lienzo, $x1Inicial, $y1Inicial, $x2Inicial, $y2Inicial, $color);
- #imagerectangle($lienzo, $x1Inicial, $y1Inicial, $x2Inicial, $y2Inicial, $color);
- imagestring($lienzo, 5, 5, $espaciado, "Iteracion $i - x1: $x1Inicial, x2: $x2Inicial, y1: $y1Inicial, y2: $y2Inicial $sentido suma: $suma cuadroinicial: $ti", $color);
- $espaciado = $espaciado+20;
- //Para definir el sentido de la imagen
- if ($sentido=='inicial')
- $sentido = 'derecha';
- elseif ($sentido=='derecha')
- $sentido = 'arriba';
- elseif ($sentido=='arriba')
- $sentido = 'izquierda';
- elseif ($sentido == 'izquierda')
- $sentido = 'abajo';
- else
- $sentido = 'derecha';
- // Imprimir y liberar memoria
- }
- header('Content-Type: image/jpeg');
- imagejpeg($lienzo);
- imagedestroy($lienzo);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement