예제 #1
0
def start_execution():
    """Обработчик события нажатия на кнопку Start.
    Запускает циклическое исполнение функции execution.
    """
    global perform_execution
    perform_execution = True
    start_button['text'] = "Pause"
    start_button['command'] = stop_execution

    from record import start
    start(space, 100, __file__)

    execution()
    print('Started execution...')
#!/bin/env python3

from record import start, finish
import turtle

start(200, 200, 0, 0, 50, __file__)

l = 20
for i in range(10):
    turtle.penup()
    turtle.goto(-l/2, -l/2)
    turtle.pendown()
    for k in range(4):
        turtle.forward(l)
        turtle.left(90)
    l += 20

finish()
예제 #3
0
#!/bin/env python3

from record import start, finish
import turtle
import math

r = 100
n = 50
a = 2*r*math.sin(math.pi/n)
b = 180*(1-2/n)

start(2*r, 2*r, 0, 0, 50, __file__)

turtle.penup()
turtle.forward(r)
turtle.left(180-b/2)
turtle.pendown()

for i in range(n):
    turtle.forward(a)
    turtle.left(180-b)

finish()
예제 #4
0
#!/bin/env python3

from record import start, finish
import turtle
import math


r = 50
n = 50
m = 3
a = 2*r*math.sin(math.pi/n)
b = 180*(1-2/n)

def circle(sgn):
    for i in range(n):
        turtle.forward(a)
        turtle.left(sgn*(180-b))

turtle.speed('fastest')

start(4*r, 4*r, 0, 0, 50, __file__)


for i in range(m):
    circle(1)
    circle(-1)
    turtle.left(180/m)


finish()
예제 #5
0
#!/bin/env python3

from record import start, finish
from koch import snowflake
import turtle
import sys

L = 300
H = L / 6 * 3**0.5
N = 2

start(L, 4 * H, -L / 2, H, 50, __file__)

snowflake(L, N)

finish()
예제 #6
0
#!/bin/env python3

from record import start, finish
from leaf import draw
import turtle

L = 400
N = 5
LL = L / N * (N + 1)

start(LL, LL, 0, -LL / 2, 50, __file__)

turtle.speed('fastest')
turtle.left(90)
draw(L, N)

finish()
예제 #7
0
#!/bin/env python3

from record import start, finish
import turtle
import math

r = 30
n = 3
a = 2 * r * math.sin(math.pi / n)
b = 180 * (1 - 2 / n)

start(460, 460, 0, 0, 50, __file__)

turtle.penup()
turtle.forward(r)
turtle.pendown()

for i in range(10):
    a = 2 * r * math.sin(math.pi / n)
    b = 180 * (1 - 2 / n)
    turtle.left(180 - b / 2)

    for j in range(n):
        turtle.forward(a)
        turtle.left(180 - b)

    turtle.right(180 - b / 2)
    turtle.penup()
    turtle.forward(20)
    turtle.down()
예제 #8
0
#!/bin/env python3

from record import start, finish
import turtle
import math

r = 50
n = 50
m = 3
a = 2 * r * math.sin(math.pi / n)
b = 180 * (1 - 2 / n)


def circle(sgn):
    for i in range(n):
        turtle.forward(a)
        turtle.left(sgn * (180 - b))


turtle.speed('fastest')

start(4 * r, 4 * r, 0, 0, 50, __file__)

for i in range(m):
    circle(1)
    circle(-1)
    turtle.left(180 / m)

finish()
예제 #9
0
#!/bin/env python3

from record import start, finish
from koch import curve
import turtle


L = 800
H = L/6*3**0.5
N = 3

start(L, H, -L/2, -H/2, 50, __file__)

curve(L, N)

finish()
예제 #10
0
#!/bin/env python3

from record import start, finish
from star import draw

r = 100
n = 5

start(2 * r, 2 * r, 0, 0, 50, __file__)

draw(r, n)

finish()
예제 #11
0
#!/bin/env python3

from record import start, finish
from minkowski import curve
import turtle


L = 800
N = 3

start(L, L, -L/2, 0, 50, __file__)

turtle.speed('fastest')
curve(L, N)

finish()
예제 #12
0
#!/bin/env python3

