En las líneas 27 a 50 se defi ne el método recursivo que crea el fractal. Este método recibe seis parámetros: el 

nivel, cuatro enteros que especifi can las coordenadas 

x y y de dos puntos, y el objeto 

g

 de 

Graphics

. El caso base 

para este método (línea 31) ocurre cuando 

nivel

 es igual a 0, en cuyo momento se dibujará una línea entre los 

dos puntos que se proporcionan como parámetros. En las líneas 36 a 43 se calcula (

xC

,

yC

), el punto medio entre 

(

xA

,

yA

) y (

xB

,

yB

), y (

xD

,

yD

), el punto que crea un triángulo isósceles recto con (

xA

,

yA

) y (

xC

,

yC

). En las líneas 

46 a 48 se realizan tres llamadas recursivas en tres conjuntos distintos de puntos.

En el método 

paintComponent

, en la línea 59 se realiza la primera llamada al método 

dibujarFractal

 para 

empezar el dibujo. Esta llamada al método no es recursiva, pero todas las llamadas subsiguientes a 

dibujarFrac-

tal

 que se realicen desde el cuerpo de 

dibujarFractal

 sí lo son. Como las líneas no se dibujarán sino hasta que 

se llegue al caso base, la distancia entre dos puntos se reduce en cada llamada recursiva. A medida que aumenta el 
nivel de recursividad, el fractal se vuelve más uniforme y detallado. La fi gura de este fractal se estabiliza a medida 
que el nivel se acerca a 11. Los fractales se estabilizarán en distintos niveles, con base en la fi gura y el tamaño del 
fractal.

En la fi gura 15.22 se muestra el desarrollo del fractal, de los niveles 0 al 6. La última imagen muestra la fi gura 

que defi ne el fractal en el nivel 11. Si nos enfocamos en uno de los brazos de este fractal, será idéntico a la imagen 
completa. Esta propiedad defi ne al fractal como estrictamente auto-similar. En la sección 15.11 podrá consultar 
más recursos acerca de los fractales.

Figura 15.22

  |  Dibujo del “fractal Lo” mediante el uso de la recursividad. (Parte 3 de 3).

15.8 Fractales 

675

15_MAQ_CAP_15_DEITEL.indd675

4/19/081:29:06AM