top of page

Développement de trajectoires dans une interface 3D

Le projet :

Ce projet consistait à modéliser des trajectoires représentées par des courbes ATPH (courbes Algébriques Trigonométriques à Hodographe Pythagorien) dans un environnement en trois dimensions et de pouvoir faire varier leurs paramètres en temps réel.

Ces courbes ont pour objectif de modéliser la trajectoire d’une caméra afin d'avoir le meilleur rendu possible pour réaliser du stop motion.

La partie mathématique du projet nous a été donnée dans des articles de thèses, ainsi qu'un exemple de code statique sous Matlab.

Nous avons réalisé ce projet en binôme sur un période de 6 semaines dans un environnement C++.

Description :

Notre programme est composé de deux fenêtres. La première est une console qui permet de rentrer les informations initiales et de visualiser les paramètres de la courbe. La seconde est l'affichage de la courbe en trois dimensions.

Il faut savoir que les courbes à représenter sont caractérisées par deux points, leur dérivé et trois paramètres appelés : alpha, phi0 et phi2. Le reste de la courbe et les quatre autres points caractéristiques se calculent via des formules.

Au lancement du programme, l'utilisateur est invité à rentrer les coordonnées des points et leur dérivé dans la console. Par la suite, toutes les informations relatives à la courbe sont affichées dans cette fenêtre.

La deuxième fenêtre affiche la courbe et les trois axes x, y et z ainsi que trois curseurs correspondant respectivement à alpha, phi0 et phi2. L'utilisateur peut alors changer ces valeurs et voir en temps réel les changements sur la courbe. De plus, il est possible de tourner la caméra grâce à la souris et de zoomer/dézoomer grâce aux flèches directionnelles du clavier.

Enfin, il est possible de sélectionner un des points aux extrémités de la courbe pour le déplacer sur un plan orthogonal à la direction de la caméra.  

ATPH_init.png

initialisation des valeurs

ATPH_values.png

affichage des paramètres

ATPH_code_edited.jpg

Outils utilisés : 

Pour modéliser la courbe en trois dimensions, nous avons utilisé Visual Studio pour coder en C++ ainsi que les librairies OpenGL, la SDL et GLEW notamment pour l'affichage de la fenêtre.

exemple de code pour déplacer un point

bottom of page