예제 #1
0
from decodes.core import *
from decodes.core import dc_color, dc_base, dc_vec, dc_point, dc_cs, dc_line, dc_mesh, dc_pgon, dc_xform
import thesis
from thesis.ants.ants import Graph, History

from decodes.extensions.cellular_automata import CA
import random
import datetime

t= History()

t.add_gen()
t.add_gen()


r = Graph()
r.init_rectgrid(Interval(3,3),include_corners=False,wrap=False,cellsize=1)
#r.init_rvals()
# r.to_file()
r.from_file()

prop_values = (0,1,2)
prop_colors = (Color(1,1,1),Color(1,1,.5),Color(0))
state_list = ('undeveloped','access','built')
no_states = len(state_list)
color_dict = dict(zip(prop_values,prop_colors))
state_dict = dict(zip(prop_values, state_list))

sc = 1
#p = [1]
m = 10
예제 #2
0
path =base_path+f_name
if not( os.path.exists(path)):
    os.mkdir(path)

# Re-write this text file
fout = open(path+"\\"+f_prefix+".txt",'w')
for line in lines:
    if line[-1] !='\n' : line = line + '\n'
    if line[0] != 'd':
        fout.write(line)
fout.write('d = '+str(datetime.date.today()))
fout.close()

### Main Function

r = Graph()
r.init_rectgrid(Interval(m,n),include_corners=False,wrap=False,cellsize=1)
init_r = 99 * [0]
init_r.append(1)

r.init_rvals([init_r])
t= History(r)

#execfile(base_path+rule_fname)
#fin = open(base_path+rule_fname)
#test_string = fin.readlines()
#fin.close()

#exec(test_string)

t.set_rule(base_path+rule_fname)
예제 #3
0
# Re-write this text file
fout = open(path+"\\"+f_prefix+".txt",'w')
for line in lines:
    if line[-1] !='\n' : line = line + '\n'
    if line[0] != 'd':
        fout.write(line)
fout.write('d = '+str(datetime.date.today()))
fout.close()

### Main Function
## make it a loop
for i in range(0,param[29]-1):
    s = i*((param[29])-1.0)
    print

    r = Graph()

    if init_fname == "":
        r.init_rectgrid(model_size,include_corners=False,wrap=False,cellsize=1)
        if block_size.a == 0:
            init_r = 30 * [0]
            init_r[0] = 1
            r.init_rvals([init_r,[-1],[0]])
        else:
            r.init_block(model_size=model_size,block_size=block_size, no_vals = param[10], increment = param[11])
        r.to_csv(f_name,path)
    else:
    #    r.init_ppm(init_fname,base_path+'\\maps\\',color_dict)
        r.from_csv(init_fname,base_path)

    p = r.parcel_list()
예제 #4
0
from decodes.core import *
from decodes.core import dc_color, dc_base, dc_vec, dc_point, dc_cs, dc_line, dc_mesh, dc_pgon, dc_xform
import thesis
from thesis.ants.ants import Graph, History

from decodes.extensions.cellular_automata import CA
import random
import datetime

t = History()

t.add_gen()
t.add_gen()

r = Graph()
r.init_rectgrid(Interval(3, 3), include_corners=False, wrap=False, cellsize=1)
#r.init_rvals()
# r.to_file()
r.from_file()

prop_values = (0, 1, 2)
prop_colors = (Color(1, 1, 1), Color(1, 1, .5), Color(0))
state_list = ('undeveloped', 'access', 'built')
no_states = len(state_list)
color_dict = dict(zip(prop_values, prop_colors))
state_dict = dict(zip(prop_values, state_list))

sc = 1
#p = [1]
m = 10
n = 10
예제 #5
0
path =base_path+f_name
if not( os.path.exists(path)):
    os.mkdir(path)

# Re-write this text file
fout = open(path+"\\"+f_prefix+".txt",'w')
for line in lines:
    if line[-1] !='\n' : line = line + '\n'
    if line[0] != 'd':
        fout.write(line)
fout.write('d = '+str(datetime.date.today()))
fout.close()

### Main Function

r = Graph()

if init_fname == "":
    r.init_rectgrid(model_size,include_corners=False,wrap=False,cellsize=1)
    if block_size.a == 0:
        init_r = 30 * [0]
        init_r[0] = 1
        r.init_rvals([init_r,[-1],[0]])
    else:
        r.init_block(model_size,block_size, param[0])
    r.to_csv(f_name,path)
else:
    r.init_ppm(init_fname,base_path+'\\maps\\',color_dict)
#    r.from_csv(init_fname,base_path)

if out_fname != "":
예제 #6
0
path = base_path + f_name
if not (os.path.exists(path)):
    os.mkdir(path)

# Re-write this text file
fout = open(path + "\\" + f_prefix + ".txt", 'w')
for line in lines:
    if line[-1] != '\n': line = line + '\n'
    if line[0] != 'd':
        fout.write(line)
fout.write('d = ' + str(datetime.date.today()))
fout.close()

### Main Function

r = Graph()

