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