El término juego del caos originalmente se refería a un método para crear un fractal ,
usando un polígono y un punto inicial seleccionado al azar dentro de él. El fractal se crea
mediante la creación iterativa de una secuencia de puntos, comenzando con el punto
aleatorio inicial, en el que cada punto de la secuencia es una fracción dada de la distancia
entre el punto anterior y uno de los vértices del polígono;
El método del “juego caos” traza puntos en orden aleatorio en todo el atractor. Esto
contrasta con otros métodos de dibujo de fractales, que prueban cada píxel en la pantalla
para ver si pertenece al fractal. La forma general de un fractal se puede trazar
rápidamente con el método del “juego del caos”, pero puede ser difícil trazar en detalle
algunas áreas del fractal.
Ahora reproduciremos las siguientes figuras en un programa en VB para ver como se van
generando, para esto tendremos que hacer algunos codigos de recursividad por ejemplo:
Haremos el numero de puntos i = Int(Rnd() * 6), y las iteraciones sobre los puntos
Y el factor:
Xsiguiente = (Xsiguiente + AristahX(i)) \ 2
Ysiguiente = (Ysiguiente + AristahY(i)) \ 2
Por ultimo dibujar con la instrucción DrawLine
Do
i = Int(Rnd() * 6)
Xsiguiente = (Xsiguiente + AristahX(i)) \ 2
Ysiguiente = (Ysiguiente + AristahY(i)) \ 2
gr.DrawLine(Pens.Red, Xsiguiente, Ysiguiente, Xsiguiente + 1, Ysiguiente + 1
Loop
Donde tambien tendremos la creacion de los puntos para poder empezar:
Private Sub DibujarPuntosCuadrado()
Dim i As Integer
Dim gr As Graphics = Me.CreateGraphics
‘Definimos las aristas del pentagono
AristacX(0) = (Me.ClientRectangle.Width) \ 2
AristacY(0) = 50
AristacX(1) = Me.ClientRectangle.Left + 50
AristacY(1) = (Me.ClientRectangle.Height) \ 2
AristacX(2) = (Me.ClientRectangle.Width) \ 2
AristacY(2) = Me.ClientRectangle.Bottom – 50
AristacX(3) = Me.ClientRectangle.Right – 50
AristacY(3) = (Me.ClientRectangle.Height) \ 2
For i = 0 To 3
gr.FillEllipse(Brushes.Blue, AristacX(i), AristacY(i), R, R)
Next
‘Escojemos al azar una arista , para empezar e
i = Int(Rnd() * 4)
Xsiguiente = AristacX(i)
Ysiguiente = AristacY(i)
End Sub
Con esto podremos reproducir las figuras, unicamente moviendo el numero i, para poder
generar o pentagonos, Hexagonos, Triangulo y Cuadrados.