def export_uv(scott=GrayScott(), v_color=Color(0.0), u_color=Color(0.0), base_color=Color(1.0), power=False): # ival_u = Interval(scott.min_recorded_u,scott.max_recorded_u) # ival_v = Interval(scott.min_recorded_v,scott.max_recorded_v) ival_u = Interval(0.0, 1.0) ival_v = Interval(0.0, 1.0) # uv_color = Color.interpolate(u_color,v_color) imgs = [] img_u = Image(Interval(scott.width, scott.height), base_color) for px in range(len(scott.hist_u[0]._pixels)): ut = ival_u.deval(scott.hist_u[0]._pixels[px]) if power: c = Color.interpolate(base_color, u_color, ut**power) else: c = Color.interpolate(base_color, u_color, ut) img_u._pixels[px] = c imgs.append(img_u) img_v = Image(Interval(scott.width, scott.height), base_color) for px in range(len(scott.hist_v[0]._pixels)): vt = ival_v.deval(scott.hist_v[0]._pixels[px]) if power: c = Color.interpolate(base_color, v_color, vt**power) else: c = Color.interpolate(base_color, v_color, vt) img_v._pixels[px] = c imgs.append(img_v) return imgs
r_list.sort() return [Interval(r_list[n], r_list[n + 1]) for n in range(divs)] print rand_interval(ival=Interval(0.0, 10.0), divs=4) t = Interval(0.0, 20.0) print t.rand_interval(10) for n in range(attempts): print "Iteration " + str(n) f_name = f_prefix + '_%02d_' % n scott = GrayScott(size) x_segments = random.choice(range(1, max_rects)) y_segments = random.choice(range(1, max_rects)) x_ints = rand_interval(x_interval, x_segments) y_ints = rand_interval(y_interval, y_segments) for x_i in x_ints: for y_j in y_ints: test = True x_list = range(int(x_i.a - .5), int(x_i.b + 1.5)) y_list = range(int(y_j.a - .5), int(y_j.b + 1.5)) if len(x_list) == 1: x_list.append(1 + x_list[0]) if len(y_list) == 1: y_list.append(1 + y_list[0])
import decodes as dc from decodes.core import * from decodes.extensions.reaction_diffusion import GrayScott import random import os path = os.path.expanduser("~") + os.sep + "_decodes_export" width = 20 height = 20 diffusion = GrayScott(Interval(width,height)) ''' for x in range(width): for y in range(height): if random.uniform(0,1) > 0.75: diffusion.set_u(x,y,0.5) diffusion.set_v(x,y,0.25) ''' ''' for r in range(4): diffusion.set_rect(random.uniform(10,width-10),random.uniform(10,height-10),random.uniform(2,8),random.uniform(2,8)) ''' diffusion.set_rect(3,10,2,8) diffusion.set_rect(width-3,height-10,2,8) diffusion.set_rect(width/2,2,4,4) from time import time for n in range(20): print "step",n
import decodes as dc from decodes.core import * from decodes.extensions.reaction_diffusion import GrayScott import random import os path = os.path.expanduser("~") + os.sep + "_decodes_export" width = 20 height = 20 diffusion = GrayScott(Interval(width, height)) ''' for x in range(width): for y in range(height): if random.uniform(0,1) > 0.75: diffusion.set_u(x,y,0.5) diffusion.set_v(x,y,0.25) ''' ''' for r in range(4): diffusion.set_rect(random.uniform(10,width-10),random.uniform(10,height-10),random.uniform(2,8),random.uniform(2,8)) ''' diffusion.set_rect(3, 10, 2, 8) diffusion.set_rect(width - 3, height - 10, 2, 8) diffusion.set_rect(width / 2, 2, 4, 4) from time import time for n in range(20): print "step", n t0 = time()
c = Color.interpolate(base_color, v_color, vt) img_v._pixels[px] = c imgs.append(img_v) return imgs # define corner colors for double interpolation u0v0 = Color(1, 1, 1) u0v1 = Color(0, 0, 0) u1v0 = Color(1, 1, 1) u1v1 = Color(1, 0, 0) scott = GrayScott(Interval(100, 100)) ''' scott.set_rect(3,3,3,3) scott.set_rect(13,13,3,2) scott.set_rect(18,4,3,8) ''' scott.set_rect(60, 60, 60, 60) scott.set_rect(65, 65, 15, 10) scott.set_rect(90, 20, 15, 40) scott.record() #scott.log_uv() #uv_imgs = export_uv(scott) gen = 50 stepsize = 5
r_list.sort() return [Interval(r_list[n],r_list[n+1]) for n in range(divs)] print rand_interval(ival = Interval(0.0,10.0), divs = 4) t= Interval(0.0,20.0) print t.rand_interval(10) for n in range(attempts): print "Iteration "+str(n) f_name = f_prefix+'_%02d_'% n scott = GrayScott(size) x_segments = random.choice(range(1,max_rects)) y_segments = random.choice(range(1,max_rects)) x_ints = rand_interval(x_interval,x_segments) y_ints = rand_interval(y_interval,y_segments) for x_i in x_ints: for y_j in y_ints: test = True x_list = range(int(x_i.a-.5), int(x_i.b+1.5)) y_list = range(int(y_j.a-.5), int(y_j.b+1.5)) if len(x_list) == 1: x_list.append(1+x_list[0]) if len(y_list) == 1: y_list.append(1+y_list[0])
imgs.append(img_v) return imgs # define corner colors for double interpolation u0v0 = Color(1,1,1) u0v1= Color(0,0,0) u1v0 = Color(1,1,1) u1v1 = Color(1,0,0) scott = GrayScott(Interval(100,100)) ''' scott.set_rect(3,3,3,3) scott.set_rect(13,13,3,2) scott.set_rect(18,4,3,8) ''' scott.set_rect(60,60,60,60) scott.set_rect(65,65,15,10) scott.set_rect(90,20,15,40) scott.record() #scott.log_uv() #uv_imgs = export_uv(scott) gen = 50