Войти
или
Зарегистрироваться
Маркетплейс
Курсы
Учебник
Учебник 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 dot_otnoshenie(A,B,K): xyz = [] for i in range(len(A)): xyz.append((A[i]*K[1] + B[i]*K[0])/(K[0]+K[1])) return xyz def punctir(A3,B3,t,dl=0): A,B = tran(A3),tran(B3) t.up(); t.goto(A) if dl==0: t.down() t.goto(B) return n = int((((B[0]-A[0])**2+(B[1]-A[1])**2)**0.5)/dl) if n%2 == 0: n+=1; for i in range(1,n+1): if i%2 == 0: t.down() mn = [i,n-i] X = dot_otnoshenie(A,B,mn) t.goto(X) t.up() t.dot(1) def lines_(a,k,t): '''t.up() t.goto(tran(k[a[0]])) t.down()''' for i in range(1,len(a)) : punctir(k[a[i]],k[a[i-1]],t) '''t.goto(tran(k[p])) t.dot(5) t.write(p,font=("Courier", 16, "bold"))''' def dots(a,k,t): t.up() for i in a: t.goto(tran(k[i])) t.dot(5) t.write(i,font=("Courier", 16, "bold")) t1 = tr.Pen() t1.speed(10) m = 100 stor = [1,2,1] kub = { 'A': (0, 0, 0), 'B' : (0,0,stor[2]),'C': (stor[0],0,stor[2]),'D' : (stor[0],0,0)} kub.update({ 'A1': (0, stor[1], 0), 'B1' : (0,stor[1],stor[2]),'C1': (stor[0],stor[1],stor[2]),'D1' : (stor[0],stor[1],0)}) for dot in kub : kub[dot] = (kub[dot][0]*m,kub[dot][1]*m,kub[dot][2]*m) kub['E'] = dot_otnoshenie(kub['A1'],kub['B'],(1,4)) kub['F'] = dot_otnoshenie(kub['A'],kub['D1'],(2,3)) kub['G'] = dot_otnoshenie(kub['D'],kub['C1'],(1,1)) dots(['A','B','C','D','A1','B1','C1','D1'],kub,t1) lines_(['A','A1','D1','D','A'], kub,t1) lines_(['A1','B1','C1','D1'], kub,t1) lines_(['D1','C1','C','D'], kub,t1) punctir(kub['A'],kub['B'],t1,10) t1.dot(5) t1.write('B',font=("Courier", 16, "bold")) punctir(kub['B1'],kub['B'],t1,10) punctir(kub['B'],kub['C'],t1,10) t1.color('red') lines_(['E','F','G','E'], kub, t1) tr.done()
×
Чтобы оставить комментарий нужна авторизация
Печать