mirror of
https://github.com/undera/pylgbst.git
synced 2020-11-18 19:37:26 -08:00
Extract lego example
This commit is contained in:
parent
4efe3705ec
commit
b0bdbebf56
81
examples/plotter/lego.py
Normal file
81
examples/plotter/lego.py
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
def lego(plotter, t):
|
||||||
|
h = t * 5.0
|
||||||
|
w = t * 3.0
|
||||||
|
|
||||||
|
plotter.move(-t * 2.0, 0)
|
||||||
|
l(h, plotter, t, w)
|
||||||
|
plotter.move(0, w + t)
|
||||||
|
e(h, plotter, t, w)
|
||||||
|
plotter.move(0, w + t)
|
||||||
|
g(plotter, t)
|
||||||
|
plotter.move(0, w + t)
|
||||||
|
o(plotter, t)
|
||||||
|
|
||||||
|
|
||||||
|
def o(plotter, t):
|
||||||
|
# O
|
||||||
|
plotter.move(t, 0)
|
||||||
|
plotter.line(3 * t, 0)
|
||||||
|
plotter.line(t, t)
|
||||||
|
plotter.line(0, t)
|
||||||
|
plotter.line(-t, t)
|
||||||
|
plotter.line(-3 * t, 0)
|
||||||
|
plotter.line(-t, -t)
|
||||||
|
plotter.line(0, -t)
|
||||||
|
plotter.line(t, -t)
|
||||||
|
plotter.move(0, t)
|
||||||
|
plotter.line(3 * t, 0)
|
||||||
|
plotter.line(0, t)
|
||||||
|
plotter.line(-3 * t, 0)
|
||||||
|
plotter.line(0, -t)
|
||||||
|
|
||||||
|
|
||||||
|
def g(plotter, t):
|
||||||
|
# G
|
||||||
|
plotter.move(t, 0)
|
||||||
|
plotter.line(3 * t, 0)
|
||||||
|
plotter.line(t, t)
|
||||||
|
plotter.line(0, t)
|
||||||
|
plotter.line(-t, t)
|
||||||
|
plotter.line(-t, 0)
|
||||||
|
plotter.line(0, -t)
|
||||||
|
plotter.line(t, 0)
|
||||||
|
plotter.line(0, -t)
|
||||||
|
plotter.line(-3 * t, 0)
|
||||||
|
plotter.line(0, t)
|
||||||
|
plotter.line(t * 0.25, 0)
|
||||||
|
plotter.line(0, -t * 0.25)
|
||||||
|
plotter.line(t * 0.75, 0)
|
||||||
|
plotter.line(0, t * 1.25)
|
||||||
|
plotter.line(-3 * t, 0)
|
||||||
|
plotter.line(0, -t)
|
||||||
|
plotter.line(t, 0)
|
||||||
|
plotter.line(0, -t)
|
||||||
|
plotter.line(t, -t)
|
||||||
|
plotter.move(-t, 0)
|
||||||
|
|
||||||
|
|
||||||
|
def e(h, plotter, t, w):
|
||||||
|
# E
|
||||||
|
plotter.line(h, 0)
|
||||||
|
plotter.line(0, w)
|
||||||
|
plotter.line(-t, 0)
|
||||||
|
plotter.line(0, -2 * t)
|
||||||
|
plotter.line(-t, 0)
|
||||||
|
plotter.line(0, t)
|
||||||
|
plotter.line(-t, 0)
|
||||||
|
plotter.line(0, -t)
|
||||||
|
plotter.line(-t, 0)
|
||||||
|
plotter.line(0, 2 * t)
|
||||||
|
plotter.line(-t, 0)
|
||||||
|
plotter.line(0, -w)
|
||||||
|
|
||||||
|
|
||||||
|
def l(h, plotter, t, w):
|
||||||
|
# L
|
||||||
|
plotter.line(h, 0)
|
||||||
|
plotter.line(0, t)
|
||||||
|
plotter.line(-(h - t), 0)
|
||||||
|
plotter.line(0, 2 * t)
|
||||||
|
plotter.line(-t, 0)
|
||||||
|
plotter.line(0, -w)
|
@ -55,75 +55,6 @@ def circles():
|
|||||||
plotter.circle(FIELD_WIDTH)
|
plotter.circle(FIELD_WIDTH)
|
||||||
|
|
||||||
|
|
||||||
def lego():
|
|
||||||
t = FIELD_WIDTH / 5.0
|
|
||||||
h = t * 5.0
|
|
||||||
w = t * 3.0
|
|
||||||
|
|
||||||
plotter.move(-t * 2.0, 0)
|
|
||||||
|
|
||||||
plotter.line(h, 0)
|
|
||||||
plotter.line(0, t)
|
|
||||||
plotter.line(-(h - t), 0)
|
|
||||||
plotter.line(0, 2 * t)
|
|
||||||
plotter.line(-t, 0)
|
|
||||||
plotter.line(0, -w)
|
|
||||||
|
|
||||||
plotter.move(0, w + t)
|
|
||||||
|
|
||||||
plotter.line(h, 0)
|
|
||||||
plotter.line(0, w)
|
|
||||||
plotter.line(-t, 0)
|
|
||||||
plotter.line(0, -2 * t)
|
|
||||||
plotter.line(-t, 0)
|
|
||||||
plotter.line(0, t)
|
|
||||||
plotter.line(-t, 0)
|
|
||||||
plotter.line(0, -t)
|
|
||||||
plotter.line(-t, 0)
|
|
||||||
plotter.line(0, 2 * t)
|
|
||||||
plotter.line(-t, 0)
|
|
||||||
plotter.line(0, -w)
|
|
||||||
|
|
||||||
plotter.move(0, w + t)
|
|
||||||
|
|
||||||
plotter.move(t, 0)
|
|
||||||
plotter.line(3 * t, 0)
|
|
||||||
plotter.line(t, t)
|
|
||||||
plotter.line(0, t)
|
|
||||||
plotter.line(-t, t)
|
|
||||||
plotter.line(-t, 0)
|
|
||||||
plotter.line(0, -t)
|
|
||||||
plotter.line(t, 0)
|
|
||||||
plotter.line(0, -t)
|
|
||||||
plotter.line(-3 * t, 0)
|
|
||||||
plotter.line(0, t)
|
|
||||||
plotter.line(t, 0)
|
|
||||||
plotter.line(0, t)
|
|
||||||
plotter.line(-3 * t, 0)
|
|
||||||
plotter.line(0, -t)
|
|
||||||
plotter.line(t, 0)
|
|
||||||
plotter.line(0, -t)
|
|
||||||
plotter.line(t, -t)
|
|
||||||
plotter.move(-t, 0)
|
|
||||||
|
|
||||||
plotter.move(0, w + t)
|
|
||||||
|
|
||||||
plotter.move(t, 0)
|
|
||||||
plotter.line(3 * t, 0)
|
|
||||||
plotter.line(t, t)
|
|
||||||
plotter.line(0, t)
|
|
||||||
plotter.line(-t, t)
|
|
||||||
plotter.line(-3 * t, 0)
|
|
||||||
plotter.line(-t, -t)
|
|
||||||
plotter.line(0, -t)
|
|
||||||
plotter.line(t, -t)
|
|
||||||
plotter.move(0, t)
|
|
||||||
plotter.line(3 * t, 0)
|
|
||||||
plotter.line(0, t)
|
|
||||||
plotter.line(-3 * t, 0)
|
|
||||||
plotter.line(0, -t)
|
|
||||||
|
|
||||||
|
|
||||||
def square_spiral():
|
def square_spiral():
|
||||||
rounds = 7
|
rounds = 7
|
||||||
step = plotter.base_speed / rounds / 3.0
|
step = plotter.base_speed / rounds / 3.0
|
||||||
@ -212,6 +143,8 @@ def snowflake(scale=1.0):
|
|||||||
for item in reversed(vals):
|
for item in reversed(vals):
|
||||||
plotter.line(item[0] * zoom, -item[1] * zoom)
|
plotter.line(item[0] * zoom, -item[1] * zoom)
|
||||||
|
|
||||||
|
plotter.line(0.05 * zoom, 0)
|
||||||
|
|
||||||
|
|
||||||
def angles_experiment():
|
def angles_experiment():
|
||||||
parts = 2
|
parts = 2
|
||||||
@ -291,9 +224,9 @@ if __name__ == '__main__':
|
|||||||
# plotter.rectangle(FIELD_WIDTH / 5.0, FIELD_WIDTH / 5.0, solid=True)
|
# plotter.rectangle(FIELD_WIDTH / 5.0, FIELD_WIDTH / 5.0, solid=True)
|
||||||
|
|
||||||
# square_spiral()
|
# square_spiral()
|
||||||
# lego()
|
snowflake(0.75)
|
||||||
# christmas_tree()
|
# christmas_tree()
|
||||||
# snowflake(0.5)
|
# lego(plotter, FIELD_WIDTH / 5.0)
|
||||||
pass
|
pass
|
||||||
finally:
|
finally:
|
||||||
plotter.finalize()
|
plotter.finalize()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user