Yin-Yang en utilisant uniquement la méthode
.circle()
.
Attention au tracé des cercles et des demi-cercles
qui est dans le sens direct par défaut. Il faut
donner un angle négatif pour un tracé dans le sens
indirect...
##----- Importation des Modules -----##
from turtle import *
##----- Définition des Fonctions -----##
def cercle(t, distance, rayon, couleur):
t.setheading(90)
t.up()
t.forward(distance)
t.setheading(0)
t.color(couleur)
t.down()
t.begin_fill()
t.circle(rayon)
t.end_fill()
t.setheading(90)
t.up()
t.forward(2*rayon+distance)
t.down()
##----- Définition des Variables -----##
stylo = Pen()
colormode(255)
stylo.speed(0)
rayon = 100
##----- Tracé du disque jaune en fond d'image -----##
stylo.color(254, 211, 11)
stylo.begin_fill()
stylo.circle(rayon)
stylo.end_fill()
##----- Tracé du yin bleu -----##
stylo.color(34, 26, 209)
stylo.begin_fill()
stylo.circle(rayon//2, 180)
stylo.left(180) # Changement d'orientation pour tracer les demi-cecle en sens indirect
stylo.circle(rayon//2, -180)
stylo.circle(rayon, -180)
stylo.end_fill()
##----- Tracé des disques -----##
cercle(stylo, 30, 20, (34, 26, 209))
cercle(stylo, 30, 20, (254, 211, 11))
stylo.hideturtle()
exitonclick()
Yin-Yang en utilisant uniquement la méthode
.dot()
.
##----- Importation des Modules -----##
from turtle import *
from math import sqrt
##----- Définition des Fonctions -----##
def disque(t, diametre, x, y):
t.up()
t.goto(x, y)
t.down()
t.dot(diametre)
##----- Définition des Variables -----##
stylo = Pen()
colormode(255)
stylo.speed(0)
rayon = 100
##----- Tracé du disque jaune en fond d'image -----##
stylo.color(254, 211, 11)
disque(stylo, 2*rayon, 0, 0)
##----- Tracé du yin bleu - On suit l'équation du demi-cercle de rayon : rayon/2-----##
stylo.color(34, 26, 209)
for x in range(int(rayon/2)+1):
disque(stylo, rayon, x, sqrt((rayon/2)**2-x**2))
disque(stylo, rayon, x, -sqrt((rayon/2)**2-x**2))
stylo.color(254, 211, 11)
disque(stylo, rayon, 0, -rayon/2)
##----- Tracé des disques -----##
disque(stylo, rayon*2/5, 0, rayon/2)
stylo.color(34, 26, 209)
disque(stylo, rayon*2/5, 0, -rayon/2)
stylo.hideturtle()
exitonclick()