Esempio n. 1
1
def create_arrow_shape(shape_name, length, color):
    tmp = Turtle()
    tmp.hideturtle()
    tmp.color(color)
    tmp.begin_poly()
    tmp.setheading(90)
    tmp.forward(length)
    tmp.end_poly()
    p = tmp.get_poly()
    tmp.clear()
    screen.register_shape(shape_name, p)
Esempio n. 2
1
def main():
    ## create compound yellow/blue turtleshape for planets
    global s
    s = Screen()
    s.setup(1120,840)
    s.reset()
    s.tracer(0, 0)
    t = Turtle()
    t.ht()
    t.pu()
    t.fd(6)
    t.lt(90)

    t.begin_poly()
    t.circle(6, 180)
    t.end_poly()
    m1 = t.get_poly()

    t.begin_poly()
    t.circle(6,180)
    t.end_poly()
    m2 = t.get_poly()

    planetshape = Shape("compound")
    planetshape.addcomponent(m1,"orange")
    planetshape.addcomponent(m2,"blue")
    s.register_shape("planet", planetshape)
    #s.tracer(1,0)
    s.update()
    ## setup gravitational system
    gs = GravSys()
    sun = Star(1000000, Vec(-250,0), Vec(0,-0.35), gs, "circle")
    sun.color("yellow")
    sun.pensize(1.8)
    sun.pu()
    earth = Star(5000, Vec(450,0), Vec(0,70), gs, "planet")
    earth.pencolor("green")
    earth.shapesize(0.8)

    rm=12.0583
    vm=(8.0*5000/rm)**.5
    moon = Star(1, Vec(450+rm,0), Vec(0,70+vm), gs, "planet")
    moon.pencolor("blue")
    moon.shapesize(0.5)
    gs.init()
    gs.start()
    return "Done!"
Esempio n. 3
0
def create_box_shape(shape_name, width, height, border):
    tmp = Turtle()
    reverse_width = height
    reverse_height = width
    big_rect = build_rect(tmp, reverse_width, reverse_height, 0)
    small_rect = build_rect(tmp, reverse_width, reverse_height, border)
    tmp.penup()
    tmp.hideturtle()
    tmp.goto(big_rect['top']['x'], big_rect['top']['y'])
    tmp.pendown()
    tmp.begin_poly()

    tmp.goto(big_rect['top']['x'], big_rect['bottom']['y'])
    tmp.goto(big_rect['bottom']['x'], big_rect['bottom']['y'])
    tmp.goto(big_rect['bottom']['x'], big_rect['top']['y'])
    tmp.goto(big_rect['top']['x'], big_rect['top']['y'])

    tmp.goto(small_rect['top']['x'], small_rect['top']['y'])
    tmp.goto(small_rect['bottom']['x'], small_rect['top']['y'])
    tmp.goto(small_rect['bottom']['x'], small_rect['bottom']['y'])
    tmp.goto(small_rect['top']['x'], small_rect['bottom']['y'])
    tmp.goto(small_rect['top']['x'], small_rect['top']['y'])

    tmp.end_poly()
    p = tmp.get_poly()
    tmp.reset()
    tmp.hideturtle()
    del tmp
    screen.register_shape(shape_name, p)
Esempio n. 4
0
def main():
    s = Turtle()
    s.reset()
    s.getscreen().tracer(0, 0)
    s.ht()
    s.pu()
    s.fd(6)
    s.lt(90)
    s.begin_poly()
    s.circle(6, 180)
    s.end_poly()
    m1 = s.get_poly()
    s.begin_poly()
    s.circle(6, 180)
    s.end_poly()
    m2 = s.get_poly()
    planetshape = Shape('compound')
    planetshape.addcomponent(m1, 'orange')
    planetshape.addcomponent(m2, 'blue')
    s.getscreen().register_shape('planet', planetshape)
    s.getscreen().tracer(1, 0)
    gs = GravSys()
    sun = Star(1000000, Vec(0, 0), Vec(0, -2.5), gs, 'circle')
    sun.color('yellow')
    sun.shapesize(1.8)
    sun.pu()
    earth = Star(12500, Vec(210, 0), Vec(0, 195), gs, 'planet')
    earth.pencolor('green')
    earth.shapesize(0.8)
    moon = Star(1, Vec(220, 0), Vec(0, 295), gs, 'planet')
    moon.pencolor('blue')
    moon.shapesize(0.5)
    gs.init()
    gs.start()
    return 'Done!'
