Bonjour,
en fouillant dans mes archives j'ai retrouvé ce code écrit il y a pas mal de temps (il y a onze mois en fait)... je ne l'ai jamais jugé assez élaboré pour poster sur DelphiFR mais puisque je n'y porterai probablement plus de modifications pourquoi pas le partager. Il s'agit d'un exemple d'utilisation de la librairie de physique en deux dimensions Chipmunk codée en C++ (pas par moi). Quelqu'un a écrit un header en Delphi et on peut s'en servir pour utiliser la librairie depuis son application Delphi. Mon exemple crée simplement des petites boules dans un espace clos... donc c'est assez basique par rapport au potentiel de la librarie... il y a peu de commentaires et mon code n'est pas magnifique mais voilà, j'éspère que des personnes y trouveront l'inspiration d'écrire des applications plus élaborées basées sur ce moteur physique.
Le projet est pret a l'utilisation, j'ai inclus la DLL et le header. Ca devrait tourner pas trop mal (après tout c'est pas du beau code de ma part), mais évidemment ca dépend de votre processeur. Enfin bref.
Source / Exemple :
// zip
Conclusion :
Voila... enjoy.
Link vers le site du projet Chipmunk:
http://code.google.com/p/chipmunk-physics/
Link vers le header:
http://code.google.com/p/chipmunk-pascal/ (alternativement:
http://www.pascalgamedevelopment.com/content.php?119-Chipmunk-binding-for-Pascal)
17 nov. 2011 à 12:39
oui, ca fait longtemps que je n'avais pas fréquenté CS. Franchement ca fait longtemps que je n'ai pas touché Delphi, et depuis que j'ai acquis mon nouvel ordinateur (avec une vraie carte graphique! ma premiere) j'ai voulu expérimenter un peu avec le développement 3D... ben voila je m'en suis lassé, donc retour aux sources. Ceci dit je suis pas mal occupé en ce moment de facon générale donc pas trop le temps de faire grand chose, peut-etre dans un mois ou deux j'aurai quelques bonnes sources a partager.
Merci pour le commentaire et la note :)
Sinon on-topic, perso j'aime pas trop ce moteur physique. Il fonctionne en laissant faire les objets ce qu'ils veulent (essentiellement) puis corrige le résultat (c'est pour ca que desfois avec ce programme on peut voir des boules les unes dans les autres). Je préfere les moteurs physiques qui sont précis, c'est a dire qui garantissent que le mouvement d'un objet est physiquement correct (en utilisant une méthode de recoupement de temps notamment, ou les temps de collision sont calculés de facon exacte plutot qu'approximativement). Mais ces genres de moteurs physiques sont en général payants et en 3D car plus compliqués, le seul que j'ai trouvé est Box2D mais je n'ai pas trouvé d'interface Delphi.
Voir http://fr.wikipedia.org/wiki/Détection_de_collision#A_posteriori_ou_a_priori
8 nov. 2011 à 21:33
un peu de ménage dans tes affaires.
c'est signe d'un changement de cap pour toi..
très amusant ce programme.
on dirait des bactéries qui se blotissent pour se protéger du froid..et sans se manger
7 nov. 2011 à 12:09
Merci Cincap!
7 nov. 2011 à 08:33
@ BACTERIUS, bravo pour cette source, elle fonctionne sous Seven 64 bits et Delphi 6.
Un click gauche maintenu et déplacement = petites particules.
Un click droit maintenu et déplacement = grosses particules.
Et pour le fun, elles se mélangent.
@+,
Cincap
4 nov. 2011 à 11:57
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.