Synthèse d'Image - TD2 : Courbes: B-Splines, Béziers, ...
Introduction
Dans ce TD, nous allons apprendre à tracer les courbes vues en cours. Pour ce faire, un squelette de code vous est fourni.Taches à réaliser
B-Splines
Vous devez programmer les courbes de type B-Splines dont la formule est:Les courbes B_Splines nécessitent au moins 4 points de contrôles afin d'être tracer.
Béziers
Vous devez programmer les courbes de type Bézier dont la formule est:Les courbes Béziers nécessitent au moins 4 points de contrôles afin d'être tracer.
Subdivision
Vous devez programmer une subdivision des points de contrôles. Ce sont les plus difficiles à implémenter, puisqu'elles n'ont pas d'équations précises.Pour ce TD, vous programmerez n'importe quelles subdivisions vu en cours. Effectuez seulement 4 étapes de subdivisions.
Voici un exemple de subdivisions efficaces:
Déplacement des points de contrôles
La dernière étape à programmer pour ce TD est le déplacement des points de contrôles. Pour ce faire, vous devez tout d'abord affecter à la touche 'd' un boolean de mode: soit en mode création de point, soit en mode déplacement de point. Modifiez la fonction keyboard en conséquence.Modifier maintenant la fonction mouse pour qu'elle prenne en compte ce boolean. En mode déplacement, elle devra chercher le point le plus proche du pointeur, et changer la couleur de ce point.
Enfin, nous allons créer une nouvelle fonction: motion(int x, int y) pour le déplacement. Il devra être affecté dans le main, en dessous de glutMouseFunc, par glutMotionFunc.