def main():
    ## create compound yellow/blue turtleshape for planets
    global s
    s = Screen()
    s.setup(1120, 840)
    s.reset()
    s.tracer(0, 0)
    t = Turtle()
    t.ht()
    t.pu()
    t.fd(6)
    t.lt(90)

    t.begin_poly()
    t.circle(6, 180)
    t.end_poly()
    m1 = t.get_poly()

    t.begin_poly()
    t.circle(6, 180)
    t.end_poly()
    m2 = t.get_poly()

    planetshape = Shape("compound")
    planetshape.addcomponent(m1, "orange")
    planetshape.addcomponent(m2, "blue")
    s.register_shape("planet", planetshape)
    s.update()
    ## setup gravitational system
    gs = GravSys()
    sun = Star(1000000, Vec(-250, 0), Vec(0, -0.35), gs, "circle")
    sun.color("yellow")
    sun.pensize(1.8)
    sun.pu()
    earth = Star(5000, Vec(450, 0), Vec(0, 70), gs, "planet")
    earth.pencolor("green")
    earth.shapesize(0.8)

    rm = 12.0583
    vm = (8.0 * 5000 / rm)**.5
    moon = Star(1, Vec(450 + rm, 0), Vec(0, 70 + vm), gs, "planet")
    moon.pencolor("blue")
    moon.shapesize(0.5)
    gs.init()
    gs.start()
    s.tracer(True)
    return "Done!"
Esempio n. 6
0
def run_1():
    t = Turtle()

    t.pendown()
    t.fill(255, 165, 0)
    t.begin_poly()

    for i in range(40):
        t.right(25)
        t.forward(100)
        t.left(160)
        t.forward(25)

    t.end_poly()

    renderer = PILRenderer()
    t.render(renderer)
    renderer.show()
Esempio n. 7
0
def create_raise_sector_shape(shape_name, radius, extent, width=10):
    tmp = Turtle()
    tmp.hideturtle()
    tmp.setheading(90)
    tmp.begin_poly()
    tmp.circle(radius, extent=extent)
    tmp.end_poly()
    p1 = tmp.get_poly()
    tmp.reset()
    tmp.setheading(90)
    tmp.setx(-width)
    tmp.begin_poly()
    tmp.circle(radius - width, extent=extent)
    tmp.end_poly()
    p2 = tmp.get_poly()
    tmp.reset()
    p3 = p1 + p2[::-1]
    screen.register_shape(shape_name, p3)
Esempio n. 8
0
def createPlanetShape():
    s.tracer(0,0)
    t = Turtle()
    t.ht()
    t.pu()
    t.fd(6)
    t.lt(90)
    t.begin_poly()
    t.circle(6, 180)
    t.end_poly()
    m1 = t.get_poly()
    t.begin_poly()
    t.circle(6,180)
    t.end_poly()
    m2 = t.get_poly()

    planetshape = Shape("compound")
    planetshape.addcomponent(m1,"orange")
    planetshape.addcomponent(m2,"blue")
    s.register_shape("planet", planetshape)
    s.tracer(True,0)
def createPlanetShape():
    s.tracer(0,0)
    t = Turtle()
    t.ht()
    t.pu()
    t.fd(6)
    t.lt(90)
    t.begin_poly()
    t.circle(6, 180)
    t.end_poly()
    m1 = t.get_poly()
    t.begin_poly()
    t.circle(6,180)
    t.end_poly()
    m2 = t.get_poly()

    planetshape = Shape("compound")
    planetshape.addcomponent(m1,"orange")
    planetshape.addcomponent(m2,"blue")
    s.register_shape("planet", planetshape)
    s.tracer(True,0)
