Dessin d'art optique avec deformation surpython

Fermé
lildeal Messages postés 1 Date d'inscription dimanche 27 octobre 2019 Statut Membre Dernière intervention 27 octobre 2019 - 27 oct. 2019 à 01:31
 Utilisateur anonyme - 10 nov. 2019 à 18:52


"""
projet de fin de formation du MOOC apprendre a programmer avec python
fait par Engelbert Modo
le 26 octobre 2019
le programme produit des tableaux d'art optique representé par des figures geometrique avec differentes
couleurs et deformations elles sera faite
"""

import turtle
from math import cos, sin, pi
import deformation
def hexagone(coordonnee, longueur, col, centre, rayon):
turtle.speed(0)
turtle.up()
x=coordonnee[0] #coordonnee d'origine du premier cube corespondant au coin inferieur gauche
y=coordonnee[1]#coin superieur droite de la fenetre du dessin
p=(x, y, 0)
turtle.goto(x,y)
turtle.down()
#dessin de la premiere face du cube
turtle.color(col[0])
turtle.begin_fill()
x=x+longueur*(cos(0))
y=y+longueur*(sin(0))
p=(x,y,0)
pprim=deformation(p, centre, rayon)
turtle.goto(pprim[0], pprim[1])
x=x+longueur*(cos(-1*pi/3))
y=y+longueur*(cos(-1*pi/3))
p=(x, y,0)
pprim=deformation(p, centre, rayon)
turtle.goto(pprim[0], pprim[1])
x=x+longueur*(cos(-1*pi))
y=y+longueur*(sin(-1*pi))
p=(x, y, 0)
pprim=deformation(p, centre, rayon)
turtle.goto(pprim[0], pprim[1])
x=x+longueur*(cos(-120*pi/180))
y=y+longueur*(sin(120*pi/180))
p=(x, y, 0)
pprim=(deformation(p, centre, rayon))
turtle.goto(pprim[0], pprim[1])
turtle.end_fill()
turtle.mainloop()
# dessin de la deuxieme face du cube
turtle.color(col[1])
turtle.begin_fill()
x=x+longueur*(cos(-60*pi/180))
y=y+longueur*(sin(-60*pi/180))
p=(x, y, 0)
pprim=deformation(p, centre, rayon)
turtle.goto(pprim[0], pprim[1])
x=x+longueur*(cos(-120*pi/180))
y=y+longueur*((sin-120*pi/180))
p=(x, y, 0)
pprim=deformation(p, centre, rayon)
turtle.goto(pprim[0], pprim[1])
x=x+longueur*(cos(-240*pi/180))
y=y+longueur*(sin(-240*pi/180))
p=(x, y, 0)
pprim=deformation(p, centre, rayon)
turtle.goto(pprim[0], pprim[1])
x=x+longueur*(cos(60*pi/180))
y=y+longueur*(sin(60*pi/180))
p=(x, y, 0)
pprim=deformation(p, centre, rayon)
turtle.goto(pprim[0], pprim[1])
turtle.end_fill()
# dessin de la troisieme face du cube
turtle.color(col[2])
turtle.down()
turtle.begin_fill()
x=x+longueur*(cos(0*pi/180))
y=y+longueur*(sin(0*pi/180))
p=(x, y, 0)
pprim=deformation(p, centre, rayon)
turtle.goto(pprim[0], pprim[1])
x=x+longueur*(cos(-120*pi/180))
y=y+longueur*(sin(-120*pi/180))
p=(x, y, 0)
pprim=deformation(p, centre, rayon)
turtle.goto(pprim[0], pprim[1])
x=x+longueur*(cos(-180*pi/180))
y=y+longueur*(sin(-180*pi/180))
p=(x, y, 0)
pprim=deformation(p, centre, rayon)
turtle.goto(pprim[0], pprim[1])
x=x+longueur*(cos(60*pi/180))
y=y+longueur*(sin(60*pi/180))
p=(x, y, 0)
pprim=deformation(p, centre, rayon)
turtle.goto(pprim[0], pprim[1])
turtle.end_fill()
turtle.mainloop()
#fonction pavage qui dessine des paves du cube
def pavage(inf_gauche, sup_droit, longueur, col, centre, rayon):
n=1 #cnombre de ligne du polygone
angle=pi/3
sup_droit1=sup_droit #qui est la nouvelle position du polygone apres chaque ligne
pas=3*longueur #espace entre deux polygone
new_inf_gauche=int(inf_gauche-longueur*(1+cos(angle)))# position de depart pour les lignes paire
new_sup_droit=int(sup_droit+longueur*(1+cos(angle))) #positions finale
while(sup_droit1>inf_gauche):
if(n%2!=0):
for x in range(inf_gauche, sup_droit, pas):
coordonnee=(x, sup_droit1)
print(coordonnee)
hexagone(coordonnee, longueur, col, centre, rayon)
n+=1
else:
for x in range(new_inf_gauche, new_sup_droit, pas):
coordonnee=(x, sup_droit1)
hexagone(coordonnee, longueur, col, centre, rayon)
n+=1
sup_droit1=sup_droit1-longueur*sin(angle)
turtle.done()

pavage(inf_gauche, sup_droit, longueur, col, centre, rayon)

inf_gauche=int(input())
sup_droit=int(input())
longueur=int(input())
col1='red'
col2='blue'
col3='black'
col=(col1, col2, col3)
centre1=int(input())
centre2=int(input())
centre3=int(input())
centre=(centre1, centre2, centre3)
rayon=int(input())




s'il vous plait besoin d'aide c'est pour mon projet de fin de formation a remettre lundi

1 réponse

Utilisateur anonyme
Modifié le 10 nov. 2019 à 18:55
bonsoir, peux tu mettre ton code python dans une balise <code> comme ça il y aura les tabulations et c'est quoi dans ton code IMPORT deformation et je n'ai pas compris ton problème !
0