Войти
или
Зарегистрироваться
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Статья Автор:
Ильичев Василий
Черепашка на matplotlib
import matplotlib.pyplot as plt import numpy as np x, y = 0.0, 0.0 angle = 90 x_cord = [x] y_cord = [y] down = True cur_col = 'black' segm = [] def f(dist): global x, y, angle, x_cord, y_cord, down, segm x_prev, y_prev = x, y rad = np.deg2rad(angle) x += dist * (np.cos(rad)) y += dist * (np.sin(rad)) x_cord.append(x) y_cord.append(y) if down: segm.append({ 'x': [x_prev, x], 'y': [y_prev, y], 'col': cur_col }) def r(degrees): global angle angle -= degrees def u(): global down down = False def d(): global down down = True def c(new_col): global cur_col cur_col = new_col s = 'f100 r120 ' * 3 for i in s.split(): if i[0] == 'f': f(int(i[1:])) if i[0] == 'r': r(int(i[1:])) if i[0] == 'd': d() if i[0] == 'u': u() if i[0] == 'c': c(i[1:]) for s in segm: plt.plot(s['x'], s['y'], color =s['col']) plt.grid(True) plt.axis('equal') plt.show()
×
Чтобы оставить комментарий нужна авторизация
Печать