cBox2D : la librairie de physique de corps rigides Box2D enfin sur votre Casio
Posté le 28/11/2023 02:55
Hello tout le monde,
un petit message pour vous informer du portage entre de 2 avions de la librairie
Box2D dans sa version 2.4.1 (la dernière à l'heure où j'écris ce texte) sur vos machines préférées. La librairie se trouve sous forme d'un dépot giteapc et est installable via un simple :
giteapc install Slyvtt/cBox2D
Le dépôt correspondant se trouve ici
cBox2D sur le Gitea de PC.
Vous trouverez aussi un petit exemple d'application qui ne fait rien de merveilleux, si ce n'est reprendre l'exemple "Hello Box2D" de la documentation de Box2D et de la faire tourner sur fxCG50. Tout ceci se trouve dans le dépôt ici
cBox2D_App sur le Gitea de PC.
Cet Addin fonctionne parfaitement comme le montre la capture suivante :
Cet exemple provient de la documentation de Box2D disponible ici
https://box2d.org/documentation/index.html.
On retrouve en particulier bien les valeurs attendues (en filtrant une valeur sur 5 sur fxCG50) :
0.00 4.00 0.00
0.00 3.99 0.00
0.00 3.98 0.00
...
0.00 1.25 0.00
0.00 1.13 0.00
0.00 1.01 0.00
Attention tout de même, même si à première vue la librairie semble bien fonctionner, ayant ajouté ce qui était nécessaire pour que tout tourne correctement sur la fxCG50 et la fx9860G, il faut prendre néanmoins en compte 2 ou 3 petites choses :
- la librairie est assez grosse, 420ko, donc il vaut peut être mieux préférer un usage sur prizm que sur monochrome
- les calculs sont sur base de floats, donc attention aux performances si les calculs deviennent nombreux (*)
- la librairie n'a pas été testée en long, en large et en travers, donc bug possible (**)
- la librairie est en C++, donc bien mettre le support du C++ et de la librairie standard C++ dans les prérequis de vos addins (cf l'exemple d'applicaiton)
(*) Si le besoin s'en fait sentir et qu'il y a de la demande, on pourrait la convertir en arithmétique point fixe, mais on perdra de la philosophie initiale consistant à utiliser la librairie originale sans trop de modification pour sur les updates facilement.
(**) si bug, faire remonter ici sur via une PR sur le dépôt Gitea.
Amusez-vous bien.
Et @RDP, ça fait longtemps que j'ai pas écrit cela.
Citer : Posté le 08/12/2023 13:07 | #
Yo,
j'ai fait une petite update de mon programme d'exemple d'application de la librairie cBox2D sur fxCG50 (ou fx9860G d'ailleurs, cela doit fonctionner).
J'ai fait un petit cas simulant une chute d'un cercle et d'un rectangle dans une espèce d'entonnoir.
C'est pas terrible d'un point de vue graphique, mais le but est de donner un exemple de résolution graphique car le rendu est pas forcément simple à mettre en place, la librairie Box2D ayant une manière bien à elle de gérer les coordonnées et les entités (bodies, shapes, fixtures, ...).
Voici donc un cas simple pour vous permettre de débuter si cela vous intéresse.
Comme d'habitude la librairie est dispo ici : cBox2D sur le Gitea de PC.
Et l'exemple lui est dispo ici : cBox2D_App sur le Gitea de PC
J'ai cru comprendre qu'il y avait un intérêt pour le jeu de la pastèque, hésitez surtout pas à utiliser, et dites moi si ça tourne bien.
Update pour @RDP
Citer : Posté le 09/12/2023 11:47 | # | Fichier joint
J'ai updaté (encore) le programme d'exemple pour montrer comment cela fonctionne avec de la génération de forme dynamique :
[F1] ajoute une forme rectangulaire
[F2] ajoute une forme circulaire
[EXIT] pour sortir
Démo de ce que cela donne :
Je vous mets l'addin en PJ à ce post.
Citer : Posté le 12/12/2023 18:54 | #
Excellent, c'est un truc que j'ai toujours voulu faire ! Super que ça soit dispo sur nos machines
Citer : Posté le 12/12/2023 19:05 | #
Merci Ninestars.
Je vais me motiver pour convertir ça en arithmétique point fixe car là les performances me font vraiment de la peine