Courbe de bezier

Soyez le premier à donner votre avis sur cette source.

Vue 9 798 fois - Téléchargée 808 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

Messages postés
7
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
18 février 2015

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!)
Messages postés
40
Date d'inscription
mercredi 14 mai 2008
Statut
Membre
Dernière intervention
16 octobre 2012

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 ?
Messages postés
40
Date d'inscription
mercredi 14 mai 2008
Statut
Membre
Dernière intervention
16 octobre 2012

Pas mal vraiment épater, super je dirais bravo tous simplement et merci
Messages postés
7
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
18 février 2015
>
Messages postés
40
Date d'inscription
mercredi 14 mai 2008
Statut
Membre
Dernière intervention
16 octobre 2012

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
Messages postés
7
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
18 février 2015
>
Messages postés
7
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
18 février 2015

J'ai ajouter les cercles et les ellipses, toujours une question d'octant... mais plus ou moins caché

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.