Esempio n. 10
0
def get_rectangle_poly(width, height):
    tmp = Turtle()
    reverse_width = height
    reverse_height = width
    rect = build_rect(tmp, reverse_width, reverse_height, 0)
    tmp.penup()
    tmp.hideturtle()
    tmp.goto(rect['top']['x'], rect['top']['y'])
    tmp.pendown()
    tmp.begin_poly()

    tmp.goto(rect['top']['x'], rect['bottom']['y'])
    tmp.goto(rect['bottom']['x'], rect['bottom']['y'])
    tmp.goto(rect['bottom']['x'], rect['top']['y'])
    tmp.goto(rect['top']['x'], rect['top']['y'])

    tmp.end_poly()
    p = tmp.get_poly()
    tmp.reset()
    tmp.hideturtle()
    del tmp
    return p
Esempio n. 11
0
def main():
    s = Turtle()
    s.reset()
    s.getscreen().tracer(0,0)
    s.ht()
    s.pu()
    s.fd(6)
    s.lt(90)
    s.begin_poly()
    s.circle(6, 180)
    s.end_poly()
    m1 = s.get_poly()
    s.begin_poly()
    s.circle(6,180)
    s.end_poly()
    m2 = s.get_poly()

    planetshape = Shape("compound")
    planetshape.addcomponent(m1,"orange")
    planetshape.addcomponent(m2,"blue")
    s.getscreen().register_shape("planet", planetshape)
    s.getscreen().tracer(1,0)

    ## setup gravitational system
    gs = GravSys()
    sun = Star(1000000, Vec(0,0), Vec(0,-2.5), gs, "circle")
    sun.color("yellow")
    sun.shapesize(1.8)
    sun.pu()
    earth = Star(12500, Vec(210,0), Vec(0,195), gs, "planet")
    earth.pencolor("green")
    earth.shapesize(0.8)
    moon = Star(1, Vec(220,0), Vec(0,295), gs, "planet")
    moon.pencolor("blue")
    moon.shapesize(0.5)
    gs.init()
    gs.start()
    return "Done!"
Esempio n. 12
0
def main():
    s = Turtle()
    s.reset()
    s.getscreen().tracer(0,0)
    s.ht()
    s.pu()
    s.fd(6)
    s.lt(90)
    s.begin_poly()
    s.circle(6, 180)
    s.end_poly()
    m1 = s.get_poly()
    s.begin_poly()
    s.circle(6,180)
    s.end_poly()
    m2 = s.get_poly()

    planetshape = Shape("compound")
    planetshape.addcomponent(m1,"orange")
    planetshape.addcomponent(m2,"blue")
    s.getscreen().register_shape("planet", planetshape)
    s.getscreen().tracer(1,0)

    ## setup gravitational system
    gs = GravSys()
    sun = Star(1000000, Vec(0,0), Vec(0,-2.5), gs, "circle")
    sun.color("yellow")
    sun.shapesize(1.8)
    sun.pu()
    earth = Star(12500, Vec(210,0), Vec(0,195), gs, "planet")
    earth.pencolor("green")
    earth.shapesize(0.8)
    moon = Star(1, Vec(220,0), Vec(0,295), gs, "planet")
    moon.pencolor("blue")
    moon.shapesize(0.5)
    gs.init()
    gs.start()
    return "Done!"
Esempio n. 13
0
def run_2():
    t = Turtle()

    t.pendown()

    for i in range(18):
        t.begin_poly()
        t.fill(randint(100, 255), 0, randint(100, 255))

        t.forward(25)
        t.right(15)
        t.forward(25)
        t.right(165)
        t.forward(25)
        t.right(15)
        t.forward(25)

        t.right(25)
        t.end_poly()

    renderer = PILRenderer()
    t.render(renderer)
    renderer.show()
Esempio n. 14
0

predefined_shapes = ['arrow', 'turtle', 'circle', 'square', 'triangle', 'classic']

turtles = []
for index, shape in enumerate(predefined_shapes):
    turtle  = Turtle()
    turtle.penup()
    turtle.sety(gap*index)
    turtle.shape(shape)
    turtles.append(turtle)

t = Turtle()
t.home()
t.left(150)
t.begin_poly()
for i in range(1, 4):
    t.fd(20)
    t.right(60)
    t.fd(20)
    t.left(300)

t.setheading(90)
t.speed(1)
t.fd(20)
t.right(60)
t.fd(20)
t.left(120)
t.fd(20)
t.left(60)
t.fd(20)