Index de l'article

Découpage du cercle en x arcs de cercle

Objectif

Découper un cercle en x parties égales. npt représente le nombre de points, ici je prends 11 parties. Comme la logique de découpe est reproductible j'ai l'idée d'utiliser la boucle bornée for ;)!

Script

from turtle import *

npt=11

penup()
goto(0,-100)
pendown()

for i in range(npt):
    dot()
    print(position())
    circle(100,360/npt)

penup()
home()

Analyse

  • ntp => nombre de points = nombre de fragments d'arc = 11 dans cet exemple
  • for i in range (npt) => création de npt entier allant de 0 à 10 (npt-1=11-1=10)
  • dot() => crée un point à la position de la tortue
  • position() => relève les coordonnées (x,y) de la position de la tortue
  • print() => affiche dans shell => utile pour voir ce que donne la commande position()
  • circle(100,360/npt) => crée un arc de cercle de rayon 100 et de longueur d'arc 360/11 ième dans cet exemple
    (si vous utilisez le mode débug de Thonny, vous noterez que circle crée des arcs de 32.72° en partant du dernier point placé - ce qui est cool)

Je dispose de la base qui me permettra de construire la suite du script car je visualise les segments d'arc et j'ai les coordonnées des points. Je veux maintenant afficher les n° des points de 0 à 11 sur le cercle et surtout je veux enregistrer les coordonnées quelque part. Pour l'enregistrement je pense soit à une liste, soit à un dictionnaire (je pense que les deux fonctionneront!) 

A ce niveau de maîtrise, si je vous êtes curieux vous pouvez aller voir:

et retourner un peu en enfance ;)