[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[escepticos] Más fractales...
Hola, hola a todos.
El tema de los fractales es bastante interesante, así que creo que esto os
puede gustar. Ya sé que hay montones de programas que se dedican a generar
fractales (incluso en 3d ;)), pero lo que yo propongo es más simple.
Aquí os incluyo el listado de un programa en BASIC en el que, introduciendo
unas coordenadas, se genera un fractal en pantalla. Lo bueno de esto es
que, al ser un programa en BASIC es muy fácil de comprender; por tanto,
útil para ayudarnos a comprender un poco todo esto de los fractales.
Teclead y disfrutad ;)
===============================================
'Este programa obtiene la funci¢n de Mandelbrot
SCREEN 12
'Constantes
nph% = 480 'N£mero de pixels horizontales
npv% = 480 'N£mero de pixels verticales
'Se introducen variables
INPUT "Primera coordenada horizontal"; x1!
INPUT "Segunda coordenada horizontal"; x2!
INPUT "Primera coordenada vertical"; y1!
INPUT "Segunda coordenada vertical"; y2!
CLS
'Se selecciona la porci¢n a mostrar seg£n las coordenadas introducidas
vanox! = (x2! - x1!) / nph%
vanoy! = (y2! - y1!) / npv%
a! = x1!
FOR k% = 1 TO nph%
a! = a! + vanox!
b! = y2!
FOR j% = 1 TO npv%
b! = b! - vanoy!
x! = 0
y! = 0
n% = 0
DO WHILE (n% < 100) AND (x! * x! + y! * y! < 4)
xx! = x! * x! - y! * y! + a! 'El bucle principal,
y! = 2 * x! * y! + b! 'donde se calcula que
x! = xx! 'puntos escapan y
n% = n% + 1 'cuales quedan
confinados
LOOP
IF n% < 3.5 THEN
cpunto% = 11 'Se seleccionan
ELSEIF n% < 5 THEN
cpunto% = 9 'los colores de
ELSEIF n% < 6 THEN
cpunto% = 1 'cada punto
ELSEIF n% < 9 THEN
cpunto% = 13 'seg£n el valor
ELSEIF n% < 15 THEN
cpunto% = 5 'que toma n
ELSEIF n% < 20 THEN
cpunto% = 4 'al salir del
ELSEIF n% < 26 THEN
cpunto% = 12 'bucle. Los colores
ELSEIF n% < 35 THEN
cpunto% = 2 'se pueden modificar
ELSEIF n% < 45 THEN
cpunto% = 14 'a gusto de
ELSEIF n% < 60 THEN
cpunto% = 7 'cada cual
ELSE cpunto% = 8
END IF
'Se imprime cada punto
IF x! * x! + y! * y! > 4 THEN PSET (k%, j%), cpunto%
NEXT
NEXT
===============================================
Saludos.
José Luis Ponce (Clannad en el IRC)
=============================
- Página Personal:
http://www.ctv.es/USERS/jlpon
- Pet Shop Boys ClubEspañol:
http://unadiscoteca.com
=============================
"Pero la Estrella Polar sigue mirando con
recelo, fija en el mismo punto de la negra
bóveda, parpadeando espantosamente
como un ojo insensato y vigilante que
pugna por transmitir algún extraño mensaje,
aunque no recuerda nada, salvo que un día
tuvo un mensaje que transmitir"
"Polaris", H. P. Lovecraft
=============================