from record import start, finish
from leaf import draw
import turtle

L = 400
N = 2
LL = L/N*(N+1)

start(LL, LL, 0, -LL/2, 50, __file__)

turtle.left(90)
draw(L, N)

finish()
#!/bin/env python3

from record import start, finish
import turtle
import math

r = 30
n = 3
a = 2*r*math.sin(math.pi/n)
b = 180*(1-2/n)

start(460, 460, 0, 0, 50, __file__)

turtle.penup()
turtle.forward(r)
turtle.pendown()

for i in range(10):
    a = 2*r*math.sin(math.pi/n)
    b = 180*(1-2/n)
    turtle.left(180-b/2)

    for j in range(n):
        turtle.forward(a)
        turtle.left(180-b)

    turtle.right(180-b/2)
    turtle.penup()
    turtle.forward(20)
    turtle.down()
예제 #14
0
import turtle
import math


r = 50
n = 50
m = 10


def circle(r, sgn):
    a = 2 * r * math.sin(math.pi / n)
    b = 180 * (1 - 2 / n)
    for i in range(n):
        turtle.forward(a)
        turtle.left(sgn * (180 - b))


start(12 * r, 6 * r, 0, 0, 50, __file__)

turtle.speed("fastest")

turtle.left(90)

for i in range(m):
    circle(r, 1)
    circle(r, -1)
    r += 10


finish()
예제 #15
0
#!/bin/env python3

from record import start, finish
import turtle

start(200, 200, 0, 0, 50, __file__)

l = 20
for i in range(10):
    turtle.penup()
    turtle.goto(-l / 2, -l / 2)
    turtle.pendown()
    for k in range(4):
        turtle.forward(l)
        turtle.left(90)
    l += 20

finish()
#!/bin/env python3

from record import start, finish
from koch import snowflake
import turtle
import sys

L = 300
H = L/6*3**0.5
N = 2

start(L, 4*H, -L/2, H, 50, __file__)

snowflake(L, N)

finish()
예제 #17
0
#!/bin/env python3

from record import start, finish
import turtle

start(50, 100, -25, -50, 50, __file__)

turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)

finish()
예제 #18
0
from record import start, finish
width = 400
height = 200
zero = -100

import os
import turtle

t = turtle.Turtle('circle')
t.shapesize(0.5)
t.speed(0)
t.up()
t.goto(0, zero)
t.down()

start(width, height, -width / 2, height, 50, __file__)
t.fd(200)
t.bk(400)

v = [30, 60]
dt = 0.05
g = -9.8
k_air = 0.07
k_elast = 0.9
k_friction = 0.5


def abs_v(v):
    return (v[0] * v[0] + v[1] * v[1])**0.5

예제 #19
0
R = 50
r = 10
N = 20
n = 10
m = 5


def arc(r, n):
    a = 2*r*math.sin(math.pi/n/2)

    turtle.right(90/n)
    for i in range(n):
        turtle.forward(a)
        turtle.right(180/n)

    turtle.left(90/n)

l = m*2*R+(m-1)*2*r

start(l, R+r, -l/2, -(R+r)/2, 50, __file__)

turtle.left(90)

for i in range(m-1):
    arc(R, N)
    arc(r, n)

arc(R, N)

finish()
예제 #20
0
#!/bin/env python3

from record import start, finish
from levi import curve
import turtle

L = 400
N = 9

start(2*L, 3*L/2, -L/2, -L/3, 50, __file__)

turtle.speed('fastest')
curve(L, N)

finish()
예제 #21
0
#!/bin/env python3

from record import start, finish
from koch import curve
import turtle


L = 800
H = L/6*3**0.5
N = 1

start(L, H, -L/2, -H/2, 50, __file__)

curve(L, N)

finish()
예제 #22
0
#!/bin/env python3

from record import start, finish
import turtle

start(100, 100, -50, -50, 50, __file__)

turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)

finish()
예제 #23
0
    if n == 0:
        turtle.penup()
        turtle.goto(x, y)
        turtle.pendown()

        turtle.forward(l)
        return

    turtle.penup()
    turtle.goto(x, y)
    turtle.pendown()

    turtle.forward(l)

    cantor_set(x, y-30, l/3, n-1)
    cantor_set(x + l*2/3, y-30, l/3, n-1)

