PICKING OPENGL(GLUT) / INTERPOLATION BÉZIER,B-SPLINE,CATMULROM

dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 - 13 août 2005 à 19:31
nahiene Messages postés 3 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 8 décembre 2008 - 4 déc. 2008 à 17:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33230-picking-opengl-glut-interpolation-bezier-b-spline-catmulrom

nahiene Messages postés 3 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 8 décembre 2008
4 déc. 2008 à 17:28
J'ai converti ce code en c++ vers le python. Ça permet plus de lisibilité et de mettre en valeur les différences dans l'opengl entre python et c++:

http://www.pythonfrance.com/codes/PICKING-OPENGL-GLUT-INTERPOLATION-BEZIER-SPLINE-CATMULROM-VERSION_48634.aspx
sajaris Messages postés 63 Date d'inscription jeudi 7 août 2003 Statut Membre Dernière intervention 1 août 2008
29 avril 2006 à 19:18
je trouve le code bien mais assez complexe pour moi. j'aimerais te demander un code simple si possible pour le picking et le deplacement d'un quad, un code tres simple. j'ai deja dessiner mon quad, mais les tutos que je trouve ca et la sont assez complexe pour moi, lorsque j'essai ca marche pas vraiment. alors merci de m'aider en aide.
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
3 oct. 2005 à 09:14
L'algorithme de Casteljau me semblait obscure, j'avais pas envie de compliquer inutilement.
monsieur_matou Messages postés 1 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 31 août 2005
31 août 2005 à 15:50
hello,

bravo et merci pour ton fichier. C'est propre et agréable à lire, je vais tout de suite essayer de m'en servir pour inférer une implémentation pour des patchs triangulaires en dimension 3...

Oh, une question tout de meme : pourquoi avoir pris la formule analytique de bernstein pour la construction des beziers plutot que l'algo incrémental de De Casteljau ?
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
13 août 2005 à 23:16
Car les pondérations sont différentes. Bézier utilise les polynomes de Berstein, alors que Catmulrom n'utilise meme pas le principe de barycentre.
La technique de construction est différente, donc forcément, les courbes sont différentes.
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
13 août 2005 à 23:01
mais pourquoi sont elles si différentes...?
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
13 août 2005 à 20:01
Toutes les courbes utilisent bien sur les points dans un ordre précis, l'ordre indiqué par les numéros :)

Pour le détail, du tracer, les aides sur google sont abondantes, sauf pour Catmulrom. j'ai en effet juste réussi a trouver une écriture matricielle que j'ai précisé en commentaire. D'ailleurs si quelqu'un connait une expression matricielle ou pas des beta-splines, je suis preneur, j'en ai bien une, mais il doit y avoir une erreur.

Ceci dit, souvent c'est une histoire de pondération (de barycentre) ou les masses associées a chaque point est une fonction d'une variable.
Par exemple Bézier:
P(u) = somme( Mi(u) Pi , i de 1 à N) avec "u" entre 0 et 1 et Mi la masse du i ème point et Pi le i ème point. Enfin tu vois le genre.
Les tangentes pour une courbe de Bézier sont connues facilement juste au début et à la fin.

Catmulrom est très intéressant pour ca. Puisque la tangeante au point Pi est suivant la direction (Pi+1, Pi-1). En gros tu traces la droite liant les deux points voisins, ca te donne la direction de la tangeante.

Aller ++
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
13 août 2005 à 19:31
salut!;)

Ca doit venir de moi mais j'ai pas du tout compris comment tu traces toutes ces, dans quel ordre tu prends les points pour les tracer, pourquoi les differentes courbes sont differentes, pourquoi des tangentes seulement aux bout de la courbes ....

Par contre au niveau du picking chapeau! C'est exactement ce qu'il me faudra pour un projet futur! :)
Rejoignez-nous