From 6710885106bda9cad26e39f222e34353463c8736 Mon Sep 17 00:00:00 2001 From: villares Date: Wed, 1 May 2019 23:16:01 -0300 Subject: [PATCH] 01 --- 2019/sketch_190430b/arcs.py | 236 ------------------------ 2019/sketch_190501a/sketch_190501a.png | Bin 0 -> 90296 bytes 2019/sketch_190501a/sketch_190501a.pyde | 86 +++++++++ README.md | 6 + 4 files changed, 92 insertions(+), 236 deletions(-) delete mode 100644 2019/sketch_190430b/arcs.py create mode 100644 2019/sketch_190501a/sketch_190501a.png create mode 100644 2019/sketch_190501a/sketch_190501a.pyde diff --git a/2019/sketch_190430b/arcs.py b/2019/sketch_190430b/arcs.py deleted file mode 100644 index b3fa0ac0..00000000 --- a/2019/sketch_190430b/arcs.py +++ /dev/null @@ -1,236 +0,0 @@ -# -*- coding: utf-8 -*- - -ROTATION = {0: 0, - BOTTOM: 0, - DOWN: 0, - 1: HALF_PI, - LEFT: HALF_PI, - 2: PI, - TOP: PI, - UP: PI, - 3: PI + HALF_PI, - RIGHT: PI + HALF_PI, - BOTTOM + RIGHT: 0, - DOWN + RIGHT: 0, - DOWN + LEFT: HALF_PI, - BOTTOM + LEFT: HALF_PI, - TOP + LEFT: PI, - UP + LEFT: PI, - TOP + RIGHT: PI + HALF_PI, - UP + RIGHT: PI + HALF_PI, - } - -def quarter_circle(x, y, radius, quadrant): - circle_arc(x, y, radius, ROTATION[quadrant], HALF_PI) - -def half_circle(x, y, radius, quadrant): - circle_arc(x, y, radius, ROTATION[quadrant], PI) - -def circle_arc(x, y, radius, start_ang, sweep_ang): - arc(x, y, radius * 2, radius * 2, start_ang, start_ang + sweep_ang) - -def poly_arc(x, y, radius, start_ang, sweep_ang, num_points=2): - angle = sweep_ang / int(num_points) - a = start_ang - with beginShape(): - while a <= start_ang + sweep_ang: - sx = x + cos(a) * radius - sy = y + sin(a) * radius - vertex(sx, sy) - a += angle - -def arc_poly(x, y, d, _, start_ang, end_ang, num_points=5): - sweep_ang = end_ang - start_ang - angle = sweep_ang / int(num_points) - a = start_ang - with beginShape(): - while a <= end_ang: - sx = x + cos(a) * d / 2 - sy = y + sin(a) * d / 2 - vertex(sx, sy) - a += angle - -def bar(x1, y1, x2, y2, thickness=None, shorter=0, ends=(1, 1)): - """ - O código para fazer as barras, dois pares (x, y), - um parâmetro de encurtamento: shorter - """ - L = dist(x1, y1, x2, y2) - if not thickness: - thickness = 10 - with pushMatrix(): - translate(x1, y1) - angle = atan2(x1 - x2, y2 - y1) - rotate(angle) - offset = shorter / 2 - line(thickness / 2, offset, thickness / 2, L - offset) - line(-thickness / 2, offset, -thickness / 2, L - offset) - if ends[0]: - half_circle(0, offset, thickness / 2, UP) - if ends[1]: - half_circle(0, L - offset, thickness / 2, DOWN) - -def var_bar(p1x, p1y, p2x, p2y, r1, r2=None): - """ - Tangent/tangent shape on 2 circles of arbitrary radius - """ - if r2 is None: - r2 = r1 - #line(p1x, p1y, p2x, p2y) - d = dist(p1x, p1y, p2x, p2y) - ri = r1 - r2 - if d > abs(ri): - rid = (r1 - r2) / d - if rid > 1: - rid = 1 - if rid < -1: - rid = -1 - beta = asin(rid) + HALF_PI - with pushMatrix(): - translate(p1x, p1y) - angle = atan2(p1x - p2x, p2y - p1y) - rotate(angle + HALF_PI) - x1 = cos(beta) * r1 - y1 = sin(beta) * r1 - x2 = cos(beta) * r2 - y2 = sin(beta) * r2 - #print((d, beta, ri, x1, y1, x2, y2)) - with pushStyle(): - noStroke() - beginShape() - vertex(-x1, -y1) - vertex(d - x2, -y2) - vertex(d, 0) - vertex(d - x2, +y2) - vertex(-x1, +y1) - vertex(0, 0) - endShape(CLOSE) - line(-x1, -y1, d - x2, -y2) - line(-x1, +y1, d - x2, +y2) - arc(0, 0, r1 * 2, r1 * 2, - -beta - PI, beta - PI) - arc(d, 0, r2 * 2, r2 * 2, - beta - PI, PI - beta) - else: - ellipse(p1x, p1y, r1 * 2, r1 * 2) - ellipse(p2x, p2y, r2 * 2, r2 * 2) - -def poly_filleted(p_list, r_list=None, open_poly=False): - """ - draws a 'filleted' polygon with variable radius - dependent on roundedCorner() - """ - if not r_list: - r_list = [0] * len(p_list) - - - if not open_poly: - with pushStyle(): - noStroke() - beginShape() - for p0, p1 in zip(p_list, [p_list[-1]] + p_list[:-1]): - m = (PVector(p0.x, p0.y) + PVector(p1.x, p1.y)) / 2 - vertex(m.x, m.y) - endShape(CLOSE) - for p0, p1, p2, r in zip(p_list, - [p_list[-1]] + p_list[:-1], - [p_list[-2]] + [p_list[-1]] + p_list[:-2], - [r_list[-1]] + r_list[:-1] - ): - m1 = (PVector(p0.x, p0.y) + PVector(p1.x, p1.y)) / 2 - m2 = (PVector(p2.x, p2.y) + PVector(p1.x, p1.y)) / 2 - roundedCorner(p1, m1, m2, r) - else: - for p0, p1, p2, r in zip(p_list[:-1], - [p_list[-1]] + p_list[:-2], - [p_list[-2]] + [p_list[-1]] + p_list[:-3], - [r_list[-1]] + r_list[:-2] - ): - m1 = (PVector(p0.x, p0.y) + PVector(p1.x, p1.y)) / 2 - m2 = (PVector(p2.x, p2.y) + PVector(p1.x, p1.y)) / 2 - roundedCorner(p1, m1, m2, r) - - -def roundedCorner(pc, p1, p2, r): - """ - Based on Stackoverflow C# rounded corner post - https://stackoverflow.com/questions/24771828/algorithm-for-creating-rounded-corners-in-a-polygon - """ - def GetProportionPoint(pt, segment, L, dx, dy): - factor = float(segment) / L if L != 0 else segment - return PVector((pt.x - dx * factor), (pt.y - dy * factor)) - - # Vector 1 - dx1 = pc.x - p1.x - dy1 = pc.y - p1.y - - # Vector 2 - dx2 = pc.x - p2.x - dy2 = pc.y - p2.y - - # Angle between vector 1 and vector 2 divided by 2 - angle = (atan2(dy1, dx1) - atan2(dy2, dx2)) / 2 - - # The length of segment between angular point and the - # points of intersection with the circle of a given radius - tng = abs(tan(angle)) - segment = r / tng if tng != 0 else r - - # Check the segment - length1 = sqrt(dx1 * dx1 + dy1 * dy1) - length2 = sqrt(dx2 * dx2 + dy2 * dy2) - - min_len = min(length1, length2) - - if segment > min_len: - segment = min_len - max_r = min_len * abs(tan(angle)) - else: - max_r = r - - # Points of intersection are calculated by the proportion between - # length of vector and the length of the segment. - p1Cross = GetProportionPoint(pc, segment, length1, dx1, dy1) - p2Cross = GetProportionPoint(pc, segment, length2, dx2, dy2) - - # Calculation of the coordinates of the circle - # center by the addition of angular vectors. - dx = pc.x * 2 - p1Cross.x - p2Cross.x - dy = pc.y * 2 - p1Cross.y - p2Cross.y - - L = sqrt(dx * dx + dy * dy) - d = sqrt(segment * segment + max_r * max_r) - - circlePoint = GetProportionPoint(pc, d, L, dx, dy) - - # StartAngle and EndAngle of arc - startAngle = atan2(p1Cross.y - circlePoint.y, p1Cross.x - circlePoint.x) - endAngle = atan2(p2Cross.y - circlePoint.y, p2Cross.x - circlePoint.x) - - # Sweep angle - sweepAngle = endAngle - startAngle - - # Some additional checks - if sweepAngle < 0: - startAngle, endAngle = endAngle, startAngle - sweepAngle = -sweepAngle - - if sweepAngle > PI: - startAngle, endAngle = endAngle, startAngle - sweepAngle = TWO_PI - sweepAngle - - # Draw result using graphics - # noStroke() - with pushStyle(): - noStroke() - beginShape() - vertex(p1.x, p1.y) - vertex(p1Cross.x, p1Cross.y) - vertex(p2Cross.x, p2Cross.y) - vertex(p2.x, p2.y) - endShape(CLOSE) - - line(p1.x, p1.y, p1Cross.x, p1Cross.y) - line(p2.x, p2.y, p2Cross.x, p2Cross.y) - arc(circlePoint.x, circlePoint.y, 2 * max_r, 2 * max_r, - startAngle, startAngle + sweepAngle, OPEN) diff --git a/2019/sketch_190501a/sketch_190501a.png b/2019/sketch_190501a/sketch_190501a.png new file mode 100644 index 0000000000000000000000000000000000000000..ddbd6636463d0a014ccf14c04783ec24155ed4d5 GIT binary patch literal 90296 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 HVHEg3MFZKL literal 0 HcmV?d00001 diff --git a/2019/sketch_190501a/sketch_190501a.pyde b/2019/sketch_190501a/sketch_190501a.pyde new file mode 100644 index 00000000..de3d53a2 --- /dev/null +++ b/2019/sketch_190501a/sketch_190501a.pyde @@ -0,0 +1,86 @@ +# Alexandre B A Villares - https://abav.lugaralgum.com/sketch-a-day +# unfolded piramid + +def setup(): + size(600, 600) + +def draw(): + background(200) + translate(300, 300) + pontos = estrela(4, 200, 75) + fill(255) + beginShape() + for i, ponto in enumerate(pontos): + vertex(*ponto) + endShape(CLOSE) + noFill() + beginShape() + for i, ponto in enumerate(pontos): + if i % 2 == 0: + #text(str(i//2), ponto[0], ponto[1]) + vertex(*ponto) + endShape(CLOSE) + lista_b = pontos[1:] + [pontos[0]] + arestas = zip(pontos, lista_b) + abas = arestas[::2] + fill(255) + for a in abas: + p1, p2 = a + glue_tab(p2, p1, 10) + +def estrela(np, re, ri): + vertices_estrela = [] + n = np * 2 + for i in range(n): + ang = radians(i * 360. / n) + if i % 2 == 0: r = ri + else: r = re + x = sin(ang) * r + y = cos(ang) * r + vertices_estrela.append((x, y)) + return vertices_estrela + +def glue_tab(p1, p2, tab_w, cut_ang=QUARTER_PI): + """ + draws a trapezoidal or triangular glue tab along edge defined by p1 and p2, + with width tab_w and cut angle a + """ + al = atan2(p1[0] - p2[0], p1[1] - p2[1]) + a1 = al + cut_ang + PI + a2 = al - cut_ang + # calculate cut_len to get the right tab width + cut_len = tab_w / sin(cut_ang) + f1 = (p1[0] + cut_len * sin(a1), + p1[1] + cut_len * cos(a1)) + f2 = (p2[0] + cut_len * sin(a2), + p2[1] + cut_len * cos(a2)) + edge_len = dist(p1[0], p1[1], p2[0], p2[1]) + + if edge_len > 2 * cut_len * cos(cut_ang): # 'normal' trapezoidal tab + beginShape() + vertex(*p1) # vertex(p1[0], p1[1]) + vertex(*f1) + vertex(*f2) + vertex(*p2) + endShape() + else: # short triangular tab + fm = ((f1[0] + f2[0]) / 2, (f1[1] + f2[1]) / 2) + beginShape() + vertex(*p1) + vertex(*fm) # middle way of f1 and f2 + vertex(*p2) + endShape() + + +def settings(): + from os import path + global SKETCH_NAME + SKETCH_NAME = path.basename(sketchPath()) + OUTPUT = ".png" + println( + """ +![{0}](2019/{0}/{0}{1}) + +[{0}](https://github.com/villares/sketch-a-day/tree/master/2019/{0}) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] +""".format(SKETCH_NAME, OUTPUT) + ) diff --git a/README.md b/README.md index 8466e30e..bba3a7a3 100644 --- a/README.md +++ b/README.md @@ -22,8 +22,14 @@ Get updates from my sort-of-weekly newsletter: [[sketch-mail](https://villares.o ## 2019 + --- +![sketch_190501a](2019/sketch_190501a/sketch_190501a.png) + +[sketch_190501a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190501a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] + +--- ![sketch_190430b](2019/sketch_190430b/sketch_190430b.png)