septembre 12th, 2022
Commentaires fermés sur Minecraft 3D heightmap images in C++
Un musée virtuel contenant des créations 3D dans un environnement Minecraft (serveur Minetest et le plugin mod_pycraft). Ces œuvres ont été réalisées à l’aide de programmes C++ chargés de convertir de simples images en volumes 3D avec la technique des « heightmaps ».
mai 17th, 2019
Commentaires fermés sur Challenges robotiques C++
Comme tous les ans, les étudiants de SNIR1 terminent le module de cours C++ par des challenges robotiques. Chaque équipe dispose d’un robot, d’un environnement de développement croisé sous Linux Ubuntu et bien entendu de ses connaissances et compétences en programmtion C++.
Voici un aperçu en vidéo de ces challenges :
mars 31st, 2015
Commentaires fermés sur Challenges robotique LEGO EV3 C++
Ce mini-projet a pour objectif d’aborder les principes de la robotique, de mettre en œuvre des capteurs et des actionneurs, d’appréhender un environnement de développement croisé et de programmer le robot en langage C++ pour lui faire réaliser une tâche complexe.
Chaque équipe composée de 2 ou 3 étudiants prépare son robot pour les 3 challenges proposés :
course autour d’un anneau
ramassage d’objets
combat de sumos
A la fin toutes les équipes s’affrontent lors d’un championnat. Cette année c’est l’équipe « Terminator » composée de Florian et Johan qui remporte la compétition.
Il s’agit d’un système d’aide au pilotage de planeur pour des personnes non voyantes. Il offrira un guidage sonore à l’élève pilote aveugle. L’information sonore est émise en fonction de la position du planeur par rapport à une trajectoire à suivre, ainsi qu’en fonction des mouvements du planeur.
3 versions :
une version pour les smartphone android
une version sur PDA avec .NET
une version pour PC portables avec un GPS et une Wiimote
Réalisation d’un jeu de pétanque en 3D avec la wiimote. Les étudiants utilisent les librairie Ogre3D pour dessiner l’environnement de jeu, BulletSDK pour la simulation physique, Fmod pour le son et Wiiuse pour gérer la wiimote.
Ce mini-projet est réalisé en parallèle des cours/tp de C++. Cela permet d’intégrer les différents concepts étudiés en C++ (classes, encapsulation, héritage, polymorphisme, STL, exceptions, …) dans le mini-projet.
Analyse et modélisation UML avec StarUml
Gestion de la wiimote
Importation des modèles 3D au format .mesh
Conception en C++ des différentes classes du jeu (Eclipse)
Moteur physique BulletSDK
Installation (InnoSetup)
Mise en place d’un plateforme de travail collaborative (Mercurial, Redmine, Doxygen, …)
Réalisation d’un jeu en 3D et en réseau. Les étudiants utilisent la librairie OpenGL pour dessiner le terrain, les routes, les voitures et assurent la mise en réseau du jeu en utilisant les sockets UDP multicast et le multi-threading. Un moteur physique simule le comportement de la voiture (sous-virage, sur-virage, glissement, inertie, …)
Ce mini-projet est réalisé en parallèle des cours/tp de C++. Cela permet d’intégrer les différents concepts étudiés en C++ (classes, encapsulation, héritage, polymorphisme, STL, exceptions, …) dans le mini-projet.
Analyse et modélisation UML
Utilisation d’un AGL (StarUml)
Création d’un avatar graphique en OpenGL
Conception en C++ des différentes classes du jeu (Eclipse)
Tests (cpptest, sourceMonitor) et optimisations (gprof)
Installation (InnoSetup)
Mise en place d’un plateforme de travail collaborative (SVN, Trac, Subclipse, Doxygen, …)
Screenshot du résultat final :
Vous pouvez télécharger le programme d’installation (17,1Mo) : setupTrackiris.exe
Réalisation d’un jeu de dames simplifié, en langage C++. Le jeu permet de jouer contre l’ordinateur (intelligence artificielle) et à distance en réseau. Cela permet d’étudier et de mettre en pratique l’algorithmie et la programmation en langage C++ avec Code::Blocks.
Algorithmie
Développement en langage C++ avec Code::Blocks
Modélisation UML (diagrammes de cas d’utilisation, classes, séquence)
Intelligence artificielle (min-max, automate à états)
Réseau (sockets)
Documentation automatique avec Doxygen
Organisation d’un tournoi entre chaque programme
Ihm du programme (en mode texte) :
Ce mini-projet est également pour les étudiants de s’initier à la modélisation UML au travers des prinicpaux diagrammes (cas d’utilisation, classes, séquence).
Ce mini-projet est également l’occasion pour les étudiants de prendre consicence de l’importance de la qualité logicielle (conventation de codage), de la documentation de son travail (commentaires, doxygen), …