Gerar o conjunto de Julia em PGM!
# Projeto Integrado
# Esse programa em python usa o conjunto de julia para gerar um arquivo de
# imagem em .pgm
from sys import *
from math import sqrt
print "************************************************\n";
print "Faculdade Senac de Ciencia da Computacao\n"
print "Projeto Integrado 2.\n";
print "Algoritimo de Conjunto de Julia.\n";
print "Por Diogo Autilio\n";
print " Andre Zibelli\n";
print "************************************************\n";
magnitude=1
max_iter=100
if len(argv)>1:
magnitude=eval(argv[1]);
if len(argv)>2: #magnitude
max_iter=eval(argv[2]);
altura=200
largura=200
para=4096;
x0=.09950
y0=-.00062
print "-------------Tabela de escolhas--------------";
print " Valor Real Valor Imaginario"
print " -1 / 0 "
print " 0.3 / -0.4 "
print " 0.360284 / 0.100376 "
print " -0.1 / 0.8 "
creal = float(raw_input("Digite o valor Real :"));
cimag = float(raw_input("Digite o valor Imaginario :"));
# Comeco do arquivo pgm
nome = raw_input("Digite o nome do arquivo.PGM :")
pfile=open(nome,'w')
pfile.write("P2\n") #P2 formato PGM
pfile.write("#magnitude=%f max_iter=%d\n" % (magnitude, max_iter)) # Especificacoes do fractal
pfile.write("%d %d\n" % (largura, altura)) #Largura e comprimento da area
pfile.write("15\n")
for j in range(1,altura+1):
for i in range(1,largura+1):
x=4*(1.*i/largura - .5)/magnitude+x0;
y=4*(1.*(altura+1-j)/altura - .5)/magnitude+y0;
zmagni=0;
iter=0;
while (iter < max_iter):
x1=x;
y1=y;
xx=x*x - y*y + creal; #julia
y=((2*x*y) + cimag);
x=xx;
z=((x*x) + (y*y));
if (z > zmagni):
zmagni=z;
if (z > para):
break;
iter= iter + 1;
if (iter >= max_iter):
pfile.write("0 "); #Cor do fractal ( preto )
if (iter < max_iter):
pfile.write("15 "); #Cor de fundo ( branco)
pfile.close()
print "O",nome,"foi criado com exito!"