WildyLoopyThing
-
A simple little Perlin Noise animation thing
# Requires caseman perlin noise: clone and install > https://github.com/caseman/noise import noise import random import math points = [] size = 500 nthing = 60 baseSizeRatio = .2 ncircle = 5 for e in range(ncircle): n = (e+1)/ncircle for i in range(nthing): phase = i / nthing x = size*.5 - n*baseSizeRatio*size * math.sin(2*math.pi*phase) y = size*.9 - .5*(1-n)*size - (1-n)*baseSizeRatio*size - .1*n*baseSizeRatio*size * math.cos(2*math.pi*phase) c = (0, 1, .5, .8*(y/size) ) l = 10+ 10*random.random() t = 1 points.append((x, y, c, l, t)) length = 10 frames = 100 for f in range(frames): newPage(size, size) frameDuration(1/15) fill(0) rect(0, 0, size, size) fill(None) for p in points: strokeWidth(p[4]) stroke(p[2][0], p[2][1], p[2][2], p[2][3]) path = BezierPath() prev_x = p[0] prev_y = p[1] + (p[1]/size)*50*math.sin(noise.pnoise2(.1*p[0]*.1*p[1], .1*abs(frames*.5-f))) path.moveTo((prev_x, prev_y)) for l in range(length): dx = int(p[3]*math.sin(noise.pnoise2(.1*p[0], (abs(frames*.5-f)+l)*.1 ))) dy = -int(p[3]*math.cos(noise.pnoise2(.1*p[1], (abs(frames*.5-f)+l)*.1 ))) path.lineTo((prev_x, prev_y)) prev_x += dx prev_y += dy drawPath(path) saveImage("~/Desktop/wildyloopything.gif")
-
nice and hairy!!
-
This is really cool! I'd love to try it, but I couldn't figure out how to hook the noise module to drawbot. I got it to install in terminal, but drawbot still doesn't recognize it. Can you help a Python newbie out, please!?
-
Currently there are two version of DrawBot available a version with python2.7 and one with python3.6.
DrawBot can only access the external packages with the same python version. So if you have installed the package for py2.7, you should use DrawBotPy2.
The latest DrawBot uses internally python 3.6. If you want drawBot to access external packages, you need to install those packages locally with the same python, otherwise DrawBot will not find them.
I assume you haven't installed python 3.6 yet:
- get python3.6 here
- in terminal you should be able to install the external package with
python3 setup.py install
as instructed on https://github.com/caseman/noise
good luck
-
@frederik Got it! Installing it on Python3 did the trick. Thanks for the tip.
-
well done! achievement unlock!
-
This post is deleted!