[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.226.98.244: ~ $
#! /usr/bin/env python
"""       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()

Filemanager

Name Type Size Permission Actions
.tdemo_I_dontlike_tiltdemo.pyo.40009 File 1.62 KB 0644
.tdemo_bytedesign.pyo.40009 File 5.19 KB 0644
.tdemo_chaos.pyo.40009 File 2.24 KB 0644
.tdemo_clock.pyo.40009 File 4.38 KB 0644
.tdemo_colormixer.pyo.40009 File 2.31 KB 0644
.tdemo_fractalcurves.pyo.40009 File 3.44 KB 0644
.tdemo_lindenmayer_indian.pyo.40009 File 3.52 KB 0644
.tdemo_minimal_hanoi.pyo.40009 File 3.5 KB 0644
.tdemo_nim.pyo.40009 File 9.16 KB 0644
.tdemo_paint.pyo.40009 File 1.7 KB 0644
.tdemo_peace.pyo.40009 File 1.41 KB 0644
.tdemo_penrose.pyo.40009 File 5.86 KB 0644
.tdemo_planet_and_moon.pyo.40009 File 4.44 KB 0644
.tdemo_tree.pyo.40009 File 2.07 KB 0644
.tdemo_wikipedia.pyo.40009 File 1.91 KB 0644
.tdemo_yinyang.pyo.40009 File 1.29 KB 0644
.turtleDemo.pyo.40009 File 9.97 KB 0644
.turtledemo_two_canvases.pyo.40009 File 1.22 KB 0644
about_turtle.txt File 3.44 KB 0644
about_turtledemo.txt File 302 B 0644
demohelp.txt File 2.38 KB 0644
tdemo_I_dontlike_tiltdemo.py File 1.05 KB 0644
tdemo_I_dontlike_tiltdemo.pyc File 1.62 KB 0644
tdemo_I_dontlike_tiltdemo.pyo File 1.62 KB 0644
tdemo_bytedesign.py File 4.12 KB 0644
tdemo_bytedesign.pyc File 5.19 KB 0644
tdemo_bytedesign.pyo File 5.19 KB 0644
tdemo_chaos.py File 953 B 0644
tdemo_chaos.pyc File 2.24 KB 0644
tdemo_chaos.pyo File 2.24 KB 0644
tdemo_clock.py File 2.95 KB 0644
tdemo_clock.pyc File 4.38 KB 0644
tdemo_clock.pyo File 4.38 KB 0644
tdemo_colormixer.py File 1.31 KB 0644
tdemo_colormixer.pyc File 2.31 KB 0644
tdemo_colormixer.pyo File 2.31 KB 0644
tdemo_fractalcurves.py File 3.33 KB 0644
tdemo_fractalcurves.pyc File 3.44 KB 0644
tdemo_fractalcurves.pyo File 3.44 KB 0644
tdemo_lindenmayer_indian.py File 2.38 KB 0644
tdemo_lindenmayer_indian.pyc File 3.52 KB 0644
tdemo_lindenmayer_indian.pyo File 3.52 KB 0644
tdemo_minimal_hanoi.py File 1.92 KB 0644
tdemo_minimal_hanoi.pyc File 3.5 KB 0644
tdemo_minimal_hanoi.pyo File 3.5 KB 0644
tdemo_nim.py File 6.43 KB 0644
tdemo_nim.pyc File 9.16 KB 0644
tdemo_nim.pyo File 9.16 KB 0644
tdemo_paint.py File 1.1 KB 0644
tdemo_paint.pyc File 1.7 KB 0644
tdemo_paint.pyo File 1.7 KB 0644
tdemo_peace.py File 1.09 KB 0644
tdemo_peace.pyc File 1.41 KB 0644
tdemo_peace.pyo File 1.41 KB 0644
tdemo_penrose.py File 3.45 KB 0644
tdemo_penrose.pyc File 5.86 KB 0644
tdemo_penrose.pyo File 5.86 KB 0644
tdemo_planet_and_moon.py File 2.77 KB 0644
tdemo_planet_and_moon.pyc File 4.44 KB 0644
tdemo_planet_and_moon.pyo File 4.44 KB 0644
tdemo_tree.py File 1.38 KB 0644
tdemo_tree.pyc File 2.07 KB 0644
tdemo_tree.pyo File 2.07 KB 0644
tdemo_wikipedia.py File 1.32 KB 0644
tdemo_wikipedia.pyc File 1.91 KB 0644
tdemo_wikipedia.pyo File 1.91 KB 0644
tdemo_yinyang.py File 808 B 0644
tdemo_yinyang.pyc File 1.29 KB 0644
tdemo_yinyang.pyo File 1.29 KB 0644
turtle.cfg File 160 B 0644
turtleDemo.py File 9.94 KB 0644
turtleDemo.pyc File 9.97 KB 0644
turtleDemo.pyo File 9.97 KB 0644
turtledemo_two_canvases.py File 885 B 0644
turtledemo_two_canvases.pyc File 1.22 KB 0644
turtledemo_two_canvases.pyo File 1.22 KB 0644