if init_fname == "":
    r.init_rectgrid(model_size, include_corners=False, wrap=False, cellsize=1)
    if block_size.a == 0:
        init_r = 30 * [0]
        init_r[0] = 1
        r.init_rvals([init_r, [-1], [0]])
    else:
        r.init_block(model_size=model_size,
                     block_size=block_size,
                     no_vals=param[10],
                     increment=param[11])
    r.to_csv(f_name, path)
else:
    #    r.init_ppm(init_fname,base_path+'\\maps\\',color_dict)
예제 #7
0
    props = []
    for i in range(m*n): 
        if random.uniform(0.0,1.0) < .05 :
            props.append([1,0,0])
        else:
            props.append([0,0,0])
#    props.append(random.choice(range(no_states)))

# Save the initial conditions
fout = open(path+"\\"+f_prefix+"init.txt",'w')
fout.write(str(props))
fout.close()


g_temp = []
g_temp = Graph(neighbors,pts,cells,props)


gen = 0
h=[]
h.append(g_temp)

# history loop
while gen < no_gen:
    img = h[gen].to_image(Interval(m,n),color_dict)
    img.save(f_prefix+str(gen), path, True)
    new_props = []
    for j in range(m*n): new_props.append([0,0,0])
    for i in range(m*n):
        if h[gen].prop[i][0] == 0:
            n_temp = h[gen].n_props(i)
예제 #8
0
fout.write('d = '+str(datetime.date.today()))
fout.close()

### Main Function
## open results file

fout = open(path + os.sep + f_prefix+"_result.csv",'w')
out_string = "seed, generations, total area, footprint3,footprint5,coverage,total built,far"
fout.write(out_string+'\n')

## make it a loop
for i in range(0,param[29]+1):
    print "test ",i
    s = round(i/(float(param[29])),2)
    random.seed(s)
    r = Graph()

    if init_fname == "":
        r.init_rectgrid(model_size,include_corners=False,wrap=False,cellsize=1)
        if block_size.a == 0:
            init_r = 30 * [0]
            init_r[0] = 1
            r.init_rvals([init_r,[-1],[0]])
        else:
            r.init_block(model_size=model_size,block_size=block_size, no_vals = param[10], increment = param[11])
        r.to_csv(f_name,path)
    else:
    #    r.init_ppm(init_fname,base_path+'\\maps\\',color_dict)
        r.from_csv(init_fname,base_path)
#
#    p = r.parcel_list()
예제 #9
0
path = base_path + f_name
if not (os.path.exists(path)):
    os.mkdir(path)

# Re-write this text file
fout = open(path + "\\" + f_prefix + ".txt", 'w')
for line in lines:
    if line[-1] != '\n': line = line + '\n'
    if line[0] != 'd':
        fout.write(line)
fout.write('d = ' + str(datetime.date.today()))
fout.close()

### Main Function

r = Graph()
r.init_rectgrid(Interval(m, n), include_corners=False, wrap=False, cellsize=1)
init_r = 19 * [0] + [1]
#init_r = [0,1,2]
r.init_rvals([init_r])
#r.to_svg("svg_out11",color_dict,cdim=Interval(1000,1000))

t = History(r)

#execfile(base_path+rule_fname)
#fin = open(base_path+rule_fname)
#test_string = fin.readlines()
#fin.close()

#exec(test_string)
예제 #10
0
path =base_path+f_name
if not( os.path.exists(path)):
    os.mkdir(path)

# Re-write this text file
fout = open(path+"\\"+f_prefix+".txt",'w')
for line in lines:
    if line[-1] !='\n' : line = line + '\n'
    if line[0] != 'd':
        fout.write(line)
fout.write('d = '+str(datetime.date.today()))
fout.close()

### Main Function

r = Graph()
if init_fname == "":
    r.init_rectgrid(Interval(m,n),include_corners=False,wrap=False,cellsize=1)
    init_r = 30 * [0]
    init_r[0] = 1
    r.init_rvals([init_r])
else:
    r.from_csv(init_fname,base_path)

if out_fname != "":
    r.to_csv(out_fname,base_path)

#init_r = [0,1,2]
#r.init_rvals([init_r])
#r.to_csv(f_name,path)
#r.to_svg("svg_out11",color_dict,cdim=Interval(1000,1000))
예제 #11
0
path = base_path + f_name
if not (os.path.exists(path)):
    os.mkdir(path)

# Re-write this text file
fout = open(path + "\\" + f_prefix + ".txt", 'w')
for line in lines:
    if line[-1] != '\n': line = line + '\n'
    if line[0] != 'd':
        fout.write(line)
fout.write('d = ' + str(datetime.date.today()))
fout.close()

### Main Function

r = Graph()
if init_fname == "":
    r.init_rectgrid(Interval(m, n),
                    include_corners=False,
                    wrap=False,
                    cellsize=1)
    init_r = 30 * [0]
    init_r[0] = 1
    r.init_rvals([init_r])
else:
    r.from_csv(init_fname, base_path)

if out_fname != "":
    r.to_csv(out_fname, base_path)

#init_r = [0,1,2]