Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » cBox2D : la librairie de physique de corps rigides Box2D enfin sur votre Casio
Slyvtt Hors ligne Maître du Puzzle Points: 2220 Défis: 16 Message

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.


Slyvtt Hors ligne Maître du Puzzle Points: 2220 Défis: 16 Message

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
There are only 10 types of people in the world: Those who understand binary, and those who don't ...

Slyvtt Hors ligne Maître du Puzzle Points: 2220 Défis: 16 Message

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.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...

Ninestars Hors ligne Membre Points: 2461 Défis: 24 Message

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
Slyvtt Hors ligne Maître du Puzzle Points: 2220 Défis: 16 Message

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
There are only 10 types of people in the world: Those who understand binary, and those who don't ...


LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 66 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd