Fractal es una curva o una figura que se repite. Comprende un patrón recursivo que se repite hasta un nivel deseado de anidamiento. Los gráficos de Turtle se proporcionan en el módulo de Turtle que se utiliza para dibujar varias formas y patrones en Python.
Una curva de Hilbert es una curva que se forma conectando una secuencia de curvas en forma de U dispuestas y orientadas en diferentes direcciones. Estas curvas en forma de U se colocan separadas por una cierta distancia de tamaño de paso.
Examinemos una curva de Hilbert de nivel 1 . Los siguientes pasos dibujarán una curva U simple.
Sea y = 90 grados
- Rotar y grado hacia la derecha
- Mover tamaño de paso
- Rotar y grado hacia la izquierda
- Mover tamaño de paso
- Rotar y grado hacia la izquierda
- Mover tamaño de paso
- Rotar y grado hacia la derecha
Examinemos e intentemos comprender la Curva de Hilbert de nivel 2 .
Nuevamente, asumimos que el puntero de la Turtle apunta hacia la derecha inicialmente. Los siguientes pasos se pueden utilizar para dibujar la curva:
- Girar 90 grados hacia la derecha
- Cree una curva de hilbert en el nivel 1 girada -y grados (es decir, y grados en dirección contraria a las agujas del reloj)
- Mover tamaño de paso
- Rotar y grados hacia la derecha
- Cree una curva de hilbert de nivel 1 rotada por y grados (es decir, y grados en el sentido de las agujas del reloj)
- Gire y grados hacia la izquierda.
- Mover tamaño de paso
- Cree una curva de hilbert de nivel 1 rotada por -y grados
- Rotar y grados hacia la derecha
turtle
Los métodos utilizados en esta sección son los siguientes:
- adelante() : se utiliza para mover la Turtle hacia adelante una distancia determinada en la dirección de la Turtle.
- back() : Se usa para mover la Turtle hacia atrás una distancia determinada en la dirección de la Turtle.
- left() : Se usa para rotar la Turtle en la dirección izquierda en un ángulo específico.
- right() : Se usa para rotar la Turtle en la dirección correcta en un ángulo específico.
- goto() : Se usa para mover la Turtle a la ubicación especificada (coordenadas (x, y)).
- penup() : Se utiliza para especificar que no se realizará ningún dibujo mientras se mueve.
- pendown() : Se usa para especificar que ese dibujo se hará mientras se mueve.
- done() : se utiliza para especificar que el trabajo de la Turtle se ha completado.
El código para la curva de Hilbert se da a continuación:
from turtle import * def hilbert(level, angle, step): # Input Parameters are numeric # Return Value: None if level == 0: return right(angle) hilbert(level-1, -angle, step) forward(step) left(angle) hilbert(level-1, angle, step) forward(step) hilbert(level-1, angle, step) left(angle) forward(step) hilbert(level-1, -angle, step) right(angle) def main(): level = int(input()) size = 200 penup() goto(-size / 2.0, size / 2.0) pendown() # For positioning turtle hilbert(level, 90, size/(2**level-1)) done() if __name__=='__main__': main()
Publicación traducida automáticamente
Artículo escrito por kartikeysm2001 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA