Войти
или
Зарегистрироваться
Маркетплейс
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Онлайн Компилятор
Компилятор Python (lite)
Редактор HTML Code
Статья Автор:
Иванова Екатерина
куб
import turtle as tr def tran(d): ex = (1, 0) ey = (0, 1) ez = (0.3, 0.4) x = d[0] * ex[0] + d[1] * ey[0] + d[2] * ez[0] y = d[0] * ex[1] + d[1] * ey[1] + d[2] * ez[1] return (x, y) def sred(p, q, k): a, b = k[p], k[q] return ((a[0] + b[0]) / 2, (a[1] + b[1]) / 2, (a[2] + b[2]) / 2) def lines(a, k, t): t.up() t.goto(k[a[0]]) t.down() for p in a: t.goto(k[p]) def lines_(a, k, t): t.up() t.goto(tran(k[a[0]])) t.down() for p in a: t.goto(tran(k[p])) t1 = tr.Pen() m = 150 e = (0.3 * m, 0.4 * m) # вектор AB f = (m, 0) # вектор AD h = (0, m) # вектор AA1 kub = {'A':(0,0),'B':(e[0],e[1]),'C':(e[0]+f[0],e[1]+f[1]),'D':(f[0],f[1])} # словарь из точек основания kub.update({'A1':(0+h[0],0+h[1]),'B1':(e[0]+h[0],e[1]+h[1]), 'C1':(e[0]+f[0]+h[0],e[1]+f[1]+h[1]),'D1':(f[0]+h[0],f[1]+h[1])}) # добавляем верхнее основание t1.up() # подняли перо и задали цвет t1.color('magenta') for p1 in kub: # обход и подпись вершин t1.goto(kub[p1]) t1.dot(5) t1.write(p1,font=("Courier", 16, "bold")) kub = {'A': (0, 0, 0), 'B': (0, 1, 0), 'C': (1, 1, 0), 'D': (1, 0, 0)} kub.update({'A1': (0, 0, 1), 'B1': (0, 1, 1), 'C1': (1, 1, 1), 'D1': (1, 0, 1)}) kub.update({'T1': sred('A', 'D', kub), 'T2': sred('A', 'B', kub), 'T3': sred('B', 'C', kub), 'T4': sred('C', 'D', kub), 'T6': sred('A1', 'D1', kub), 'T7': sred('A1', 'B1', kub), 'T8': sred('B1', 'C1', kub), 'T9': sred('C1', 'D1', kub), 'T5': sred('A', 'A1', kub), 'T11': sred('B', 'B1', kub), 'T10': sred('C', 'C1', kub), 'T12': sred('D', 'D1', kub), 'O1': sred('A', 'C', kub), 'O2': sred('A', 'B1', kub), 'O3': sred('A1', 'C1', kub), 'O4': sred('D', 'C1', kub), 'O5': sred('A', 'D1', kub), 'O6': sred('B', 'C1', kub), 'Q': sred('A', 'C1', kub)}) for dot in kub: kub[dot] = (kub[dot][0] * m, kub[dot][1] * m, kub[dot][2] * m) lines_(['A','B','C','D','A'], kub,t1) lines_(['A1','B1','C1','D1','A1'], kub,t1) lines_(['A','A1','B1','B'], kub,t1) lines_(['C','C1','D1','D'], kub,t1)
×
Чтобы оставить комментарий нужна авторизация
Печать