kopia lustrzana https://github.com/villares/sketch-a-day
2020_05_08a
rodzic
cbd2d3ca20
commit
8d0440ea08
|
|
@ -0,0 +1,44 @@
|
|||
"""
|
||||
Alexandre B A Villares http://abav.lugaralgum.com - GPL v3
|
||||
|
||||
A helper for the Processing gifAnimation library https://github.com/extrapixel/gif-animation/tree/3.0
|
||||
Download from https://github.com/villares/processing-play/blob/master/export_GIF/unzip_and_move_to_libraries_GifAnimation.zip
|
||||
This helper was inspired by an example by Art Simon https://github.com/APCSPrinciples/AnimatedGIF/
|
||||
|
||||
v2019_09_23
|
||||
|
||||
# add at the start of your sketch:
|
||||
add_library('gifAnimation')
|
||||
from gif_animation_helper import gif_export
|
||||
# add at the end of draw():
|
||||
gif_export(GifMaker, "filename")
|
||||
"""
|
||||
|
||||
def gif_export(GifMaker, # gets a reference to the library
|
||||
filename="exported", # .gif will be added
|
||||
repeat=0, # 0 makes it an "endless" animation
|
||||
quality=32, # quality range 0 - 255
|
||||
delay=200, # this is quick
|
||||
frames=0, # 0 will stop on keyPressed or frameCount >= 100000
|
||||
finish=False): # force stop
|
||||
global gifExporter
|
||||
try:
|
||||
gifExporter
|
||||
except NameError:
|
||||
gifExporter = GifMaker(this, filename + ".gif")
|
||||
gifExporter.setRepeat(repeat)
|
||||
gifExporter.setQuality(quality)
|
||||
gifExporter.setDelay(delay)
|
||||
print("gif recording started")
|
||||
|
||||
|
||||
gifExporter.addFrame()
|
||||
|
||||
if (frames == 0 and keyPressed and key == "e" or
|
||||
frames != 0 and frameCount >= frames):
|
||||
finish = True
|
||||
|
||||
if finish:
|
||||
gifExporter.finish()
|
||||
print("gif saved, exit")
|
||||
exit()
|
||||
Plik binarny nie jest wyświetlany.
|
Po Szerokość: | Wysokość: | Rozmiar: 3.9 MiB |
|
|
@ -0,0 +1,79 @@
|
|||
"""
|
||||
Yet another noise fielf
|
||||
"""
|
||||
|
||||
add_library('GifAnimation')
|
||||
from gif_animation_helper import gif_export
|
||||
sketch_name = 'sketch_2020_05_7a'
|
||||
|
||||
escala = 0.002
|
||||
xo = yo = zo = 0
|
||||
s_len = 30
|
||||
def setup():
|
||||
size(500, 500)
|
||||
strokeWeight(2)
|
||||
|
||||
def draw():
|
||||
background(240)
|
||||
for x in range(-10, width + 10, 10):
|
||||
for y in range(-10, height + 10, 10):
|
||||
n = noise(x * escala,
|
||||
y * escala,
|
||||
zo * escala)
|
||||
pushMatrix()
|
||||
translate(x, y)
|
||||
rotate(TWO_PI * n)
|
||||
s = s_len * n
|
||||
stroke(0, 200, 0)
|
||||
line(-s, 0, s, 0)
|
||||
popMatrix()
|
||||
n = noise(x * escala,
|
||||
y * escala,
|
||||
(zo + yo)* escala)
|
||||
pushMatrix()
|
||||
translate(x, y)
|
||||
rotate(TWO_PI * n)
|
||||
s = s_len * n
|
||||
stroke(0, 0, 200)
|
||||
line(-s, 0, s, 0)
|
||||
popMatrix()
|
||||
n = noise(x * escala,
|
||||
y * escala,
|
||||
(zo + xo)* escala)
|
||||
pushMatrix()
|
||||
translate(x, y)
|
||||
rotate(TWO_PI * n)
|
||||
s = s_len * n
|
||||
stroke(0)
|
||||
line(-s, 0, s, 0)
|
||||
popMatrix()
|
||||
|
||||
|
||||
def keyPressed():
|
||||
gif_export(GifMaker, "animation", quality=10, delay=120)
|
||||
|
||||
global xo, yo, zo, s_len, escala
|
||||
if key == 'd':
|
||||
escala += 0.001
|
||||
if key == 'c':
|
||||
escala -= 0.001
|
||||
if key == 's':
|
||||
s_len +=1
|
||||
if key == 'x':
|
||||
s_len -=1
|
||||
if key == 'a':
|
||||
zo +=10
|
||||
if key == 'z':
|
||||
zo -=10
|
||||
if keyCode == UP:
|
||||
yo -=10
|
||||
if keyCode == DOWN:
|
||||
yo +=10
|
||||
if keyCode == RIGHT:
|
||||
xo +=10
|
||||
if keyCode == LEFT:
|
||||
xo -=10
|
||||
|
||||
if key == 'q':
|
||||
gif_export(GifMaker, "animation", finish=True)
|
||||
|
||||
|
|
@ -16,6 +16,13 @@ You may also support my artistic work, open educational resources and research u
|
|||
|
||||
## 2020
|
||||
|
||||
---
|
||||
|
||||

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

|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue