pixelisation v1
This commit is contained in:
parent
5ce0a89bb6
commit
0de90a4934
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,5 +1,6 @@
|
|||||||
captain/
|
captain/
|
||||||
drone/
|
drone/
|
||||||
|
lila/
|
||||||
pln/
|
pln/
|
||||||
pylone3/
|
pylone3/
|
||||||
screen/
|
screen/
|
||||||
|
247
haacheuur.py
Normal file
247
haacheuur.py
Normal file
@ -0,0 +1,247 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
# coding: utf-8
|
||||||
|
|
||||||
|
# haacheuur 0.24
|
||||||
|
# port industriel de port la nouvelle - couleur - 60cm*30cm
|
||||||
|
# image source : pln.jpg
|
||||||
|
# image obtenue : pln..20150910-11h59m53s.jpg
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import Image
|
||||||
|
import random
|
||||||
|
import os
|
||||||
|
import ImageDraw
|
||||||
|
import ImageFont
|
||||||
|
import ImageFilter
|
||||||
|
from time import gmtime, strftime
|
||||||
|
import time
|
||||||
|
|
||||||
|
# modifs du 30/10/2013
|
||||||
|
import ImageEnhance
|
||||||
|
|
||||||
|
'''
|
||||||
|
multiples 1024 : 1024 2048 3072 4096 5120 6144 7168 8192 9216 10240
|
||||||
|
multiples 768 : 768 1536 2304 3072 3840 4608 5376 6144 6912 7680 8448 9216 9984 10752
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
#rapport d'allongement de la nouvelle image par rapport à la largeur de l'image originale
|
||||||
|
allongement = 2
|
||||||
|
|
||||||
|
#ouvertrure de l'image source et conversion en mode couleur 1bit
|
||||||
|
#im1 = Image.open(str(sys.argv[1])).convert('1')
|
||||||
|
#im1 = Image.open(str(sys.argv[1])).convert('L')
|
||||||
|
im1 = Image.open(str(sys.argv[1]))
|
||||||
|
im2 = im1.copy()
|
||||||
|
im3 = Image.new("RGBA",(im1.size[0], im1.size[1]))
|
||||||
|
im4 = Image.new("RGBA",(im1.size[0]*allongement, im1.size[1]))
|
||||||
|
|
||||||
|
boutImage = Image.new("RGBA",(im1.size[0], im1.size[1]))
|
||||||
|
|
||||||
|
pix2 = im3.resize((im3.size[0]/2, im3.size[1]/2), Image.NEAREST)
|
||||||
|
pix4 = im3.resize((im3.size[0]/4, im3.size[1]/4), Image.NEAREST)
|
||||||
|
pix8 = im3.resize((im3.size[0]/8, im3.size[1]/8), Image.NEAREST)
|
||||||
|
pix16 = im3.resize((im3.size[0]/16, im3.size[1]/16), Image.NEAREST)
|
||||||
|
pix32 = im3.resize((im3.size[0]/32, im3.size[1]/32), Image.NEAREST)
|
||||||
|
pix64 = im3.resize((im3.size[0]/64, im3.size[1]/64), Image.NEAREST)
|
||||||
|
pix128 = im3.resize((im3.size[0]/128, im3.size[1]/128), Image.NEAREST)
|
||||||
|
pix256 = im3.resize((im3.size[0]/256, im3.size[1]/256), Image.NEAREST)
|
||||||
|
pix512 = im3.resize((im3.size[0]/512, im3.size[1]/512), Image.NEAREST)
|
||||||
|
pix1024 = im3.resize((im3.size[0]/1024, im3.size[1]/1024), Image.NEAREST)
|
||||||
|
|
||||||
|
Larg = im1.size[0]
|
||||||
|
Haut = im1.size[1]
|
||||||
|
import pickle
|
||||||
|
|
||||||
|
loadfile = False
|
||||||
|
|
||||||
|
class Sequence:
|
||||||
|
def __init__(s):
|
||||||
|
randomCoupeHauteur = []
|
||||||
|
s.randomCopyPosi =[]
|
||||||
|
s.proportions=[]
|
||||||
|
s.choix=[]
|
||||||
|
s.sizeOutput=None
|
||||||
|
s.sizeInput=None
|
||||||
|
|
||||||
|
"""
|
||||||
|
seq = dict()
|
||||||
|
seq["randomCoupeHauteur"] = []
|
||||||
|
seq["randomCopyPosi"] = []
|
||||||
|
seq["proportions"] = []
|
||||||
|
seq["choix"] = []
|
||||||
|
seq["sizeOutput"]= im4.size
|
||||||
|
seq["sizeInput"] = im1.size
|
||||||
|
"""
|
||||||
|
if loadfile:
|
||||||
|
seq=pickle.load(open("test.pickle"))
|
||||||
|
|
||||||
|
else :
|
||||||
|
seq=Sequence()
|
||||||
|
|
||||||
|
for i in range(1):
|
||||||
|
|
||||||
|
|
||||||
|
# constitution de la liste des tranches horizontales
|
||||||
|
# genre comme si qu'on avait un 16 pistes :)
|
||||||
|
# nombre aleatoire compris dans les limites de l'image
|
||||||
|
def randHaut():
|
||||||
|
return random.randint(0, im1.size[1]/16)*16
|
||||||
|
|
||||||
|
if loadfile:
|
||||||
|
randomCoupeHauteur = seq.randomCoupeHauteur
|
||||||
|
|
||||||
|
else:
|
||||||
|
randomCoupeHauteur = [0, \
|
||||||
|
randHaut(),randHaut(),randHaut(),randHaut(), \
|
||||||
|
randHaut(),randHaut(),randHaut(),randHaut(), \
|
||||||
|
randHaut(),randHaut(),randHaut(),randHaut(), \
|
||||||
|
randHaut(),randHaut(),randHaut(),randHaut(), \
|
||||||
|
randHaut(),randHaut(),randHaut(),randHaut(), \
|
||||||
|
randHaut(),randHaut(),randHaut(),randHaut(), \
|
||||||
|
randHaut(),randHaut(),randHaut(),randHaut(), \
|
||||||
|
randHaut(),randHaut(),randHaut(),randHaut(), \
|
||||||
|
im1.size[1]]
|
||||||
|
# rangement des valeurs des plus petites au plus grandes
|
||||||
|
randomCoupeHauteur.sort()
|
||||||
|
seq.randomCoupeHauteur = randomCoupeHauteur
|
||||||
|
|
||||||
|
# les hachures
|
||||||
|
def Hacheur(haut, bas) :
|
||||||
|
|
||||||
|
n=0
|
||||||
|
i=0
|
||||||
|
#!!!!!!!!!!
|
||||||
|
while n<im4.size[0] :
|
||||||
|
|
||||||
|
if loadfile:
|
||||||
|
proportions = seq.proportions
|
||||||
|
choix_rnd = seq.choix[i]
|
||||||
|
randomCopyPosi = seq.randomCopyPosi[i]
|
||||||
|
else:
|
||||||
|
'''
|
||||||
|
8 16 24 32 40 48 56 64 72 80 88 96 104 112 120 128 136 144 152 160 168
|
||||||
|
'''
|
||||||
|
#proportions = [(160,6),(120,4),(120,8),(80,16),(60,16),(20,32),(8,24),(8,16),(5,64),(3,24),(2,24),(1,256),(1,128),(1,64),(1,32),(1,16),(1,8)]
|
||||||
|
#proportions = [(2560,1),(1280,2),(1280,1),(640,2),(640,1),(320,4),(320,2),(160,6),(160,2),(120,4),(120,8),(120,1),(80,16),(80,4),(64,16),(64,8),(64,1),(24,32),(24,16),(16,32),(16,16),(16,8),(16,2),(16,1),(8,24),(8,16),(8,8),(8,4),(8,2),(8,1)]
|
||||||
|
#proportions = [(2560,1),(1280,2),(1280,1),(640,2),(640,1),(320,4),(320,2),(160,6),(160,2),(120,4),(120,8),(120,1),(80,16),(80,4),(64,16),(64,8),(64,1),(32,1),(32,2),(32,4),(32,8),(32,32),(16,1),(16,2),(16,4),(16,16),(16,32)]
|
||||||
|
proportions = [(2560,1),(1280,2),(1280,1),(640,2),(640,1),(320,4),(320,2),(160,6),(160,2),(120,4),(120,8),(120,1),(80,16),(80,4),(64,16),(64,8),(64,1),(32,1),(32,2),(32,4),(32,8),(32,32),(16,1),(16,2),(16,4),(16,16),(16,32)]
|
||||||
|
|
||||||
|
'''
|
||||||
|
1,2,4,8,16,32,64,128,256,512,1024
|
||||||
|
'''
|
||||||
|
|
||||||
|
seq.proportions = proportions
|
||||||
|
#proportions = seq.proportions[]
|
||||||
|
choix_rnd = random.randint(0, len(proportions)-1)
|
||||||
|
#choix_rnd = random.randint(0, len(proportions)-1)
|
||||||
|
seq.choix.append(choix_rnd)
|
||||||
|
|
||||||
|
largeur = proportions[choix_rnd][0]
|
||||||
|
|
||||||
|
# positionnement de la copie, aleatoirement, entre 0 et la largeur totale de l'image
|
||||||
|
randomCopyPosi = random.randint(0, (im1.size[0]-largeur))
|
||||||
|
#randomCopyPosi = seq.randomCopyPosi
|
||||||
|
seq.randomCopyPosi.append(randomCopyPosi)
|
||||||
|
|
||||||
|
i+=1
|
||||||
|
|
||||||
|
# tirage au sort
|
||||||
|
|
||||||
|
#seq["choix"].append(choix_rnd)
|
||||||
|
|
||||||
|
# assignation des valeurs (paires) finales choisies
|
||||||
|
largeur = proportions[choix_rnd][0]
|
||||||
|
repeat = proportions[choix_rnd][1]
|
||||||
|
|
||||||
|
#seq["randomCopyPosi"].append(randomCopyPosi)
|
||||||
|
|
||||||
|
cx1 = randomCopyPosi
|
||||||
|
cx2 = randomCopyPosi + largeur
|
||||||
|
# decoupage du sample
|
||||||
|
im3 = im2.crop((cx1,haut,cx2,bas))
|
||||||
|
#print "im3 = im2.crop : "+str(im3.size)
|
||||||
|
|
||||||
|
draw = ImageDraw.Draw(im4)
|
||||||
|
|
||||||
|
loop = 0
|
||||||
|
|
||||||
|
#pixelSizeList = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,4,4,8]
|
||||||
|
pixelSizeList = [1,1,1,1,4,8,16]
|
||||||
|
|
||||||
|
#print " pixelSize = "+str(pixelSize)
|
||||||
|
|
||||||
|
|
||||||
|
''' COLLAGE DU SAMPLE
|
||||||
|
'''
|
||||||
|
|
||||||
|
boutImage = im3
|
||||||
|
|
||||||
|
while loop<repeat:
|
||||||
|
|
||||||
|
px1 = n
|
||||||
|
px2 = n + largeur
|
||||||
|
|
||||||
|
pixelSizeIndex = random.randint(0,len(pixelSizeList)-1)
|
||||||
|
pixelSize = pixelSizeList[pixelSizeIndex]
|
||||||
|
|
||||||
|
''' PIXELISATION '''
|
||||||
|
|
||||||
|
boutImage = im3.resize((im3.size[0]/pixelSize, im3.size[1]/pixelSize), Image.ANTIALIAS)
|
||||||
|
boutImage = boutImage.resize((im3.size[0], im3.size[1]), Image.NEAREST)
|
||||||
|
|
||||||
|
#lignes colorées de 1 pix
|
||||||
|
# draw = ImageDraw.Draw(boutImage)
|
||||||
|
# draw.line((0,0,0,4), fill="rgb(128,128,128)")
|
||||||
|
# draw.line((0,0,4,0), fill="rgb(128,128,128)")
|
||||||
|
|
||||||
|
im4.paste(boutImage, (px1, haut, px2, bas))
|
||||||
|
|
||||||
|
pix2 pix4 pix8 pix16 pix32 pix64 pix128 pix256 pix512 pix1024
|
||||||
|
|
||||||
|
'''
|
||||||
|
draw = ImageDraw.Draw(im4)
|
||||||
|
draw.line((px1-2, haut, px1+2, haut), fill="rgb(0,0,0)")
|
||||||
|
draw.line((px1, haut-2, px1, haut+2), fill="rgb(0,0,0)")
|
||||||
|
|
||||||
|
draw.line((px1-2, bas-1, px1+2, bas-1), fill="rgb(0,0,0)")
|
||||||
|
draw.line((px1, bas-2, px1, bas+2), fill="rgb(0,0,0)")
|
||||||
|
'''
|
||||||
|
|
||||||
|
n = n + largeur
|
||||||
|
loop = loop + 1
|
||||||
|
|
||||||
|
''' OPTIONS '''
|
||||||
|
def TrancheHorizontale() :
|
||||||
|
# tirage au hasard de la bande copiee
|
||||||
|
pos = random.randint(0, im1.size[1]-im1.size[1]/20)
|
||||||
|
# copiage
|
||||||
|
im5 = im2.crop((0,pos,im1.size[0],pos+im1.size[1]/20))
|
||||||
|
|
||||||
|
# le soulignage en blanc
|
||||||
|
draw = ImageDraw.Draw(im5)
|
||||||
|
draw.line((0, im5.size[1]-1, im5.size[0], im5.size[1]-1), fill="black")
|
||||||
|
draw.line((0, 1, im5.size[0], 1), fill="black")
|
||||||
|
|
||||||
|
# collage
|
||||||
|
im4.paste(im5, (0,pos,im1.size[0],pos+im1.size[1]/20))
|
||||||
|
|
||||||
|
# HAACHEUUR
|
||||||
|
for j in range(len(randomCoupeHauteur)-1):
|
||||||
|
Hacheur(randomCoupeHauteur[j], randomCoupeHauteur[j+1])
|
||||||
|
|
||||||
|
''' SAUVEGARDE '''
|
||||||
|
# CTRL + S
|
||||||
|
#chemin du script : scriptpy = sys.argv[0]
|
||||||
|
#chemin de l'image : str(sys.argv[1])
|
||||||
|
scriptpy = str(sys.argv[1])
|
||||||
|
script = scriptpy[:-3]
|
||||||
|
n = "%05d" % i
|
||||||
|
im4.save(script+"."+n+"_"+strftime("%Y%m%d-%Hh%Mm%Ss", gmtime())+".png",'PNG', quality=100)
|
||||||
|
pickle.dump(seq, open(script+"."+n+"_"+strftime("%Y%m%d-%Hh%Mm%Ss", gmtime())+".pickle","w"))
|
||||||
|
|
||||||
|
#print script+"."+str(i)+"_"+strftime("%Y%m%d-%Hh%Mm%Ss", gmtime())+".jpg"
|
||||||
|
#millis = int(round(time.time() * 1000))
|
||||||
|
#print "millis-secondes : "+str(millis)
|
||||||
|
|
@ -1,6 +1,17 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
|
# sys.popen youtube.dl
|
||||||
|
'''
|
||||||
|
youtube-dl $1
|
||||||
|
'''
|
||||||
|
|
||||||
|
# rename file
|
||||||
|
'''
|
||||||
|
sys.popen("mv $1 $2")
|
||||||
|
'''
|
||||||
|
|
||||||
|
# mosaique
|
||||||
'''
|
'''
|
||||||
ffmpeg -i drone.mp4 -vf fps=30 ./drone/img%03d.jpg
|
ffmpeg -i drone.mp4 -vf fps=30 ./drone/img%03d.jpg
|
||||||
'''
|
'''
|
||||||
@ -34,18 +45,28 @@ script = os.getcwd()
|
|||||||
print script
|
print script
|
||||||
|
|
||||||
index = 1
|
index = 1
|
||||||
allongement = 16 #4818
|
allongement = 32 #4818
|
||||||
im1 = Image.open("./capt/img001.jpg")
|
|
||||||
im2 = Image.new("RGBA",(im1.size[0]*allongement, im1.size[1]*allongement))
|
|
||||||
largeur = im1.size[0]
|
|
||||||
hauteur = im1.size[1]
|
|
||||||
|
|
||||||
positiony = 0
|
im1 = Image.open("./lila/img001.jpg")
|
||||||
|
im2 = Image.new("RGBA",(im1.size[0]*allongement, im1.size[1]))
|
||||||
|
largeur = im1.size[0]
|
||||||
|
|
||||||
for x in range(0,allongement):
|
for x in range(0,allongement):
|
||||||
positionx = 0
|
positionx = 0
|
||||||
|
|
||||||
for y in range(1,17):
|
for y in range(1,33):
|
||||||
|
z = x*allongement + y
|
||||||
|
im1 = Image.open("./lila/img%03.1i.jpg" % z)
|
||||||
|
im2.paste(im1, (positionx,0))
|
||||||
|
positionx = positionx + largeur
|
||||||
|
im2.save(script+"/"+str(x)+".2.png",'PNG', quality=100)
|
||||||
|
|
||||||
|
'''
|
||||||
|
# VERSION BATAILLE NAVALE
|
||||||
|
for x in range(0,allongement):
|
||||||
|
positionx = 0
|
||||||
|
|
||||||
|
for y in range(1,6):
|
||||||
z = x*10 + y
|
z = x*10 + y
|
||||||
im1 = Image.open("./capt/img%03.1i.jpg" % z)
|
im1 = Image.open("./capt/img%03.1i.jpg" % z)
|
||||||
#print "z="+str(z)
|
#print "z="+str(z)
|
||||||
@ -61,6 +82,10 @@ for x in range(0,allongement):
|
|||||||
|
|
||||||
im2.save(script+"/"+str(x)+".2.png",'PNG', quality=100)
|
im2.save(script+"/"+str(x)+".2.png",'PNG', quality=100)
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'''
|
'''
|
||||||
1145 ffmpeg -i noir...png.mp4 noir...png.enscribe.norm.wav -c:a copy -c:v copy noir..HQ..mp4
|
1145 ffmpeg -i noir...png.mp4 noir...png.enscribe.norm.wav -c:a copy -c:v copy noir..HQ..mp4
|
||||||
1146 ffmpeg -i noir...png.mp4 -i noir...png.enscribe.norm.wav -c:a copy -c:v copy noir..HQ..mp4
|
1146 ffmpeg -i noir...png.mp4 -i noir...png.enscribe.norm.wav -c:a copy -c:v copy noir..HQ..mp4
|
19
video2d/0.1.1.pd
Normal file
19
video2d/0.1.1.pd
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#N canvas 436 346 437 512 10;
|
||||||
|
#X obj 137 157 pix_texture;
|
||||||
|
#X obj 137 157 pix_texture;
|
||||||
|
#X obj 137 207 rectangle 8192 144;
|
||||||
|
#X obj 137 33 inlet;
|
||||||
|
#X obj 137 311 outlet;
|
||||||
|
#X obj 137 77 pix_image \$1;
|
||||||
|
#X msg 258 81 quality 0;
|
||||||
|
#X obj 258 61 loadbang;
|
||||||
|
#X obj 137 354 translateXYZ 8192 0 0;
|
||||||
|
#X obj 137 252 translateXYZ 16384 0 0;
|
||||||
|
#X obj 137 376 translateXYZ 20384 0 0;
|
||||||
|
#X connect 0 0 2 0;
|
||||||
|
#X connect 2 0 9 0;
|
||||||
|
#X connect 3 0 5 0;
|
||||||
|
#X connect 5 0 0 0;
|
||||||
|
#X connect 6 0 0 0;
|
||||||
|
#X connect 7 0 6 0;
|
||||||
|
#X connect 9 0 4 0;
|
359
video2d/0.1.pd
Normal file
359
video2d/0.1.pd
Normal file
@ -0,0 +1,359 @@
|
|||||||
|
#N canvas 56 475 1313 378 10;
|
||||||
|
#X obj 257 175 gemhead;
|
||||||
|
#X obj 264 -99 gemwin;
|
||||||
|
#X msg 277 -129 0 \, destroy;
|
||||||
|
#X text 261 -56 10272 856;
|
||||||
|
#X text 263 -32 5136 428;
|
||||||
|
#X obj 256 431 translateXYZ;
|
||||||
|
#X floatatom 357 370 10 0 0 0 - - -, f 10;
|
||||||
|
#X floatatom 450 -385 10 0 0 0 - - -, f 10;
|
||||||
|
#X msg 376 -382 8192;
|
||||||
|
#X obj 401 -331 +;
|
||||||
|
#X floatatom 408 -300 5 0 0 0 - - -, f 5;
|
||||||
|
#X obj 459 -430 *;
|
||||||
|
#X msg 486 -492 3;
|
||||||
|
#X msg 428 -492 8192;
|
||||||
|
#X obj 449 250 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X obj 574 326 f;
|
||||||
|
#X msg 625 -274 8192 \, -40960 60000;
|
||||||
|
#X obj 309 222 t b b b;
|
||||||
|
#X obj 682 242 sel 1;
|
||||||
|
#X obj 530 326 +;
|
||||||
|
#X obj 557 354 * -1;
|
||||||
|
#X floatatom 294 257 5 0 0 0 - - -, f 5;
|
||||||
|
#X msg 626 651 768;
|
||||||
|
#X msg 666 651 -41472;
|
||||||
|
#X obj 637 415 < -40960;
|
||||||
|
#X obj 470 287 f 300;
|
||||||
|
#X floatatom 501 205 5 -2048 4096 0 - - -, f 5;
|
||||||
|
#X obj 569 245 t b b;
|
||||||
|
#X msg 601 286 0;
|
||||||
|
#X obj 569 202 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
|
||||||
|
-1 -1;
|
||||||
|
#X text 513 850 une quatrieme image pour boucler...;
|
||||||
|
#X msg 556 285 -7680;
|
||||||
|
#X floatatom 490 386 10 0 0 0 - - -, f 10;
|
||||||
|
#X obj 537 147 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
|
||||||
|
1;
|
||||||
|
#X obj 537 169 t a b;
|
||||||
|
#X obj 508 828 pix_write 0 0 1024 768;
|
||||||
|
#X msg 508 807 auto 1 \, file /home/rep/Projets/HH_/screen/screencap/test
|
||||||
|
90;
|
||||||
|
#X obj 257 136 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
|
||||||
|
1;
|
||||||
|
#X msg 293 1509 pd~ start mp3.pd;
|
||||||
|
#X msg 365 1543 pd~ stop;
|
||||||
|
#X obj 327 1625 pd~ -ninsig 2 -noutsig 2 -fifo 20;
|
||||||
|
#X obj 492 1692 dac~;
|
||||||
|
#X msg 406 30 256;
|
||||||
|
#X msg 425 6 128;
|
||||||
|
#X msg 443 -16 64;
|
||||||
|
#X msg 462 -40 32;
|
||||||
|
#X msg 480 -57 16;
|
||||||
|
#X msg 499 -70 8;
|
||||||
|
#X obj 388 -130 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144
|
||||||
|
-1 -1 4;
|
||||||
|
#X obj 388 -106 route 0 1 2 3 4 5 6;
|
||||||
|
#X obj 499 68 t f;
|
||||||
|
#X msg 552 495 7680;
|
||||||
|
#X obj 670 316 sel 1;
|
||||||
|
#X obj 625 130 t b b;
|
||||||
|
#X msg 657 171 0;
|
||||||
|
#X msg 612 170 -7680;
|
||||||
|
#X msg 433 175 0, f 4;
|
||||||
|
#X msg 460 143 1;
|
||||||
|
#X msg 399 106 -1;
|
||||||
|
#X obj 659 358 > 7810;
|
||||||
|
#X obj 592 34 expr;
|
||||||
|
#X floatatom 759 468 5 0 0 0 - - -, f 5;
|
||||||
|
#X floatatom 844 470 5 0 0 0 - - -, f 5;
|
||||||
|
#X floatatom 929 468 5 0 0 0 - - -, f 5;
|
||||||
|
#X floatatom 759 389 5 0 0 0 - - -, f 5;
|
||||||
|
#X obj 759 416 expr $f1 \; if ($f1 > 0 \, $f1 * 2 \, 0) \; if ($f1
|
||||||
|
<= 0 \, $f1 / 2 \, 0);
|
||||||
|
#X text 753 372 an example of multiple expressions and the use of 'if'
|
||||||
|
;
|
||||||
|
#X msg 636 702 16384 288;
|
||||||
|
#X msg 388 51 512;
|
||||||
|
#X msg 803 535 7680;
|
||||||
|
#X msg 803 554 8192;
|
||||||
|
#X floatatom 737 529 5 0 0 0 - - -, f 5;
|
||||||
|
#X floatatom 692 510 5 0 0 0 - - -, f 5;
|
||||||
|
#X obj 713 557 *;
|
||||||
|
#X floatatom 697 604 5 0 0 0 - - -, f 5;
|
||||||
|
#X obj 806 610;
|
||||||
|
#X msg 803 298 -120000;
|
||||||
|
#X obj 256 542 0.1.1 0.2.png;
|
||||||
|
#X obj 294 275 * 1000;
|
||||||
|
#X msg 154 221 7800;
|
||||||
|
#X msg 182 248 -515710;
|
||||||
|
#X floatatom 167 284 5 0 0 0 - - -, f 5;
|
||||||
|
#X obj 624 458 < -41472;
|
||||||
|
#X obj 340 319 * 100;
|
||||||
|
#X floatatom 344 299 5 0 0 0 - - -, f 5;
|
||||||
|
#X msg 540 23 2048;
|
||||||
|
#X obj 634 391 < -125710;
|
||||||
|
#X obj 256 642 0.1.1 5.2.png;
|
||||||
|
#X obj 256 562 0.1.1 1.2.png;
|
||||||
|
#X obj 256 582 0.1.1 2.2.png;
|
||||||
|
#X obj 256 602 0.1.1 3.2.png;
|
||||||
|
#X obj 256 622 0.1.1 4.2.png;
|
||||||
|
#X obj 256 662 0.1.1 6.2.png;
|
||||||
|
#X obj 256 682 0.1.1 7.2.png;
|
||||||
|
#X obj 256 702 0.1.1 8.2.png;
|
||||||
|
#X obj 256 722 0.1.1 9.2.png;
|
||||||
|
#X obj 256 742 0.1.1 10.2.png;
|
||||||
|
#X obj 256 762 0.1.1 11.2.png;
|
||||||
|
#X obj 256 782 0.1.1 12.2.png;
|
||||||
|
#X obj 256 802 0.1.1 13.2.png;
|
||||||
|
#X obj 256 822 0.1.1 14.2.png;
|
||||||
|
#X obj -474 814 0.1.1 15.2.png;
|
||||||
|
#X obj -474 834 0.1.1 16.2.png;
|
||||||
|
#X obj -474 854 0.1.1 17.2.png;
|
||||||
|
#X obj -474 874 0.1.1 18.2.png;
|
||||||
|
#X obj -474 894 0.1.1 19.2.png;
|
||||||
|
#X obj -474 914 0.1.1 20.2.png;
|
||||||
|
#X obj -474 934 0.1.1 21.2.png;
|
||||||
|
#X obj -474 954 0.1.1 22.2.png;
|
||||||
|
#X obj -474 974 0.1.1 23.2.png;
|
||||||
|
#X obj -474 994 0.1.1 24.2.png;
|
||||||
|
#X obj -474 1014 0.1.1 25.2.png;
|
||||||
|
#X obj -474 1034 0.1.1 26.2.png;
|
||||||
|
#X obj -474 1054 0.1.1 27.2.png;
|
||||||
|
#X obj -474 1074 0.1.1 28.2.png;
|
||||||
|
#X obj -474 1094 0.1.1 29.2.png;
|
||||||
|
#X obj -474 1114 0.1.1 30.2.png;
|
||||||
|
#X obj -474 1134 0.1.1 31.2.png;
|
||||||
|
#X obj 66 542 0.1.1 0.2.png;
|
||||||
|
#X obj 66 642 0.1.1 5.2.png;
|
||||||
|
#X obj 66 562 0.1.1 1.2.png;
|
||||||
|
#X obj 66 582 0.1.1 2.2.png;
|
||||||
|
#X obj 66 602 0.1.1 3.2.png;
|
||||||
|
#X obj 66 622 0.1.1 4.2.png;
|
||||||
|
#X obj 66 662 0.1.1 6.2.png;
|
||||||
|
#X obj 66 682 0.1.1 7.2.png;
|
||||||
|
#X obj 66 702 0.1.1 8.2.png;
|
||||||
|
#X obj 66 722 0.1.1 9.2.png;
|
||||||
|
#X obj 66 742 0.1.1 10.2.png;
|
||||||
|
#X obj 66 762 0.1.1 11.2.png;
|
||||||
|
#X obj 66 782 0.1.1 12.2.png;
|
||||||
|
#X obj 66 802 0.1.1 13.2.png;
|
||||||
|
#X obj 66 822 0.1.1 14.2.png;
|
||||||
|
#X floatatom 120 493 5 0 0 0 - - -, f 5;
|
||||||
|
#X floatatom 310 489 5 0 0 0 - - -, f 5;
|
||||||
|
#X obj 66 448 separator;
|
||||||
|
#X obj 256 448 separator;
|
||||||
|
#X obj 66 509 translateXYZ 0 -146 0;
|
||||||
|
#X obj 256 505 translateXYZ 0 144 0;
|
||||||
|
#X obj -134 542 0.1.1 0.2.png;
|
||||||
|
#X obj -134 642 0.1.1 5.2.png;
|
||||||
|
#X obj -134 562 0.1.1 1.2.png;
|
||||||
|
#X obj -134 582 0.1.1 2.2.png;
|
||||||
|
#X obj -134 602 0.1.1 3.2.png;
|
||||||
|
#X obj -134 622 0.1.1 4.2.png;
|
||||||
|
#X obj -134 662 0.1.1 6.2.png;
|
||||||
|
#X obj -134 682 0.1.1 7.2.png;
|
||||||
|
#X obj -134 702 0.1.1 8.2.png;
|
||||||
|
#X obj -134 722 0.1.1 9.2.png;
|
||||||
|
#X obj -134 742 0.1.1 10.2.png;
|
||||||
|
#X obj -134 762 0.1.1 11.2.png;
|
||||||
|
#X obj -134 782 0.1.1 12.2.png;
|
||||||
|
#X obj -134 802 0.1.1 13.2.png;
|
||||||
|
#X obj -134 822 0.1.1 14.2.png;
|
||||||
|
#X floatatom -80 493 5 0 0 0 - - -, f 5;
|
||||||
|
#X obj -134 448 separator;
|
||||||
|
#X floatatom 14 404 5 0 0 0 - - -, f 5;
|
||||||
|
#X obj -134 509 translateXYZ 0 -436 0;
|
||||||
|
#X obj -324 542 0.1.1 0.2.png;
|
||||||
|
#X obj -324 642 0.1.1 5.2.png;
|
||||||
|
#X obj -324 562 0.1.1 1.2.png;
|
||||||
|
#X obj -324 582 0.1.1 2.2.png;
|
||||||
|
#X obj -324 602 0.1.1 3.2.png;
|
||||||
|
#X obj -324 622 0.1.1 4.2.png;
|
||||||
|
#X obj -324 662 0.1.1 6.2.png;
|
||||||
|
#X obj -324 682 0.1.1 7.2.png;
|
||||||
|
#X obj -324 702 0.1.1 8.2.png;
|
||||||
|
#X obj -324 722 0.1.1 9.2.png;
|
||||||
|
#X obj -324 742 0.1.1 10.2.png;
|
||||||
|
#X obj -324 762 0.1.1 11.2.png;
|
||||||
|
#X obj -324 782 0.1.1 12.2.png;
|
||||||
|
#X obj -324 802 0.1.1 13.2.png;
|
||||||
|
#X obj -324 822 0.1.1 14.2.png;
|
||||||
|
#X floatatom -240 479 5 0 0 0 - - -, f 5;
|
||||||
|
#X obj -324 448 separator;
|
||||||
|
#X obj -324 509 translateXYZ 0 436 0;
|
||||||
|
#X floatatom 303 364 5 0 0 0 - - -, f 5;
|
||||||
|
#X msg 395 333 -143;
|
||||||
|
#X msg 303 341 -435;
|
||||||
|
#X msg 262 -175 frame 30 \, offset 0 40 \, border 0 \, perspec -1 1
|
||||||
|
-1 1 1 200000 \, dimen 1400 384 \, create \, 1;
|
||||||
|
#X connect 0 0 17 0;
|
||||||
|
#X connect 0 0 5 0;
|
||||||
|
#X connect 2 0 1 0;
|
||||||
|
#X connect 5 0 135 0;
|
||||||
|
#X connect 5 0 136 0;
|
||||||
|
#X connect 5 0 155 0;
|
||||||
|
#X connect 5 0 174 0;
|
||||||
|
#X connect 6 0 5 3;
|
||||||
|
#X connect 7 0 9 1;
|
||||||
|
#X connect 8 0 9 0;
|
||||||
|
#X connect 9 0 10 0;
|
||||||
|
#X connect 11 0 7 0;
|
||||||
|
#X connect 12 0 11 1;
|
||||||
|
#X connect 13 0 11 0;
|
||||||
|
#X connect 14 0 25 0;
|
||||||
|
#X connect 15 0 19 1;
|
||||||
|
#X connect 17 2 25 0;
|
||||||
|
#X connect 18 0 27 0;
|
||||||
|
#X connect 19 0 15 0;
|
||||||
|
#X connect 19 0 20 0;
|
||||||
|
#X connect 20 0 32 0;
|
||||||
|
#X connect 20 0 59 0;
|
||||||
|
#X connect 20 0 86 0;
|
||||||
|
#X connect 21 0 78 0;
|
||||||
|
#X connect 25 0 19 0;
|
||||||
|
#X connect 26 0 25 1;
|
||||||
|
#X connect 27 0 31 0;
|
||||||
|
#X connect 27 1 28 0;
|
||||||
|
#X connect 28 0 15 0;
|
||||||
|
#X connect 29 0 27 0;
|
||||||
|
#X connect 31 0 19 0;
|
||||||
|
#X connect 32 0 5 1;
|
||||||
|
#X connect 33 0 34 0;
|
||||||
|
#X connect 34 1 29 0;
|
||||||
|
#X connect 36 0 35 0;
|
||||||
|
#X connect 37 0 0 0;
|
||||||
|
#X connect 38 0 40 0;
|
||||||
|
#X connect 39 0 40 0;
|
||||||
|
#X connect 40 1 41 0;
|
||||||
|
#X connect 40 2 41 1;
|
||||||
|
#X connect 42 0 50 0;
|
||||||
|
#X connect 43 0 50 0;
|
||||||
|
#X connect 44 0 50 0;
|
||||||
|
#X connect 45 0 50 0;
|
||||||
|
#X connect 46 0 50 0;
|
||||||
|
#X connect 47 0 50 0;
|
||||||
|
#X connect 48 0 49 0;
|
||||||
|
#X connect 49 0 68 0;
|
||||||
|
#X connect 49 1 42 0;
|
||||||
|
#X connect 49 2 43 0;
|
||||||
|
#X connect 49 3 44 0;
|
||||||
|
#X connect 49 4 45 0;
|
||||||
|
#X connect 49 5 46 0;
|
||||||
|
#X connect 49 6 47 0;
|
||||||
|
#X connect 50 0 26 0;
|
||||||
|
#X connect 52 0 53 0;
|
||||||
|
#X connect 53 0 55 0;
|
||||||
|
#X connect 53 1 54 0;
|
||||||
|
#X connect 54 0 15 0;
|
||||||
|
#X connect 56 0 26 0;
|
||||||
|
#X connect 57 0 26 0;
|
||||||
|
#X connect 58 0 26 0;
|
||||||
|
#X connect 59 0 52 0;
|
||||||
|
#X connect 64 0 65 0;
|
||||||
|
#X connect 65 0 61 0;
|
||||||
|
#X connect 65 1 62 0;
|
||||||
|
#X connect 65 2 63 0;
|
||||||
|
#X connect 68 0 50 0;
|
||||||
|
#X connect 71 0 73 1;
|
||||||
|
#X connect 72 0 73 0;
|
||||||
|
#X connect 73 0 74 0;
|
||||||
|
#X connect 76 0 86 1;
|
||||||
|
#X connect 77 0 88 0;
|
||||||
|
#X connect 78 0 5 1;
|
||||||
|
#X connect 79 0 81 0;
|
||||||
|
#X connect 80 0 81 0;
|
||||||
|
#X connect 81 0 5 1;
|
||||||
|
#X connect 83 0 6 0;
|
||||||
|
#X connect 84 0 83 0;
|
||||||
|
#X connect 85 0 50 0;
|
||||||
|
#X connect 86 0 18 0;
|
||||||
|
#X connect 87 0 92 0;
|
||||||
|
#X connect 88 0 89 0;
|
||||||
|
#X connect 89 0 90 0;
|
||||||
|
#X connect 90 0 91 0;
|
||||||
|
#X connect 91 0 87 0;
|
||||||
|
#X connect 92 0 93 0;
|
||||||
|
#X connect 93 0 94 0;
|
||||||
|
#X connect 94 0 95 0;
|
||||||
|
#X connect 95 0 96 0;
|
||||||
|
#X connect 96 0 97 0;
|
||||||
|
#X connect 97 0 98 0;
|
||||||
|
#X connect 98 0 99 0;
|
||||||
|
#X connect 99 0 100 0;
|
||||||
|
#X connect 101 0 102 0;
|
||||||
|
#X connect 102 0 103 0;
|
||||||
|
#X connect 103 0 104 0;
|
||||||
|
#X connect 104 0 105 0;
|
||||||
|
#X connect 105 0 106 0;
|
||||||
|
#X connect 106 0 107 0;
|
||||||
|
#X connect 107 0 108 0;
|
||||||
|
#X connect 108 0 109 0;
|
||||||
|
#X connect 109 0 110 0;
|
||||||
|
#X connect 110 0 111 0;
|
||||||
|
#X connect 111 0 112 0;
|
||||||
|
#X connect 112 0 113 0;
|
||||||
|
#X connect 113 0 114 0;
|
||||||
|
#X connect 114 0 115 0;
|
||||||
|
#X connect 115 0 116 0;
|
||||||
|
#X connect 116 0 117 0;
|
||||||
|
#X connect 118 0 120 0;
|
||||||
|
#X connect 119 0 124 0;
|
||||||
|
#X connect 120 0 121 0;
|
||||||
|
#X connect 121 0 122 0;
|
||||||
|
#X connect 122 0 123 0;
|
||||||
|
#X connect 123 0 119 0;
|
||||||
|
#X connect 124 0 125 0;
|
||||||
|
#X connect 125 0 126 0;
|
||||||
|
#X connect 126 0 127 0;
|
||||||
|
#X connect 127 0 128 0;
|
||||||
|
#X connect 128 0 129 0;
|
||||||
|
#X connect 129 0 130 0;
|
||||||
|
#X connect 130 0 131 0;
|
||||||
|
#X connect 131 0 132 0;
|
||||||
|
#X connect 133 0 137 2;
|
||||||
|
#X connect 134 0 138 2;
|
||||||
|
#X connect 135 0 137 0;
|
||||||
|
#X connect 136 0 138 0;
|
||||||
|
#X connect 137 0 118 0;
|
||||||
|
#X connect 138 0 77 0;
|
||||||
|
#X connect 139 0 141 0;
|
||||||
|
#X connect 140 0 145 0;
|
||||||
|
#X connect 141 0 142 0;
|
||||||
|
#X connect 142 0 143 0;
|
||||||
|
#X connect 143 0 144 0;
|
||||||
|
#X connect 144 0 140 0;
|
||||||
|
#X connect 145 0 146 0;
|
||||||
|
#X connect 146 0 147 0;
|
||||||
|
#X connect 147 0 148 0;
|
||||||
|
#X connect 148 0 149 0;
|
||||||
|
#X connect 149 0 150 0;
|
||||||
|
#X connect 150 0 151 0;
|
||||||
|
#X connect 151 0 152 0;
|
||||||
|
#X connect 152 0 153 0;
|
||||||
|
#X connect 154 0 157 2;
|
||||||
|
#X connect 155 0 157 0;
|
||||||
|
#X connect 156 0 157 2;
|
||||||
|
#X connect 157 0 139 0;
|
||||||
|
#X connect 158 0 160 0;
|
||||||
|
#X connect 159 0 164 0;
|
||||||
|
#X connect 160 0 161 0;
|
||||||
|
#X connect 161 0 162 0;
|
||||||
|
#X connect 162 0 163 0;
|
||||||
|
#X connect 163 0 159 0;
|
||||||
|
#X connect 164 0 165 0;
|
||||||
|
#X connect 165 0 166 0;
|
||||||
|
#X connect 166 0 167 0;
|
||||||
|
#X connect 167 0 168 0;
|
||||||
|
#X connect 168 0 169 0;
|
||||||
|
#X connect 169 0 170 0;
|
||||||
|
#X connect 170 0 171 0;
|
||||||
|
#X connect 171 0 172 0;
|
||||||
|
#X connect 173 0 175 2;
|
||||||
|
#X connect 174 0 175 0;
|
||||||
|
#X connect 175 0 158 0;
|
||||||
|
#X connect 176 0 5 2;
|
||||||
|
#X connect 177 0 6 0;
|
||||||
|
#X connect 178 0 176 0;
|
||||||
|
#X connect 179 0 1 0;
|
Loading…
Reference in New Issue
Block a user