Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tracer un pourcentage de cercle

    30 décembre 2016 à 11:38:44

    Bonjour tout le monde ! 

    J'ai créer un petit algorithme permettant de créer une image sur laquelle je trace une portion de cercle: 

    from PIL.Image import *
    from math import *
    
    img = new('RGBA',(200,200))
    (l,h) = img.size
    p = 100
    r = 90
    
    for a in range(90,int(90-(p*3.6)),-1):
        x = int((l//2)+(r*cos(radians(a))))
        y = int((h//2)-(r*sin(radians(a))))
        print(x,',',y)
        Image.putpixel(img,(x,y),(29,38,222))
    img.save('test.png', 'PNG')
    

    Le problème est que pillow n'acceptant pas de float en (x,y), je me retrouve avec un cercle pixelisé (normal me direz vous), ce qui est loin d'être esthétique...
    J'aimerais savoir si il existe une solution pour remédier à ce problème, ou si il existe une manière différente pour obtenir ce résultat.

    Image obtenu pour 100% d'un cercle:

    Merci d'avance et bonne fêtes à vous !

    -
    Edité par xSolaz 30 décembre 2016 à 12:20:55

    • Partager sur Facebook
    • Partager sur Twitter
      30 décembre 2016 à 15:16:14

      Salut. Il existe des algorithmes pour tracer un cercle par exemple celui de Bresenham.

      Voila le résultat que j'ai obtenu :

      • Partager sur Facebook
      • Partager sur Twitter
        30 décembre 2016 à 17:18:46

        Merci pour vos réponses, je vais aller voir ça de plus près ! En espérant pouvoir le modifier pour pouvoir tracer qu'une certaine portion de ce cercle.

        Je posterais le code final, sait-on jamais si quelqu'un cherche à faire la même chose  

        • Partager sur Facebook
        • Partager sur Twitter

        Tracer un pourcentage de cercle

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown