Picking opengl(glut) / interpolation bézier,b-spline,catmulrom

Description

Voici un programme initialement destiné à comprendre le fonctionnement du Picking standard d'openGL, car ce n'est pas une tâche facile, meme avec le "red-book" à coté de soi. J'ai essayé de respecter la façon dont les logiciels aujourd'hui utilise la sélection. C'est à dire:
- Cliquer sur un point pour le sélectionner et maintenir cliqué pour le déplacer
- Maintenir shift appuyé pour enlever ou ajouter un point à une sélection.
- Maintenir cliqué pour faire une sélection par glissement.
- Appuyer sur shift et maintenir cliqué, pour ajouter une sélection par glissement à une sélection deja existante.
- Cliquer sur un point puis le déplacer provoque le déplacement de toute la sélection.
- Maintenir ctrl appuyé puis cliquer n'importe ou et maintenir cliqué, pour déplacer l'ensemble de la sélection.

Ce programme montre également 3 méthodes d'approximation et d'interpolation. Ce sont des méthodes pour obtenir des courbes définies mathématiquement à partir d'un nuage de points:
- Courbe de Bézier (approximation)
- Courbe B-spline uniforme (approximation)
- Courbe Catmul-rom (interpolation)

Normalement, le programme se compile sous linux ou windows. J'utilise Glut pour gérer la fenetre. J'ai essayé de commenter abondamment la partie du programme qui concerne le picking openGL.

Sous linux, je compile avec la commande suivante:
g++ curve.cpp -o curve -L/usr/X11R6/lib -lX11 -lGL -lglut -lGLU

PS: le curseur n'apparait pas sur la screen.
La screen montre une courbe B-spline avec un point triple (reconnaissable).

Conclusion :


Le menu est accessible par le bouton droit de la souris.

Codes Sources

A voir également

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.