Début d'un moteur physique

Description

Et bien voila mon premier programme en OpenGL et mon premier post sur cppfrance :)
J'utilise glut pour gérer les fenêtres mais le programme a aussi besoin de glaux.dll

J'essaie de créer un moteur physique d'après les lois de la mécanique classique et avec mes petites connaissances de SUP.
Pour ceux qui comprendront, le moteur se base sur l'approximation d'Euler
(en gros: f(x+h) = f(x) + f'(x) * h = f(x) + (f''(x)*h) * h avec cela, on fait de belles choses ^_^)

C'est également mon premier programme utilisant à l'orienté objet, donc si je pouvais avoir vos remarques :) mis à part le faire que toutes les classes sont en accès public)
De plus si quelqu'un pouvait me dépanner et m'expliquer comment éviter ma bidouille ligne 293 de main.cpp. (Utilisation de glPushMatrix et glPopMatrix)

Avant de compiler, je vous conseille de lire le fichier d'instructions (c'est pas long).
En résumé, pensez à modifier la ligne 15 de main.cpp qui contient la fréquence de mon processeur (750Mhz) remplacer la valeur par la votre. (ATTENTION: la fréquence doit etre en Mhz).

Touches de commandes:
- flèches du clavier numérique
- rotation a la souris, en maintenant le bouton gauche appuyé.
- +/- règle l'écoulement du temps
- s => active ou désactive une sphère spéciale (juste pour visualisez les interactions physiques)
- PAGE_UP et PAGE_DOWN modifie la position selon l'axe z de cette dernière
- ESPACE replace les boules dans leur état initiale (ATTENTION la fonction est bugger, comprend pas encore bien pourquoi donc éviter de l'utiliser, regardez les commentaires dans la source elle même pour avoir des précisions)

Conclusion :


Mon prochain objectif est de gérer les ensembles de solides, par exemple deux sphères reliées entre elle par une tige indéformable. De plus, il faut que je fasse intervenir la masse des sphères. Les classes sont prêtes mais pas encore le programme ^^

Apparemment, il faut que je poste ici les bugs connus:
A part la barre d'ESPACE, je n'ai pas remarqué d'autres bugs particulier. Notez que si vous modifiez au hasard les valeurs initiales des forces et des particules dans la source vous pouvez obtenir des choses très rapidement délirantes, pas dans le sens abérantes, mais vous risquez d'être surpris. Notamment il peut arriver que des sphères dans des conditions particulières acquièrent énormement de vitesse, et traversent la paroi des murs. Théoriquement c'est impossible, le mur réprésente normalement un pic infini d'énergie potentielle, mais approximation d'Euler oblige...

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.