/usr/lib64/python2.7/Demo/turtle
NameSizeModeActions
about_turtle.txt35250644editdlrm
about_turtledemo.txt3020644editdlrm
demohelp.txt30340644editdlrm
tdemo_bytedesign.py42180755editdlrm
tdemo_bytedesign.pyc53130644editdlrm
tdemo_bytedesign.pyo53130644editdlrm
tdemo_chaos.py9510644editdlrm
tdemo_chaos.pyc22960644editdlrm
tdemo_chaos.pyo22960644editdlrm
tdemo_clock.py32190755editdlrm
tdemo_clock.pyc45350644editdlrm
tdemo_clock.pyo45350644editdlrm
tdemo_colormixer.py13380644editdlrm
tdemo_colormixer.pyc23650644editdlrm
tdemo_colormixer.pyo23650644editdlrm
tdemo_fractalcurves.py34090755editdlrm
tdemo_fractalcurves.pyc35240644editdlrm
tdemo_fractalcurves.pyo35240644editdlrm
tdemo_I_dontlike_tiltdemo.py10730755editdlrm
tdemo_I_dontlike_tiltdemo.pyc16600644editdlrm
tdemo_I_dontlike_tiltdemo.pyo16600644editdlrm
tdemo_lindenmayer_indian.py24320755editdlrm
tdemo_lindenmayer_indian.pyc36020644editdlrm
tdemo_lindenmayer_indian.pyo36020644editdlrm
tdemo_minimal_hanoi.py20490755editdlrm
tdemo_minimal_hanoi.pyc36230644editdlrm
tdemo_minimal_hanoi.pyo36230644editdlrm
tdemo_nim.py65140644editdlrm
tdemo_nim.pyc93840644editdlrm
tdemo_nim.pyo93840644editdlrm
tdemo_paint.py12890755editdlrm
tdemo_paint.pyc19010644editdlrm
tdemo_paint.pyo19010644editdlrm
tdemo_peace.py10650755editdlrm
tdemo_peace.pyc13880644editdlrm
tdemo_peace.pyo13880644editdlrm
tdemo_penrose.py35350755editdlrm
tdemo_penrose.pyc60050644editdlrm
tdemo_penrose.pyo60050644editdlrm
tdemo_planet_and_moon.py28230755editdlrm
tdemo_planet_and_moon.pyc45350644editdlrm
tdemo_planet_and_moon.pyo45350644editdlrm
tdemo_tree.py14100755editdlrm
tdemo_tree.pyc21230644editdlrm
tdemo_tree.pyo21230644editdlrm
tdemo_two_canvases.py11200644editdlrm
tdemo_two_canvases.pyc16350644editdlrm
tdemo_two_canvases.pyo16350644editdlrm
tdemo_wikipedia.py13470644editdlrm
tdemo_wikipedia.pyc19550644editdlrm
tdemo_wikipedia.pyo19550644editdlrm
tdemo_yinyang.py8070755editdlrm
tdemo_yinyang.pyc13200644editdlrm
tdemo_yinyang.pyo13200644editdlrm
turtle.cfg1600644editdlrm
turtleDemo.py100910755editdlrm
turtleDemo.pyc109480644editdlrm
turtleDemo.pyo109480644editdlrm
Edit: /usr/lib64/python2.7/Demo/turtle/tdemo_penrose.py (3535B)
#! /usr/bin/python2.7 """ xturtle-example-suite: xtx_kites_and_darts.py Constructs two aperiodic penrose-tilings, consisting of kites and darts, by the method of inflation in six steps. Starting points are the patterns "sun" consisting of five kites and "star" consisting of five darts. For more information see: http://en.wikipedia.org/wiki/Penrose_tiling ------------------------------------------- """ from turtle import * from math import cos, pi from time import clock, sleep f = (5**0.5-1)/2.0 # (sqrt(5)-1)/2 -- golden ratio d = 2 * cos(3*pi/10) def kite(l): fl = f * l lt(36) fd(l) rt(108) fd(fl) rt(36) fd(fl) rt(108) fd(l) rt(144) def dart(l): fl = f * l lt(36) fd(l) rt(144) fd(fl) lt(36) fd(fl) rt(144) fd(l) rt(144) def inflatekite(l, n): if n == 0: px, py = pos() h, x, y = int(heading()), round(px,3), round(py,3) tiledict[(h,x,y)] = True return fl = f * l lt(36) inflatedart(fl, n-1) fd(l) rt(144) inflatekite(fl, n-1) lt(18) fd(l*d) rt(162) inflatekite(fl, n-1) lt(36) fd(l) rt(180) inflatedart(fl, n-1) lt(36) def inflatedart(l, n): if n == 0: px, py = pos() h, x, y = int(heading()), round(px,3), round(py,3) tiledict[(h,x,y)] = False return fl = f * l inflatekite(fl, n-1) lt(36) fd(l) rt(180) inflatedart(fl, n-1) lt(54) fd(l*d) rt(126) inflatedart(fl, n-1) fd(l) rt(144) def draw(l, n, th=2): clear() l = l * f**n shapesize(l/100.0, l/100.0, th) for k in tiledict: h, x, y = k setpos(x, y) setheading(h) if tiledict[k]: shape("kite") color("black", (0, 0.75, 0)) else: shape("dart") color("black", (0.75, 0, 0)) stamp() def sun(l, n): for i in range(5): inflatekite(l, n) lt(72) def star(l,n): for i in range(5): inflatedart(l, n) lt(72) def makeshapes(): tracer(0) begin_poly() kite(100) end_poly() register_shape("kite", get_poly()) begin_poly() dart(100) end_poly() register_shape("dart", get_poly()) tracer(1) def start(): reset() ht() pu() makeshapes() resizemode("user") def test(l=200, n=4, fun=sun, startpos=(0,0), th=2): global tiledict goto(startpos) setheading(0) tiledict = {} a = clock() tracer(0) fun(l, n) b = clock() draw(l, n, th) tracer(1) c = clock() print "Calculation: %7.4f s" % (b - a) print "Drawing: %7.4f s" % (c - b) print "Together: %7.4f s" % (c - a) nk = len([x for x in tiledict if tiledict[x]]) nd = len([x for x in tiledict if not tiledict[x]]) print "%d kites and %d darts = %d pieces." % (nk, nd, nk+nd) def demo(fun=sun): start() for i in range(8): a = clock() test(300, i, fun) b = clock() t = b - a if t < 2: sleep(2 - t) def main(): #title("Penrose-tiling with kites and darts.") mode("logo") bgcolor(0.3, 0.3, 0) demo(sun) sleep(2) demo(star) pencolor("black") goto(0,-200) pencolor(0.7,0.7,1) write("Please wait...", align="center", font=('Arial Black', 36, 'bold')) test(600, 8, startpos=(70, 117)) return "Done" if __name__ == "__main__": msg = main() mainloop()