diff --git a/2020/sketch_2020_09_21a/ponto.py b/2020/sketch_2020_09_21a/ponto.py new file mode 100644 index 00000000..e9458dab --- /dev/null +++ b/2020/sketch_2020_09_21a/ponto.py @@ -0,0 +1,17 @@ + + +class Ponto(): + + SIZE = 5 + + def __init__(self, x, y): + self.x = x + self.y = y + self.f = 255 + + def __getitem__(self, i): + return (self.x, self.y)[i] + + def draw(self): + fill(self.f) + circle(self.x, self.y, Ponto.SIZE) diff --git a/2020/sketch_2020_09_21a/sketch_2020_09_21a.gif b/2020/sketch_2020_09_21a/sketch_2020_09_21a.gif new file mode 100644 index 00000000..1bdb289d Binary files /dev/null and b/2020/sketch_2020_09_21a/sketch_2020_09_21a.gif differ diff --git a/2020/sketch_2020_09_21a/sketch_2020_09_21a.pyde b/2020/sketch_2020_09_21a/sketch_2020_09_21a.pyde new file mode 100644 index 00000000..34a4a05f --- /dev/null +++ b/2020/sketch_2020_09_21a/sketch_2020_09_21a.pyde @@ -0,0 +1,45 @@ +from ponto import Ponto + +pontos = [] +dragg = [] + +def setup(): + size(400, 400) + for _ in range(20): + pontos.append(Ponto(random(width), + random(height))) + +def draw(): + background(200) + + if len(dragg) == 2: + line(dragg[0][0], dragg[0][1], mouseX, mouseY) + + for p in pontos: + if len(dragg) == 2: + if area(p, dragg[0], dragg[1]) > 0: + p.f = color(255, 0, 0) + else: + p.f = color(0, 0, 255) + else: + p.f = 255 + p.draw() + + +def mousePressed(): + dragg[:] = [(mouseX, mouseY)] + +def mouseDragged(): + if len(dragg) == 1: + dragg.append((mouseX, mouseY)) + else: + dragg[1] = (mouseX, mouseY) + +def area(p0, p1, p2): + a = (p1[0] * (p2[1] - p0[1]) + + p2[0] * (p0[1] - p1[1]) + + p0[0] * (p1[1] - p2[1])) + return a + +def mouseReleased(): + dragg[:] = [] diff --git a/README.md b/README.md index 294330bf..e58e9ff1 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,12 @@ Some of the tools I have used: --- +![sketch_2020_09_21a](2020/sketch_2020_09_21a/sketch_2020_09_21a.gif) + +[sketch_2020_09_21a](https://github.com/villares/sketch-a-day/tree/master/2020/sketch_2020_09_21a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] + +--- + ![sketch_2020_09_20polycubes_p5py](2020/sketch_2020_09_20polycubes_p5py/sketch_2020_09_20polycubes_p5py.gif) [sketch_2020_09_20polycubes_p5py](https://github.com/villares/sketch-a-day/tree/master/2020/sketch_2020_09_20polycubes_p5py) [[p5py](https://github.com/p5py/p5)]]