FlorianRossignol.github.io

View on GitHub

Blogpost Technique, Création d’un moteur physique

Introduction

Pour la fin de ma première année de formation je devais rendre en fin d’année, un moteur physique fonctionnel.

Défi et Contrainte

Pour le moteur physique j’avais plusieurs défis à régler.

1 / pouvoir rattrapper mes lacunes en math et physique

Contrairement à certains je partais avec aucune notion de physique et peu de bagage en Math, car suite à mon parcours je n’ai jamais vu de physique de ma vie.

J’ai dû apprendre beaucoup de choses pendant le module //en plus de me remettre au c++ j’ai mis des moyens à l’aide d’amis pour de l’aide dans les deux branches et ai pu réussir à mieux comprendre le tout

2 / pouvoir tout implémenter

Bien que les cours de ce troisième module étaient très intéressants, le manque de communication par rapport au rendu final était très flou voir inexistant, donc j’ai dû redoubler d’effort et m’organiser correctement pour rendre un moteur phyique dans les temps.

La construction du moteur physique

Le moteur physique à dû être dévlopper en plusieurs semaines. On avait les cours purement mathématique et physique le matin pour enchaîner de suite avec l’implémentation.

J’ai absolument adoré le fonctionnement des cours, en effet le faite de voir le théorie puis d’utiliser la théorie en pratique juste après était tout simplement très intéréssent. Car en effet de voir ce qu’on vient d’apprendre directement juste après avoir eu la théorie, c’est, selon moi le meilleur moyens d’apprendre.

création des collisions :

Pour le moteur physique j’ai du de base implémenter les différentes classes d’ont j’allais avoir besoin

1 Rigidbody

2 Classe pour les cercles

3 Classe pour les polygones

différentes classes pour les calcules physiques et mathématiques

implémentation des collisions entre cercles

1 Création de la classe et Implémentation des différentes fonctions

j’ai du créer différentes fonctions pour donner de la physique ainsi que des collisions pour mes cercles.

On commence pars créer une fonction de cercle :

puis ensuite plusieurs fonctions pour simuler et inclure mon cercle dans l’espace :

Pour le final on implémente tout ça correctement dans un cpp à pars :

1 Créer une classe qui utilise sfml pour l’affichage graphique

2 Créer le cercle avec les différentes fonctions précédemment créer

3 Et voici le rendu de l’affichage

Difficultée rencontrée

Après mon cercle j’ai voulu implémenter des polygones ainsi que des collision entre eux. Malheureusement après énormément d’éffort je n’ai pas réussi à l’implémenter

Conclusion