Question

Je dois écrire un simulateur de physique 3D très simple en Java, les cubes et les sphères se heurtant, pas plus. Je n'ai jamais rien fait de tel, par où dois-je commencer? Toute documentation sur la façon dont c'est fait? toutes les bibliothèques que je pourrais réutiliser?

Était-ce utile?

La solution

Autres conseils

En supposant que vous souhaitiez savoir comment procéder, la meilleure façon de commencer consiste à utiliser un stylo et du papier. Commencez à définir les points focaux de votre application (comme la sphère des entités, le cube, etc., les règles telles que la gravité, les collisions, etc., définissez la hiérarchie des objets, etc.)

Si vous savez comment procéder et que vous souhaitez vous familiariser avec les technologies, Swing est une bonne option pour créer des interfaces utilisateur en Java.

Jetez également un coup d'œil ici: http://www.myphysicslab.com/

La leçon 39 de NeHe est un bon point de départ, elle est en C ++ mais la théorie est assez facile à comprendre.

Jmephysics ( http: //www.jmonkeyengine est une bonne bibliothèque de physique Java. .com / jmeforum / index.php? topic = 6459 ); il est assez facile à utiliser et se trouve au-dessus de ODE ( http://www.ode.org/ ) et jmonkeyengine ( http://www.jmonkeyengine.com ) qui vous donne un scénario ( http://en.wikipedia.org/wiki/Scene_graph ), encore quelque chose dont vous aurez besoin pour quoi que ce soit au-delà d’une application 3D très simple.

Je ne l'utilise pas depuis quelque temps cependant et je vois qu'ils ne sont pas sortis depuis la fin de 2007, donc je ne sais pas à quel point la communauté est active maintenant.

Pourquoi ne pas d'abord définir une classe pour un objet physique? Il a la position, la vitesse, la masse et peut-être des sous-classes avec d’autres caractéristiques comme la forme, l’élasticité, etc.

Créez ensuite un univers (classe) où placer ces objets physiques. Ça a l'air amusant:)

Si vous ne devez simuler que des sphères / cercles et des cubes, il vous suffit d'un peu de calcul vectoriel.

Par exemple, pour simuler un jeu de billard simple, chaque balle (sphère) aurait une position, une vitesse linéaire 3d et un vecteur d’accélération linéaire 3d. Votre simulation impliquerait de nombreux petits cadres qui actualisent continuellement chaque balle. Si deux ou plusieurs balles entrent en collision, additionnez simplement les vecteurs et calculez les nouvelles vitesses pour toutes les balles. Si une balle frappe un mur, par exemple, il suffit de retourner le signe de la balle pour la faire rebondir ...

Si vous souhaitez effectuer cette opération à partir de zéro, c’est-à-dire coder votre propre moteur physique, vous devrez connaître les tenants et les aboutissants des opérations mathématiques nécessaires à la réalisation de cet objectif. Si vous avez un bon bagage en mathématiques, vous aurez une longueur d'avance, sinon une courbe d'apprentissage abrupte est à venir.

Vous pouvez commencer sur ce forum de communauté pour rassembler des informations sur la manière dont les choses se font: gamedev.net

Bien sûr, vous pouvez utiliser un moteur opensource tel que Ogre si vous ne souhaitez pas coder le vôtre.

Découvrez la bulletphysique. bulletphysics.com est le forum ou consultez le projet sur Sourceforge .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top