Recursión con Espirales
La recursión es una idea muy poderosa que puede ser usada en programas extremadamente sofisticados.
Un pequeño paso más allá de la recursión simple en el procedimiento poli, en Repetición y Recursión, sería una modificación para incrementar la entrada paso cada vez que la línea recursiva se ejecute:
para poliespi :paso :ángulo
adelante :paso
derecha :ángulo
poliespi :paso + 6 :ángulo
finExperimente con las siguientes entradas y también con otras.
poliespi 5 120
poliespi 5 90
poliespi 5 144
El procedimiento poli hace que la tortuga dibuje figuras cerradas. En poli, la tortuga se mueve hacia adelante y rota para volver al lugar en el que ha empezado. Ocurre una excepción cuando la tortuga gira en cada vuelta 0 o 360 grados (o un múltiplo de 360). En este caso la tortuga camina en línea recta. Por otro lado, una espiral es una figura abierta. La línea no regresa a su posición inicial. Para dibujar una espiral, la tortuga incrementa su paso hacia adelante en cada vuelta para alejarse cada vez más de ese punto.
Se puede agregar una tercera entrada a poliespi para controlar la cantidad que va a incrementar paso cada vez que se llame a poliespi.
para poliespi :paso :ángulo :inc
adelante :paso
derecha :ángulo
poliespi :paso + :inc :ángulo :inc
finDe esta forma puede variar cuán rápido van a crecer los lados.
poliespi 2 125 3Se pueden hacer muchas variaciones a poliespi. Por ejemplo, pruebe achicar y no incrementar el paso para dibujar una espiral hacia adentro. O trate de dibujar los vértices de poliespi en diferentes colores.