Curva de Koch
El primer fractal con el que he estado intentando es la curva de Koch. Esta curva se generar tomando un segmento de recta, dividiéndola en tres trozos, y sustituyendo el segmento central por otros dos segmentos rotado el primero 60º respecto al primero y el segundo 120º respecto al primero. Este proceso se repite de manera recursiva, hasta la profundidad que deseemos. El código python que genera la curva es el siguiente:El programa anterior nos genera la siguiente figura:#!/usr/bin/python import turtle def genera_koch(level,l): if level==0: turtle.forward(l) else: genera_koch(level-1,l/3) turtle.left(60) genera_koch(level-1,l/3) turtle.left(-120) genera_koch(level-1,l/3) turtle.left(60) genera_koch(level-1,l/3) turtle.setup(width=800,height=600,startx=400,starty=300) turtle.up() turtle.backward(125) turtle.down() turtle.degrees() turtle.tracer(0) genera_koch(5,250) raw_input()
El copo de nieve
Para generar el copo de nieve, lo que se debe hacer es partir de un triángulo equilátero, donde sustituimos cada uno de los lados del mismo con una curva de Koch. El código es el siguiente:Este código genera el siguient gráfico: Copo de Nieve#!/usr/bin/python import turtle def genera_koch(level,l): if level==0: turtle.forward(l) else: genera_koch(level-1,l/3) turtle.left(60) genera_koch(level-1,l/3) turtle.left(-120) genera_koch(level-1,l/3) turtle.left(60) genera_koch(level-1,l/3) turtle.setup(width=800,height=600,startx=400,starty=300) turtle.up() turtle.degrees() turtle.tracer(0) turtle.goto(-100,200) turtle.down() for i in range(0,3): genera_koch(4,250) turtle.right(120) raw_input()
No hay comentarios:
Publicar un comentario