How to use the desert.stroke function in desert

To help you get started, we’ve selected a few desert examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github inconvergent / desert / examples / export.py View on Github external
def main():

  b = box(0.3, (0.3, 0.3), 1.0).rgb(rgb(0.1, 0.3, 0.4, 0.77)).json()
  pprint(b)
  pprint(box.from_json(b).json())
  pprint()

  s = stroke(((0.1, 0.1),
              (0.1, 0.1),
              (0.1, 0.9),
              (0.1, 0.1)),
             ((0.9, 0.9),
              (0.1, 0.9),
              (0.9, 0.9),
              (0.2, 0.15)), 2).rgb(black(0.4)).json()

  pprint(s)
  pprint(stroke.from_json(s).json())
  pprint()

  c = circle(0.05, ((0.5, 0.4), (0.8, 0.4)), 1.0).json()
  pprint(c)
  pprint(circle.from_json(c).json())
  pprint()
github inconvergent / desert / examples / erosion-send.py View on Github external
box(0.2, (0.2, 0.5), 0.1),
          box((0.05, 0.5), (0.25, 0.9), 1.0),
          box((0.3, 0.2), (0.1, 0.9), 2.0)])

    erosion.set_fg(rgb(0, 0.5, 0.5, 0.1))

    send([box(0.15, (0.5, 0.3), 2.0),
          box(0.2, (0.5, 0.5), 0.1),
          box((0.05, 0.5), (0.6, 0.9), 1.0),
          box((0.1, 0.2), (0.3, 0.9), 1.0)])

    erosion.set_fg(rgb(0, 0.0, 0.8, 0.1))

    send([box(0.05, ((0.7, 0.3), (0.7, 0.8)), 1.0)])

    send([stroke(((0.1, 0.1),
                  (0.1, 0.1),
                  (0.1, 0.9),
                  (0.1, 0.1)),
                 ((0.9, 0.9),
                  (0.1, 0.9),
                  (0.9, 0.9),
                  (0.2, 0.15)), 2)])

    erosion.set_fg(rgb(0, 0.7, 0.2, 0.1))

    send([circle(0.05, ((0.5, 0.4), (0.8, 0.4)), 1.0)])

    send([circle(0.05, ((0.9, 0.1),
                        (0.9, 0.15),
                        (0.9, 0.2),
                        (0.9, 0.25),
github inconvergent / desert / examples / walker.py View on Github external
xya = random((num, 2))
    xyb = random((num, 2))

    stacka = []
    stackb = []

    drift = in_circle(1, 0, 0, 0.00001)

    for i in range(1, 100000):
      xya += in_circle(num, 0, 0, 0.001) + drift
      xyb += in_circle(num, 0, 0, 0.001) + drift
      stacka.append(xya.copy())
      stackb.append(xyb.copy())

      if not i%10000:
        desert.draw([stroke(stacka, stackb, 0.01)]).show(0.01)
        stacka = []
        stackb = []

    desert.show(1).save(filename(arg))
github inconvergent / desert / examples / main.py View on Github external
desert.set_fg(rgb(0, 0.5, 0.5, 0.1))

    draw([box(0.15, (0.5, 0.3), 2.0),
          box(0.2, (0.5, 0.5), 0.1),
          box((0.05, 0.5), (0.6, 0.9), 1.0),
          box((0.1, 0.2), (0.3, 0.9), 1.0)])

    desert.show()

    desert.set_fg(rgb(0, 0.0, 0.8, 0.1))

    draw([box(0.05, ((0.7, 0.3), (0.7, 0.8)), 1.0)])

    desert.show()

    draw([stroke(((0.1, 0.1),
                  (0.1, 0.1),
                  (0.1, 0.9),
                  (0.1, 0.1)),
                 ((0.9, 0.9),
                  (0.1, 0.9),
                  (0.9, 0.9),
                  (0.2, 0.15)), 2)])

    desert.set_fg(rgb(0, 0.7, 0.2, 0.1))

    draw([circle(0.05, ((0.5, 0.4), (0.8, 0.4)), 1.0)])

    draw([circle(0.05, ((0.9, 0.1),
                        (0.9, 0.15),
                        (0.9, 0.2),
                        (0.9, 0.25),
github inconvergent / desert / examples / circle.py View on Github external
acc = zeros(2)
    noise = 0.000000005
    rad = 0.45

    resa = []
    resb = []

    for i in range(4000000):
      a += acc
      acc += (1-2*random(2))*noise

      resa.append((cos(a[0]), sin(a[0])))
      resb.append((cos(a[1]), sin(a[1])))

      if not i%100000:
        c.draw([stroke(0.5 + array(resa)*rad,
                       0.5 + array(resb)*rad,
                       density)]).show()
        resa = []
        resb = []

    c.save(filename(arg), gamma=1.5)