main
Alexandre B A Villares 2021-01-08 21:03:01 -03:00
rodzic 2fb5ddd405
commit 280387b3e7
4 zmienionych plików z 109 dodań i 0 usunięć

Wyświetl plik

@ -0,0 +1,49 @@
from itertools import product
from random import sample, choice
from villares import arcs
MARGIN = 50
SIZE = 100
def setup():
size(500, 500)
prepare()
def prepare():
global triangulos
n = 12
grid = list(product(range(MARGIN, width - MARGIN + 1, SIZE), repeat=2))
pontos = sample(grid, n)
triangulos = [(pa, pontos[i - 1], pontos[i - 2])
for i, pa in enumerate(pontos)]
def subdivide():
global triangulos
novos_triangulos = []
for i, (pa, pb, pc) in enumerate(triangulos):
mid_ab = midpoint(pa, pb)
mid_bc = midpoint(pc, pb)
mid_ac = midpoint(pa, pc)
novos_triangulos.append((pa, mid_ab, mid_ac))
novos_triangulos.append((pb, mid_bc, mid_ab))
novos_triangulos.append((pc, mid_bc, mid_ac))
triangulos = novos_triangulos
def midpoint(a, b):
return ((a[0] + b[0]) / 2,
(a[1] + b[1]) / 2)
def draw():
clear()
for t in triangulos:
# fill(255, 100)
noFill()
stroke(255, 100)
arcs.arc_augmented_poly(t, [10] * 3)
def keyPressed():
if key == "r":
prepare()
elif key == "d":
subdivide()

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 943 KiB

Wyświetl plik

@ -0,0 +1,54 @@
from itertools import product
from random import sample, choice
MARGIN = 50
SIZE = 100
def setup():
size(500, 500)
prepare()
def prepare():
global triangulos
n = 12
grid = list(product(range(MARGIN, width - MARGIN + 1, SIZE), repeat=2))
pontos = sample(grid, n)
triangulos = [(pa, pontos[i - 1], pontos[i - 2])
for i, pa in enumerate(pontos)]
def subdivide():
global triangulos
novos_triangulos = []
for i, (pa, pb, pc) in enumerate(triangulos):
mid_ab = midpoint(pa, pb)
mid_bc = midpoint(pc, pb)
mid_ac = midpoint(pa, pc)
novos_triangulos.append((pa, mid_ab, mid_ac))
novos_triangulos.append((pb, mid_bc, mid_ab))
novos_triangulos.append((pc, mid_bc, mid_ac))
triangulos = novos_triangulos
def midpoint(a, b):
return ((a[0] + b[0]) / 2,
(a[1] + b[1]) / 2)
def draw():
clear()
for pa, pb, pc in triangulos:
# fill(255, 100)
noFill()
stroke(255, 100)
beginShape()
curveVertex(pa[0], pa[1])
curveVertex(pb[0], pb[1])
curveVertex(pc[0], pc[1])
curveVertex(pa[0], pa[1])
curveVertex(pb[0], pb[1])
curveVertex(pc[0], pc[1])
endShape(CLOSE)
def keyPressed():
if key == "r":
prepare()
elif key == "d":
subdivide()

Wyświetl plik

@ -26,6 +26,12 @@ Here are listed some of the tools I have been using:
---
![sketch_2021_01_08b](2021/sketch_2021_01_08b/sketch_2021_01_08b.gif)
[sketch_2021_01_08b](https://github.com/villares/sketch-a-day/tree/master/2021/sketch_2021_01_08b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![sketch_2021_01_07a](2021/sketch_2021_01_07a/sketch_2021_01_07a.gif)
[sketch_2021_01_07a](https://github.com/villares/sketch-a-day/tree/master/2021/sketch_2021_01_07a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]