TensaoSuperficial AlexandreV - fabrica-escola/artes-2o-ano-carmem-silva GitHub Wiki
"""
Uma primeira aproximação para mostar as ligações de hidrogênio que causam a tensão superficial
"""
moleculas = []
def setup():
size(800, 800)
for _ in range(2000):
x = random(width)
y = random(height)
moleculas.append([x, y])
def draw():
background(0)
stroke(255, 100)
for molecula in moleculas:
for outra in reversed(moleculas):
xa, ya = molecula
xb, yb = outra
if dist(xa, ya, xb, yb) < 30:
line(xa, ya, xb, yb)
for x, y in moleculas:
noStroke()
H2O(x, y)
def keyPressed():
saveFrame("agua.png")
def H2O(x, y, tamanho=6):
deslocamento = tamanho * 0.66
pushMatrix()
translate(x, y)
rotate(x + y)
fill(0, 0, 200)
circle(0, 0, tamanho)
fill(255)
circle(tamanho / 2.0, -deslocamento, deslocamento)
circle( tamanho / 2.0, +deslocamento, deslocamento)
popMatrix()