Courbe de bezier

0/5 (5 avis)

Vue 14 226 fois - Téléchargée 1 057 fois

Description

Comme suggerer dans les commentaires, j'ai rajouté les lignes avec un antialiasing basé sur l'agorithme de Xiaolin Wu
Pour le dessin tous est dans le fichier AntiAlias.py (la fonction point dessine le pixel)

j'utilise Python 3.3 avec PIL et matplotlib
PIL me sert pour l'afficher dans n'importe quel canvas dont celui de tkinter
matplotlib me sert juste de comparatif puisque cet librairy possede aussi un antialiasing

De plus on peut dessiner des cercles, des ellipses sans le "crénelage"

mail:ludwig.cron@gmail.com

Source / Exemple :


  
http://fr.wikipedia.org/wiki/Algorithme_de_De_Casteljau  
http://freespace.virgin.net/hugo.elias/graphics/x_wuline.htm 

Conclusion :


Version amélioré, POO, Antiliasing, Ellipse dans Tkinter

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_mecrosoft Messages postés 7 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 18 février 2015
Modifié par cs_mecrosoft le 13/08/2013 à 15:44
J'ai ajouter les cercles et les ellipses, toujours une question d'octant... mais plus ou moins caché
cs_mecrosoft Messages postés 7 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 18 février 2015
13 août 2013 à 12:20
J'ai modifier le code source afin d'ajouter l'antialiasing comme tu me l'avais suggérer. Petit à petit d'ajouterai d'autre formes sans crénelage(pour l'instant il n'y a que les lignes)

Pour PIL sur python 3.3 (Windows) ce qui est mon cas http://www.lfd.uci.edu/~gohlke/pythonlibs/
ou directement le github
https://github.com/python-imaging/Pillow

sinon directement modifier la fonction point du fichier AntiAlias.py qui dessine le pixel

Merci de ta suggestion
cs_mecrosoft Messages postés 7 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 18 février 2015
29 sept. 2011 à 22:30
l'algorithme de michener est un algorithme améliorer de bershaim ( utilisé dans ce que l'on appel l’antialiasing)

je te remercie d'y avoir penser! cela permettrai de créer des fonctions de dessin sur tkinter avec antialising et donc l'utiliser. Mais l'algorithme de michener est une "base" pour le dessin, comme ici ou j'utilise l'algorithme de tkinter pour dessiner des lignes.

la fonction create_arc je l'ai utilisé seulement dans la fonction drawControl() pour afficher les points eponymes. si tu veut tu peut ne pas les afficher et modifier ta copie du code a ta guise.

j’espère avoir répondu a tes questions.

Cela fait plaisir de pouvoir partager ses connaissances et de se remettre en questions. (défi intellectuel du soir!)
grephit Messages postés 40 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 16 octobre 2012
29 sept. 2011 à 20:25
Bonjour,

je l'ai essayer , et une chose mais rester perplexe , la courbe n'est pas ouverte , est il possible d'ajuster un courbe créer par une algorithmes et de la placer , sans le create-arc
j'ai consulter un site
foad.refer.org/IMG/pdf/D226_Chapitre-2.pdf


il desiganit l'algorithme de Michener pour l'octant 1 et
pour un cercle de centre (0,0) et de rayon R
début
// Initialisation
x R ; y 0 ;
TantQue x>= y faire
Dessiner(x,y)
y = y + 1 ;
d1 = |R*R-(x*x+y*y)| ;
d2 = |R*R-((x-1)*(x-1)+y*y)| ;
Si d1 > d2 alors
x = x - 1 ;
FinSi

pense tu qu'il possible de l'accoler à ton code ?
grephit Messages postés 40 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 16 octobre 2012
25 août 2011 à 14:49
Pas mal vraiment épater, super je dirais bravo tous simplement et merci

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.