rotation d’un bateau
from math import * from kandinsky import * from random import * from ion import * from time import * def draw_line(x1,y1,x2,y2,t,c): m,a1,b1,a2,b2=0,int(x1),int(y1),int(x2),int(y2) if (x2-x1)**2<(y2-y1)**2: m,a1,a2,b1,b2=1,b1,b2,a1,a2 if min(a1,a2)!=a1:a1,b1,a2,b2=a2,b2,a1,b1 for a in range(a1,a2+1): b=int(b1+(b2-b1)*(a-a1)/((a2-a1)or 1)) fill_rect(((a,b)[m])-trunc(t/2),((b,a)[m])-trunc(t/2),t,t,c) point=[[0,7],[0,6],[0,0],[pi/2,7],[pi*1.5,7],[pi*1.5,4],[pi/2,5],[(pi/2)+(pi/8),6],[-((pi/2)+(pi/8)),6]] def defpoints(px,py,ang,t,points): list=[] for i in points: x=px-(sin(i[0]+ang)*(i[1]*t)) y=py-(cos(i[0]+ang)*(i[1]*t)) list+=[(trunc(x),trunc(y))] return list def draw_navire(d,t,c): draw_line(d[0][0],d[0][1],d[2][0],d[2][1],t,c) draw_line(d[3][0],d[3][1],d[4][0],d[4][1],t,c) draw_line(d[4][0],d[4][1],d[8][0],d[8][1],t,c) draw_line(d[3][0],d[3][1],d[7][0],d[7][1],t,c) draw_line(d[8][0],d[8][1],d[7][0],d[7][1],t,c) draw_line(d[1][0],d[1][1],d[6][0],d[6][1],t,c) draw_line(d[0][0],d[0][1],d[5][0],d[5][1],t,c) def rotate(): for i in range(0,(pi*2)*5): fill_rect(0,0,320,222,(255,)*3) draw_navire(defpoints(160,111,(i/5),10,point),3,(0,0,255)) sleep(0.2) rotate()