Moteur Balistique

image du projet

Le but de ce projet était de réaliser un moteur balistique en 3D, offrant la possibilité de lancer des cubes et autres formes géométriques. Ces objets subissent la gravité, la collision entre eux est également traitée. Ce projet a été développé en équipe de 5 en C++ avec OpenFrameworks. OpenFrameworks est une librairie permettant de dessiner des formes géométriques en 2D ou en 3D.

Nous sommes passé·es par 4 phases de développement. La première phase consistait en l'implémentation simple d'un lanceur de particules représentées en 2D, ces particules subissant les effets de la gravité. Au cours de la seconde phase, nous avons pu implémenter les collisions entre deux particules, et entre une particule et le sol ainsi que des forces à appliquer sur les collisions, comme une force de ressort. La troisième phase nous a permi de passer de la 2D à la 3D, ajoutant ainsi toute une dimension aux mouvements des objets soumis aux forces, mais également d'autres types d'objets comme des cubes ou des cylindres. Finalement, la quatrième et dernière phase était consacrée à la gestion des collisions dans un univers en 3D, les règles étant plus complexes qu'une simple collision avec des paticules en 2D.

Sur ce projet, je suis responsable du passage en 3D du moteur, à savoir passer toutes les fonctions gérant les forces et collisions de la 2D à la 3D. J'ai également créé les méthodes permettant de générer les règles de collision et leur résolution.