El juego del caos VB.Net

 

 

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.