Triángulo fractal

En este laboratorio, crearás varios procedimientos recursivos de dibujo de fractales.

Esta figura se llama "triángulo de Sierpinski (sjer p 'ins ki)".

animación de los niveles del 1 al 8 del triángulo fractal

  1. Abre tu proyecto "U3L1-ArteFractal"; y guárdalo como "U7L2-TriánguloFractal".
  2. Ejecuta triángulo anidado, tamaño: (175). Luego, mira dentro del bloque y recuerda con tu compañero cómo funcionaba.
  3. Predice cómo cambiará la forma si cambias el 9 a (tamaño)>(9) un 2 y ejecutas la instrucción de nuevo. Luego prueba y observa si hace lo que esperas.
    El bloque unificar (en la paleta de Control amarilla) hace que los programas que contiene se ejecuten más rápido al no permitir que se ejecuten otros programas ni actualizar la pantalla hasta que finalice.
    unificar{triángulo anidado, tamaño:(100)}
  4. Luego asigna el valor de 2 de nuevo a 9.

La expresión(tamaño)>(9) asigna el caso base de la recursividad del bloque triángulo anidado. Sin embargo, utilizando la entrada tamaño para controlar la profundidad de la recursividad no es muy satisfactorio. Por ejemplo, cuando intentaste triángulo anidado, tamaño: (175) podías haber pensado: "Qué imagen tan interesante, pero es demasiado grande para caber en el escenario. Voy a intentar cambiar el tamaño a 100 mejor". Si realmente lo intentaste, ¿estuviste satisfecho con el resultado?

  1. Si no lo intentaste antes, inténtalo ahora.

Ya conoces una manera mejor de controlar la recursividad: toma otra entrada, nivel, para controlar la profundidad de la recursividad de manera separada al tamaño general de la imagen. Eso es lo que hiciste en el fractal del árbol.

  1. Crea un bloque triángulo fractal, nivel: ( ) tamaño: (). Puedes usar el código existente de tu triángulo anidado para comenzar.
  2. Prueba varios dibujos de triángulo fractal, todos con tamaño 100, pero con los valores de nivel desde 1 hasta 10. Asegúrate que hacen lo que esperabas.
  3. Generaliza tu procedimiento añadiendo una entrada:
    polígono fractal, nivel: ( ) número de lados: ( ) tamaño: ().