Python Tortue: Dessiner des cercles concentriques à l'aide de cercle() la méthode
Je montrais un petit-fils motifs dessinés avec Python Tortue module,
et il a demandé à voir des cercles concentriques.
J'ai pensé qu'il serait plus rapide d'utiliser la tortue cercle()
pour les dessiner
que d'écrire mon propre code pour générer un cercle. Ha! Je suis coincé.
Je vois que le cercle de produit commence sa circonférence à la tortue
emplacement actuel et de sa direction de dessin dépend de la tortue actuelle
la direction du mouvement, mais je ne peux pas comprendre ce que je dois faire pour obtenir
des cercles concentriques.
Je ne suis pas à ce point intéressés à un moyen efficace de produire de l'
des cercles concentriques: je veux voir ce que j'ai à faire pour obtenir
ce façon de travailler:
def turtle_pos(art,posxy,lift):
if lift:
art.penup()
art.setposition(posxy)
art.pendown()
def drawit(tshape,tcolor,pen_color,pen_thick,scolor,radius,mv):
window=turtle.Screen() #Request a screen
window.bgcolor(scolor) #Set its color
#...code that defines the turtle trl
for j in range(1,11):
turtle_pos(trl,[trl.xcor()+mv,trl.ycor()-mv],1)
trl.circle(j*radius)
drawit("turtle","purple","green",4,"black",20,30)
- Pourriez-vous poster votre code actuel?
- def turtle_pos(art,posxy,ascenseur): si ascenseur: art.penup() art.setposition(posxy) art.pendown() def drawit(tshape,tcolor,pen_color,pen_thick,scolor,rayon,mv): fenêtre=tortue.Écran() #Demande une fenêtre de l'écran.bgcolor(scolor) #Définir sa couleur #...code qui définit la tortue trl for j in range(1,11): turtle_pos(trl,[trl.xcor()+mv,trl.ycor()-mv],1) trl.le cercle(j*rayon) drawit("la tortue","violet","vert",4,"noir",20,30) -- désolé, je ne sais pas comment faire pour le formater.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire comme ceci:
Qui crée l'image ci-dessous:
Fondamentalement, il déplace la tortue en bas d'un rayon de longueur afin de garder le point central de tous les cercles dans le même endroit.
À partir de la documentation:
Donc où la tortue est lorsque vous commencez à dessiner un cercle, le centre de ce cercle est à une certaine distance de la droite. Après chaque cercle, il suffit de déplacer à gauche ou à droite d'un certain nombre de pixels et dessinez un autre cercle dont le rayon est adapté à la distance de la tortue déplacé. Par exemple, si vous dessinez un cercle avec un rayon de 50 pixels, puis aller à droite 10 pixels, vous dessinez un autre cercle avec un rayon de 40 ans, et les deux cercles doivent être concentriques.
À l'adresse de l'OP de la question de la modification de leur code d'origine pour le faire fonctionner est trivial:
devient:
Le code complet avec le correctif ci-dessus et quelques changements de style de:
Donc maintenant je vous donne le code exact qui peut dessiner des cercles concentriques.