L = 600
N = 2
X = -L/2
Y = 15 * N

start(L, 2 * Y, X, Y, 50, __file__)

turtle.penup()
turtle.goto(X, Y)
turtle.pendown()

cantor_set(X, Y, L, N)
finish()
예제 #24
0
def main(
    name_a,
    name_b,
    scenario='/home/aslsim/Simulator/VTD.2.0/Data/Projects/Current/Scenarios/ScenarioDBOff.xml'
):

    players = load_scenario(scenario)
    print(players)
    vel_list = [29]  # mean velocity is 65mph
    swap_list = [0, 1]
    d_vel_list = [-2, 0, 2]
    co_t_list = [1, 2, 3]
    configs = np.array([[v, s, dv, co] for v in vel_list for s in swap_list
                        for dv in d_vel_list for co in co_t_list])

    n_configs = len(configs)
    # # vel = randint(27, 32)
    # vel = 29    # mean velocity is 65mph
    # d_vel = 2*randint(-1, 1)
    # co_t = randint(1, 3)
    is_recording = False
    round_idx = 0
    while True:
        # SCP.send_message('<Traffic><Reset /></Traffic>')

        # tetra shuffling
        round_idx += 1
        config_order = np.random.permutation(18)
        trial = 0
        while trial < n_configs:
            # for trial in range(n_configs):
            if is_recording:
                config = configs[config_order[trial]]
                vel = config[0]
                swap = config[1]
                d_vel = config[2]
                co_t = config[3]
                trial += 1
                print("Recording: Round: " + str(round_idx) + " -- " + str(trial) + "/" + str(n_configs) +\
                 " --> config: vel: %2i swap: %1i d_vel: %1i co_t: %1i"% tuple(config) )
            else:
                config = configs[config_order[randint(0, n_configs - 1)]]
                vel = config[0]
                swap = config[1]
                d_vel = config[2]
                co_t = config[3]
                print(
                    "Not recording --> config: vel: %2i swap: %1i d_vel: %1i co_t: %1i"
                    % tuple(config))

            for player in players:
                # if player.description['control'] == 'external':
                # print("Sending Message: %s" % msg)
                name = player
                set_starting_condition(name, swap, vel, d_vel, co_t)

            time_s = strftime("%H:%M:%S", localtime())
            fn = "{}_{}_{}_{}_{}_{}.bag".format(time_s, vel, swap, d_vel, co_t,
                                                round_idx)

            folder = '~/bags/' + strftime(
                "%Y-%m-%d", localtime()) + '/' + name_a + '_and_' + name_b

            day_folder = '~/bags/' + strftime("%Y-%m-%d", localtime())

            full_day_folder = os.path.expanduser(day_folder)
            if not os.path.isdir(full_day_folder):
                os.mkdir(full_day_folder)
            os.chdir(os.path.expanduser(full_day_folder))

            if is_recording:
                record.start([
                    '/object_state/1',
                    '/object_state/2',
                    '/road_pos/1',
                    '/road_pos/2',
                    '/driver_ctrl/1',
                    '/driver_ctrl/2',
                ],
                             filename=fn,
                             folder=folder)

            s = raw_input("Press Enter to reset ...")
            if s == "":
                is_recording = True
            elif s == "nn":
                record.stop()
                return True
            elif s == "qq":
                record.stop()
                return False
            elif s == "rr":
                trial -= 1
                is_recording = True
            else:
                is_recording = False

            record.stop()

    return False
예제 #25
0
from record import start, finish
import turtle


def curve(l, n, direction=45):
    if n == 0:
        turtle.forward(l)
        return
    turtle.right(direction)
    curve(l / 2, n - 1, 45)
    turtle.left(direction * 2)
    curve(l / 2, n - 1, -45)
    turtle.right(direction)


L = 800
N = 5

#turtle.speed('fastest')

start(L / 2, L / 2, -L / 6, 0, 50, __file__)
#turtle.penup()
#turtle.goto(-L/2, -L/3)
#turtle.pendown()

curve(L, N)
finish()