kopia lustrzana https://github.com/villares/sketch-a-day
day 18
rodzic
e4c9ebdead
commit
8fe6b87f39
|
@ -4,9 +4,13 @@
|
|||
|
||||
Hi! I'm [Alexandre Villares](https://abav.lugaralgum.com), let's see if I can make one small program (*sketch*) a day.
|
||||
|
||||

|
||||
|
||||
018: [sketch_180116a](https://github.com/villares/sketch-a-day/tree/master/sketch_180118a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
|
||||
|
||||

|
||||
|
||||
016: [sketch_180116a](https://github.com/villares/sketch-a-day/tree/master/sketch_180117a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] John Maeda's `dbnletters.dbn` code from Design by Numbers on Processing Python Mode
|
||||
017: [sketch_180116a](https://github.com/villares/sketch-a-day/tree/master/sketch_180117a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] John Maeda's `dbnletters.dbn` code from Design by Numbers on Processing Python Mode
|
||||
|
||||

|
||||
|
||||
|
|
Plik binarny nie jest wyświetlany.
Przed Szerokość: | Wysokość: | Rozmiar: 170 KiB |
Plik binarny nie jest wyświetlany.
|
@ -0,0 +1,340 @@
|
|||
// dbnletters
|
||||
command letterA h v
|
||||
{
|
||||
line h v h (v+7)
|
||||
line (h) (v+7) (h+3) (v+10)
|
||||
line (h+3) (v+10) (h+10) (v+3)
|
||||
line (h+10) (v+3) (h+10) v
|
||||
line h (v+3) (h+10) (v+3)
|
||||
}
|
||||
command letterB h v
|
||||
{
|
||||
line h v h (v+10)
|
||||
line h (v+10) (h+5) (v+10)
|
||||
line (h+5) (v+10) (h+8) (v+7)
|
||||
line h (v+6) (h+7) (v+6)
|
||||
line (h+7) (v+6) (h+10) (v+3)
|
||||
line (h+10) (v+3) (h+10) (v+1)
|
||||
line h v (h+9) v
|
||||
}
|
||||
command letterC h v
|
||||
{
|
||||
line (h+4) v (h+10) v
|
||||
line (h+4) v h (v+4)
|
||||
line h (v+4) h (v+9)
|
||||
line (h+1) (v+10) (h+9) (v+10)
|
||||
}
|
||||
command letterD h v
|
||||
{
|
||||
line h v h (v+10)
|
||||
line h v (h+8) v
|
||||
line (h+8) v (h+10) (v+2)
|
||||
line (h+10) (v+2) (h+10) (v+6)
|
||||
line (h+10) (v+6) (h+6) (v+10)
|
||||
line (h+6) (v+10) h (v+10)
|
||||
}
|
||||
command letterE h v
|
||||
{
|
||||
line h (v+3) h (v+10)
|
||||
line h (v+3) (h+3) v
|
||||
line (h+3) v (h+10) v
|
||||
line h (v+6) (h+9) (v+6)
|
||||
line h (v+10) (h+9) (v+10)
|
||||
}
|
||||
command letterF h v
|
||||
{
|
||||
line h v h (v+10)
|
||||
line h (v+6) (h+8) (v+6)
|
||||
line h (v+10) (h+10) (v+10)
|
||||
}
|
||||
command letterG h v
|
||||
{
|
||||
line (h+4) v (h+9) v
|
||||
line (h+4) v h (v+4)
|
||||
line h (v+4) h (v+9)
|
||||
line (h+1) (v+10) (h+9) (v+10)
|
||||
line (h+10) (v+1) (h+10) (v+5)
|
||||
line (h+10) (v+5) (h+6) (v+5)
|
||||
}
|
||||
command letterH h v
|
||||
{
|
||||
line h v h (v+10)
|
||||
line h (v+4) (h+10) (v+4)
|
||||
line (h+10) v (h+10) (v+10)
|
||||
}
|
||||
command letterI h v
|
||||
{
|
||||
line h v (h+10) v
|
||||
line (h+5) v (h+5) (v+10)
|
||||
line h (v+10) (h+9) (v+10)
|
||||
}
|
||||
command letterJ h v
|
||||
{
|
||||
line h (v+3) (h+3) v
|
||||
line (h+3) v (h+9) v
|
||||
line (h+10) (v+1) (h+10) (v+10)
|
||||
}
|
||||
command letterK h v
|
||||
{
|
||||
line h v h (v+10)
|
||||
line h (v+1) (h+9) (v+10)
|
||||
line (h+5) (v+5) (h+10) v
|
||||
}
|
||||
command letterL h v
|
||||
{
|
||||
line h v h (v+10)
|
||||
line h v (h+10) v
|
||||
}
|
||||
command letterM h v
|
||||
{
|
||||
line h v h (v+10)
|
||||
//line h (v+10) (h+2) (v+10)
|
||||
line (h+1) (v+10) (h+5) (v+6)
|
||||
line (h+5) (v+6) (h+9) (v+10)
|
||||
line (h+10) (v+10) (h+10) v
|
||||
}
|
||||
command letterN h v
|
||||
{
|
||||
line h v h (v+10)
|
||||
line h (v+10) (h+3) (v+10)
|
||||
line (h+3) (v+10) (h+10) (v+3)
|
||||
line (h+10) (v+10) (h+10) v
|
||||
}
|
||||
command letterO h v
|
||||
{
|
||||
line (h+4) v (h+9) v
|
||||
line (h+4) v h (v+4)
|
||||
line h (v+4) h (v+9)
|
||||
line (h+1) (v+10) (h+7) (v+10)
|
||||
line (h+7) (v+10) (h+10) (v+7)
|
||||
line (h+10) (v+7) (h+10) (v+1)
|
||||
}
|
||||
command letterP h v
|
||||
{
|
||||
line h v h (v+10)
|
||||
line h (v+10) (h+7) (v+10)
|
||||
line (h+7) (v+10) (h+10) (v+7)
|
||||
line (h+10) (v+6) (h+8) (v+4)
|
||||
line h (v+4) (h+8) (v+4)
|
||||
}
|
||||
command letterQ h v
|
||||
{
|
||||
line (h+4) v (h+8) v
|
||||
line (h+4) v h (v+4)
|
||||
line h (v+4) h (v+9)
|
||||
line (h+1) (v+10) (h+7) (v+10)
|
||||
line (h+7) (v+10) (h+10) (v+7)
|
||||
line (h+10) (v+7) (h+10) (v+2)
|
||||
line (h+6) (v+4) (h+10) v
|
||||
}
|
||||
command letterR h v
|
||||
{
|
||||
line h v h (v+10)
|
||||
line h (v+10) (h+7) (v+10)
|
||||
line (h+7) (v+10) (h+10) (v+7)
|
||||
line (h+10) (v+6) (h+8) (v+4)
|
||||
line h (v+4) (h+8) (v+4)
|
||||
line (h+6) (v+4) (h+10) v
|
||||
}
|
||||
command letterS h v
|
||||
{
|
||||
line h (v+2) (h+2) v
|
||||
line (h+2) v (h+9) v
|
||||
line (h+10) (v+1) (h+10) (v+4)
|
||||
line (h+9) (v+5) (h+2) (v+5)
|
||||
line (h+2) (v+5) h (v+7)
|
||||
line h (v+7) h (v+9)
|
||||
line (h+1) (v+10) (h+9) (v+10)
|
||||
line (h+9) (v+10) (h+10) (v+9)
|
||||
}
|
||||
command letterT h v
|
||||
{
|
||||
line h (v+10) (h+10) (v+10)
|
||||
line (h+5) (v+10) (h+5) v
|
||||
}
|
||||
command letterU h v
|
||||
{
|
||||
line h (v+10) h (v+3)
|
||||
line h (v+3) (h+3) v
|
||||
line (h+3) v (h+9) v
|
||||
line (h+10) (v+1) (h+10) (v+10)
|
||||
}
|
||||
command letterV h v
|
||||
{
|
||||
line h (v+10) h (v+5)
|
||||
line h (v+5) (h+5) v
|
||||
line (h+5) v (h+10) (v+5)
|
||||
line (h+10) (v+5) (h+10) (v+10)
|
||||
}
|
||||
command letterW h v
|
||||
{
|
||||
line h (v+10) h (v+3)
|
||||
line h (v+3) (h+3) v
|
||||
line (h+3) v (h+6) (v+3)
|
||||
line (h+6) (v+3) (h+9) v
|
||||
line (h+10) (v+1) (h+10) (v+10)
|
||||
}
|
||||
command letterX h v
|
||||
{
|
||||
line h (v+10) h (v+9)
|
||||
line h (v+9) (h+4) (v+5)
|
||||
line (h+4) (v+5) (h+6) (v+5)
|
||||
line (h+6) (v+5) (h+10) (v+9)
|
||||
line (h+10) (v+9) (h+10) (v+10)
|
||||
line h v h (v+1)
|
||||
line h (v+1) (h+4) (v+5)
|
||||
line (h+6) (v+5) (h+10) (v+1)
|
||||
line (h+10) (v+1) (h+10) v
|
||||
}
|
||||
command letterX2 h v
|
||||
{
|
||||
line h v (h+10) (v+10)
|
||||
line h (v+10) (h+10) v
|
||||
}
|
||||
command letterY h v
|
||||
{
|
||||
line h (v+10) h (v+7)
|
||||
line h (v+7) (h+3) (v+4)
|
||||
line (h+3) (v+4) (h+10) (v+4)
|
||||
line (h+10) (v+10) (h+10) (v+1)
|
||||
line (h+9) v (h+2) v
|
||||
line (h+2) v h (v+2)
|
||||
}
|
||||
command letterZ h v
|
||||
{
|
||||
line h (v+10) (h+10) (v+10)
|
||||
line (h+10) (v+10) h v
|
||||
line h v (h+10) v
|
||||
}
|
||||
command letter l h v
|
||||
{
|
||||
same? l 1
|
||||
{
|
||||
letterA h v
|
||||
}
|
||||
same? l 2
|
||||
{
|
||||
letterB h v
|
||||
}
|
||||
same? l 3
|
||||
{
|
||||
letterC h v
|
||||
}
|
||||
same? l 4
|
||||
{
|
||||
letterD h v
|
||||
}
|
||||
same? l 5
|
||||
{
|
||||
letterE h v
|
||||
}
|
||||
same? l 6
|
||||
{
|
||||
letterF h v
|
||||
}
|
||||
same? l 7
|
||||
{
|
||||
letterG h v
|
||||
}
|
||||
same? l 8
|
||||
{
|
||||
letterH h v
|
||||
}
|
||||
same? l 9
|
||||
{
|
||||
letterI h v
|
||||
}
|
||||
same? l 10
|
||||
{
|
||||
letterJ h v
|
||||
}
|
||||
same? l 11
|
||||
{
|
||||
letterK h v
|
||||
}
|
||||
same? l 12
|
||||
{
|
||||
letterL h v
|
||||
}
|
||||
same? l 13
|
||||
{
|
||||
letterM h v
|
||||
}
|
||||
same? l 14
|
||||
{
|
||||
letterN h v
|
||||
}
|
||||
same? l 15
|
||||
{
|
||||
letterO h v
|
||||
}
|
||||
same? l 16
|
||||
{
|
||||
letterP h v
|
||||
}
|
||||
same? l 17
|
||||
{
|
||||
letterQ h v
|
||||
}
|
||||
same? l 18
|
||||
{
|
||||
letterR h v
|
||||
}
|
||||
same? l 19
|
||||
{
|
||||
letterS h v
|
||||
}
|
||||
same? l 20
|
||||
{
|
||||
letterT h v
|
||||
}
|
||||
same? l 21
|
||||
{
|
||||
letterU h v
|
||||
}
|
||||
same? l 22
|
||||
{
|
||||
letterV h v
|
||||
}
|
||||
same? l 23
|
||||
{
|
||||
letterW h v
|
||||
}
|
||||
same? l 24
|
||||
{
|
||||
letterX h v
|
||||
}
|
||||
same? l 25
|
||||
{
|
||||
letterY h v
|
||||
}
|
||||
same? l 26
|
||||
{
|
||||
letterZ h v
|
||||
}
|
||||
}
|
||||
command testdbnletters
|
||||
{
|
||||
paper 0
|
||||
pen 100
|
||||
set x 17
|
||||
set y 73
|
||||
set dx 12
|
||||
set dy 12
|
||||
set n 0
|
||||
repeat a 1 25
|
||||
{
|
||||
letter a x y
|
||||
set x (x+dx)
|
||||
set n (n+1)
|
||||
same? n 5
|
||||
{
|
||||
set x 17
|
||||
set y (y-dy)
|
||||
set n 0
|
||||
}
|
||||
}
|
||||
set x (x+dx*5)
|
||||
letter 26 x y
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
mode=Python
|
||||
mode.id=jycessing.mode.PythonMode
|
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 18 KiB |
|
@ -0,0 +1,94 @@
|
|||
add_library('pdf')
|
||||
"""
|
||||
s18016 - Alexandre B A Villares
|
||||
https://abav.lugaralgum.com/sketch-a-day
|
||||
|
||||
Converting some of Maeda's Design by Number
|
||||
dbnletters.dbn code -> Processing
|
||||
"""
|
||||
|
||||
dbn_letter = {} # Dict of functions
|
||||
time = "setup"
|
||||
|
||||
def setup():
|
||||
parse_dbn_source("data/dbnletters.dbn")
|
||||
size(500, 280)
|
||||
strokeCap(SQUARE)
|
||||
noSmooth()
|
||||
noLoop()
|
||||
|
||||
def draw():
|
||||
time = "execution"
|
||||
beginRecord(PDF, "DBN_Letters.pdf")
|
||||
"""
|
||||
strokeCap(ROUND)
|
||||
dbn_test()
|
||||
translate(90, 0)
|
||||
strokeCap(SQUARE)
|
||||
dbn_test()
|
||||
translate(90,0)
|
||||
strokeCap(PROJECT);
|
||||
dbn_test()
|
||||
endRecord()
|
||||
"""
|
||||
#translate(-180, 100)
|
||||
scale(3,3)
|
||||
|
||||
strokeCap(ROUND)
|
||||
dbn_test()
|
||||
translate(80,0)
|
||||
strokeCap(PROJECT);
|
||||
dbn_test()
|
||||
|
||||
endRecord()
|
||||
|
||||
def dbn_test():
|
||||
for y in range(0, 5):
|
||||
for x in range(1, 6):
|
||||
dbn_letter[x + y * 5](x * 12, -20 - y * 12)
|
||||
dbn_letterZ(x * 12 + 12, -32 - y * 12)
|
||||
print time
|
||||
|
||||
def parse_dbn_source(file_path):
|
||||
with open(file_path, "r") as f:
|
||||
dbn_source = f.readlines()
|
||||
inside_block = False
|
||||
command_name = ""
|
||||
command_block = []
|
||||
for ln in dbn_source:
|
||||
if ln.count("command"):
|
||||
command_name = ln[14:15]
|
||||
elif ln.count("{"):
|
||||
inside_block = True
|
||||
elif ln.count("}"):
|
||||
if command_name in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
|
||||
def_dbn_letter(command_block, command_name)
|
||||
command_block = [] # empty block
|
||||
inside_block = False
|
||||
elif inside_block:
|
||||
command_block.append(ln.lstrip())
|
||||
|
||||
|
||||
def def_dbn_letter(dbn_block, func_key):
|
||||
p_block = []
|
||||
for dbn_line in dbn_block:
|
||||
if dbn_line:
|
||||
p_block.append(dbn_line
|
||||
.replace("line ", "line(")
|
||||
.replace(" ", ",")
|
||||
.replace("//", "#")
|
||||
+ ")")
|
||||
# println("def dbn_letter" + func_key)
|
||||
def func(h, v):
|
||||
with pushMatrix():
|
||||
scale(1, -1)
|
||||
for ln in p_block:
|
||||
colorMode(HSB)
|
||||
stroke(random(256), 200, 200)
|
||||
if ln[0] != "#":
|
||||
eval(ln)
|
||||
print "eval", time
|
||||
|
||||
dbn_letter[func_key] = func
|
||||
dbn_letter[ord(func_key) - 64] = func
|
||||
globals()["dbn_letter" + func_key] = func
|
Ładowanie…
Reference in New Issue