Ejercicio 18. El Triángulo Sierpinski

El triángulo de SIERPINSKI
El [b]triángulo de [url=https://es.wikipedia.org/wiki/Wac%C5%82aw_Sierpi%C5%84ski][color=#0066cc]Sierpiński[/color][/url][/b] es un [url=https://es.wikipedia.org/wiki/Fractal][color=#0066cc]fractal[/color][/url] que se puede construir a partir de cualquier triángulo.[br]Como en la mayoría de los fractales, existen varias maneras de obtener la misma figura (triángulos). En este caso, todos los procesos implican las tres [url=https://es.wikipedia.org/wiki/Homotecia][color=#0066cc]homotecias[/color][/url] centradas en los vértices del triángulo, de razón 1/2. Notémoslas h[sub]a[/sub], h[sub]b[/sub] y h[sub]c[/sub].[br] Es fácil observar que esta figura contiene tres reducciones de sí misma: El triángulo ADE con todo su [i]contenido[/i] es una reducción exacta del triángulo ABC, y lo mismo se puede decir de CDF y de BEF. Estos tres [i]clonos[/i] son justamente las imágenes de ABC por h[sub]a[/sub], h[sub]b[/sub] y h[sub]c[/sub]. Y como no quedan puntos del fractal fuera de estas tres reducciones, se puede escribir (T designa el triángulo de Sierpiński):[br]En otras palabras, T es invariable por la aplicación del plano definida así: f(M) = {h[sub]a[/sub](M), h[sub]b[/sub](M), h[sub]c[/sub](M)}, donde M es un punto cualquiera del plano. Esta aplicación es más abstracta de lo que parece pues su conjunto de llegada ([i]codominio[/i]) no es el plano mismo sino las partes de él, o sea el conjunto de todas las figuras posibles del plano. Se puede extender el dominio de f a las partes del plano así: f(F) = h[sub]a[/sub](F) ∪ h[sub]b[/sub](F) ∪ h[sub]c[/sub](F) donde F es una figura cualquiera del plano.[br] Visto así, T es un [b]punto fijo[/b] de f. El único, aparte del [url=https://es.wikipedia.org/wiki/Conjunto_vac%C3%ADo][color=#0066cc]conjunto vacío[/color][/url], de escaso interés geométrico.[br] T es también un [b]atractor[/b] de la aplicación f: si se considera una figura (de preferencia sencilla) T[sub]0[/sub], y se construyen su imágenes sucesivas T[sub]1[/sub] = f(T[sub]0[/sub]), T[sub]2[/sub] = f(T[sub]1[/sub]) = f [sup]2[/sup](T[sub]0[/sub]) ... T[sub]n[/sub] = f [sup]n[/sup](T[sub]0[/sub])... entonces la sucesión T[sub]n[/sub] se aproxima al triángulo de Sierpiński.[br]En la figura siguiente se ha tomado como figura inicial el triángulo ABC:[br][br][right][b][/b][/right][center][b]Iterando a partir de un punto[/b][/center][b][br][br][/b]También se puede construir T a partir de un punto aleatorio cualquiera M y, para simplificar la programación, escoger al azar una imagen entre h[sub]a[/sub](M), h[sub]b[/sub](M) y h[sub]c[/sub](M) (en cada paso) en vez de tomar siempre las tres. Esto permite hacer un programa sin recursividad, pero claro, trae una desventaja: el número de pasos para obtener una figura satisfactoria será mucho más largo (en cada paso sólo se dibuja un punto):[br][b][br][/b][br][br]
[br]

Information: Ejercicio 18. El Triángulo Sierpinski