User:Dave Young/Thematic Project 1: Bits and Pieces
< User:Dave Young
Revision as of 16:14, 6 December 2011 by Dave Young (talk | contribs) (→Script for Literal Draw/SVGs etc)
Computata Miscellanea
Places for homeless code snippets from the thematic project seminars and workshops.
Script for Literal Draw/SVGs etc
Places pixels based on an ascii grid template - an 'X' = a pixel relative to that point on the canvas, any other text character leaves a blank space. The script expects a grid.txt argument [String], a starting x [int], and y [int] argument, a pixel size [int], and an outputfile_name.txt [string].
Frog in a Boat -------------------------------------------------------------- ----------------------------XXXX------------------------------ --------------------------XXXX-XX----------------------------- ------------------------XXXXXXXXX----------------------------- -----------------------XXXXXXXXXXXX----XX--------------------- ----------------------XXXXXXXXXXXXXXXXXX---------------------- XXX------------------XXXXXXXXXXX----XX---------------------XXX XXXX----------------XXXXXXXXXXXX---XX---------------------XXXX XXXXXXXXXXX---------XXXXXXXXXXXX--XX---------------XXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ----XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX---- --------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------- -------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX------------- ----------------------------XX-------------------------------- ---------------------------XX--------------------------------- -------------------------XXXX---------------------------------
Frog at a Bar ----------------------------------------------- ----------------------------------------------- -----------------XX----XX---------------------- -----------------X-XXXX-XX--------------------- -----------------XXXXXXXXXXX------------------- ----------------XXXXXXXXXXXXXX----------------- X--------------XXX-XXXXXXXX-XXX-------------XXX XX-------------XX--XXXXXXXX---XXX----------XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------------XX------XX------------------- ------------------XX------XX------------------- ------------------XX------XX------------------- ------------------XX------XX------------------- -----------------XXX------XXX------------------ -----------------------------------------------
Frog 'Avin a Laugh ------------------------------------------------------------- ------------------------------------------------------------- ------------------------------------------------------------- ------------------------------------------------------------- ------------------XXXXX----------------XXXXX----------------- ----------------XXX--XXX--------------XXX--XX---------------- X--------------XXXX--XXXXXXXXXXXXXXXXXXXX--XXX--------------X XX------------XXXXX--XXXXXXXXXXXXXXXXXXXX--XXXX------------XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX------------XXXXXX--XXXXXXXXXXXXXXXXXX--XXXXX------------XX X--------------XXXXX----------------------XXXX--------------X ----------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXX---------------- ------------------XXXXXXXXXXXXXXXXXXXXXXXXX------------------ --------------------XXX---------------XXX-------------------- --------------------XXX---------------XXX-------------------- --------------------XXX---------------XXX-------------------- ------------------XXXXXXX-----------XXXXXXX------------------
#!/usr/bin/python
#automates grid-based transformations
#Args: gridfile | commandfile | columnwidth | rowheight
#
import sys
thegrid = open(sys.argv[1]) #grid template - X = draw commands
output = open(sys.argv[2], "w") #the outputted text to paste into
x = int(sys.argv[3]) #starting x point
y = int(sys.argv[4]) #starting y point
ox = x
oy = y
sz = int(sys.argv[5]) #the size of the rectangle
def commands(x, y, sz):
cmd = "move {0} {1} \n line {2} {3} \n line {4} {5} \n line {6} {7} \n close\n\n".format(x, y, x+sz, y, x+sz, y+sz, x, y+sz) #a rectangle!
output.write(cmd)
for line in thegrid:
ret=0
for char in line:
x+=sz
if char == str('X'):
commands(x, y, sz)
x=ox
y+=sz
thegrid.close()
output.close()