CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Physique

[R]Viper
[R]Viper
Niveau 10
07 avril 2006 à 16:21:50

Bonjour à tous, en même temps que je créé mon jeu de courses, j´aurais besoin de faire de la physique pour les objets qui tombent. Ce sera bien sûr fait en BlitzBasic et je pourrais le distribuez si vous le voulez. Bon, pour ce qui est des notions de physique, j´ai eu le cours de physique à l´école (pas de science physique ni de chimie, seulement de la physique (j´ai 17 ans)) pour vous montrer le niveau environ, car au Québec, c´est pas la même chose qu´en Europe. J´ai appris les positions en fonctions du temps, la vitesse en fonction du temps, l´accélération en fonction du temps et pleins d´autres choses, mais je voudrais commencer par ceux-ci. J´ai appris que l´accélération gravitationnelle était de 9,8 m/s², or, cette gravitée, j´ai aucune idée de comment l´écrire dans un langage de programmation. Si vous auriez juste une idée du comment commencer, ca pourrait m´aider beaucoup.

Merci d´avance.

dnob700
dnob700
Niveau 10
07 avril 2006 à 20:07:50

c´est une question très interessante, mais un peu vague que tu pose.

Le concept à appliquer à la base (pour faire quelque chose de simple), c´est d´appliquer la formule :
m*a=f

Je suppose qu´il y a quelque part dans ton jeu une boucle qui gère chaque frame d´affichage ou chaque unité de temps.

Il faut alors que pour chaque objet dans ton jeu qui peut tomber tu connaisse sa vitesse, sa position et sa masse.
Et tu fait alors :
nouvelle vitesse = ancienne vitesse + g/masse*(nouveau temps-ancien temps)
où la vitesse est un vecteur bien sûr.Puis tu fait :
nouvelle position=ancienne position+vitesse.

et tu fait ça pour chaque objet qui tombe. C´est assez simple a écrire et dans un premier temps ça donne des résultats qui sont tout à fait correcte.

[-AFK-]
[-AFK-]
Niveau 8
07 avril 2006 à 21:08:26

Salut :)

Je sais pas si ça peut t´être utile mais j´ai rien à perdre , on fait justement la gravitation universelle en ce moment .

En fait pour connaitre la force de la gravitation universelle en Newtons sur deux objets il faut faire : G * ((M1 * M2)/D²) ou D est en metres , et M en kilogrammes .

G est égal a 9.81 il me semble

Si ça a pu t´aider tant mieux :-p sinon tant pis

[LoCkLeSs]
[LoCkLeSs]
Niveau 10
07 avril 2006 à 22:01:05

Toi [-AFK-] tu es en seconde chuis sûr !

D´ailleur, si on est sur terre tu peux carrément simplifier la formule, est utilisé celle du poid :

P = m.g (si mes souvenirs sont bons).

[-AFK-]
[-AFK-]
Niveau 8
07 avril 2006 à 22:33:14

Bien joué lock je suis en seconde :-)

[R]Viper
[R]Viper
Niveau 10
08 avril 2006 à 01:59:53

dnob700 bouton profilbouton profil Posté le 07 avril 2006 à 10:21:50
c´est une question très interessante, mais un peu vague que tu pose.

Le concept à appliquer à la base (pour faire quelque chose de simple), c´est d´appliquer la formule :
m*a=f

Je suppose qu´il y a quelque part dans ton jeu une boucle qui gère chaque frame d´affichage ou chaque unité de temps.

Il faut alors que pour chaque objet dans ton jeu qui peut tomber tu connaisse sa vitesse, sa position et sa masse.
Et tu fait alors :
nouvelle vitesse = ancienne vitesse + g/masse*(nouveau temps-ancien temps)
où la vitesse est un vecteur bien sûr.Puis tu fait :
nouvelle position=ancienne position+vitesse.

et tu fait ça pour chaque objet qui tombe. C´est assez simple a écrire et dans un premier temps ça donne des résultats qui sont tout à fait correcte.

:d) En fait, c´est pour l´instant, un projet de création de «librairy», un fichier .bb appart qu´on incluera au programme principale... «Include physique.bb» et qui permettra d´utiliser la physique dans les futures programmes. Je vais essayer ce faire ce que tu viens de me dire, et je viendrais vous montrer mes résultats, si ca fonctionne.

[-AFK-] bouton profilbouton profil Posté le 07 avril 2006 à 15:08:26
Salut :)

Je sais pas si ça peut t´être utile mais j´ai rien à perdre , on fait justement la gravitation universelle en ce moment .

En fait pour connaitre la force de la gravitation universelle en Newtons sur deux objets il faut faire : G * ((M1 * M2)/D²) ou D est en metres , et M en kilogrammes .

G est égal a 9.81 il me semble

Si ça a pu t´aider tant mieux :-p sinon tant pis

:d) Je connais aussi cette formule, mais elle est pour trouver l´accélération gravitationnelle et je l´ai déjà 9.8m/s², mais merci quand même.

Chanis
Chanis
Niveau 10
08 avril 2006 à 13:17:02

la physique c´est simple, c´est que des formules... Il existe des milliers de sites specialisés la dedans! le seul truc c´est d´utiliser les memes unités quelle que soit la formule (par ex: grammes dans l´une et kilogrammes dans l´autre, ça va pas.)

[R]Viper
[R]Viper
Niveau 10
09 avril 2006 à 02:31:31

dnob700 Posté le 07 avril 2006 à 14:07:50
[...]
m*a=f

Je suppose qu´il y a quelque part dans ton jeu une boucle qui gère chaque frame d´affichage ou chaque unité de temps.

Il faut alors que pour chaque objet dans ton jeu qui peut tomber tu connaisse sa vitesse, sa position et sa masse.
Et tu fait alors :
nouvelle vitesse = ancienne vitesse + g/masse*(nouveau temps-ancien temps)
où la vitesse est un vecteur bien sûr.Puis tu fait :
nouvelle position=ancienne position+vitesse.
[...]

:d) En passant, la masse de l´objet ne joue aucunement sur le temps que ca prendra pour se rendre au sol... Mon professeur de physique nous l´a montré, il avait deux billes (de grandeurs différentes, donc de masse différentes) et elles sont arrivées en même temps au sol.

ToMasterman
ToMasterman
Niveau 9
09 avril 2006 à 13:38:59

Normal car g est en fait en m/s² donc une accélération, indépendante de la masse :)

dnob700
dnob700
Niveau 10
09 avril 2006 à 16:15:07

effectivement, j´ai dit n´importe quoi (heureusement que j´ai un pseudo, sinon mon prof de physique m´assassinerait). Il n´y a pas besoin de divisé par la masse dans ma formule car la force c´est g*masse et non pas g, donc ça se compense.

En passant, est-ce que tu peut arreter de recopier tout les post lorsque tu y répond. Si tu en as besoin, recopie juste une phrase ou deux, mais sinon ça rend assez difficile à suivre, car on ne voit pas ce qui est nouveau ou ce qui a déjà été cité 3 fois.

[R]Viper
[R]Viper
Niveau 10
09 avril 2006 à 16:46:07

dnob700 :d) Désolé, ca fait plus de quatre ans que je visite des forums et jamais quelqu´un m´a dit qu´il aimait pas que je copie son poste... je trouve ca bien, un peu comme citation sur les forums phpBB.

JeanYvesYves
JeanYvesYves
Niveau 10
12 avril 2006 à 19:43:00

Ah la phyqiue de Newton :)
sigma F = ma :)

Tu peux gérer la pesanteur, une force de poussée si tu veux (ou plusieurs) des frottements proportionnels a v ou a v², comme tu veux, bref, si tu sais comment exprimer une force, y´a de quoi se régaler...

Mais un truc ou je n´ai jamais eu de réponse simple (si ça existe)

Comment faire pour avoir une force d´adhérence de penus ? Un truc simple : approché de la réalité

Exemple :
Un jeu de voiture : tu définis les forces :

F1 = force de gravité
F2 = résistance de la route (ce qui te fera aller plus vite si tu es en descente)
F3 = poussée du moteur : pour simplifier, si le joueur appuie, tu mets F3 = constante, si il lache, tu mets F3 = 0
F4 = une force de frottement a la route (si le joueur lache tout, il fini par s´arreter a la longue...)
F5 = une force de frottement a l´air (inférieure forcément : si le joueur décolle, il ralentit moins vite que sur la route)

Ces forces la, données dans un sigma F = m*a, me donnent un truc bien réaliste !!

Mais le probleme, je cherche un F6 (un truc simple de préférence, meme si ce n´est pas exact) a injecter dans l´équation de Newton

Un truc qui gere les virages correctement !
En faisant intervenir :
- angle des pneus avant
- coefficient de friction de la route (si on tourne sur de la glace, ça part a l´extérieur)

Si qq un peut me donner un F6 qui gere cela, et me donne une trajectoire correcte de virage, je lui en serait reconnaissant !!
Car pour le moment, les tests que je fais : soit la voiture "tourne sur de la glace", soit je perds toute ma vitesse quand je tourne !!

Si qq un a un truc sympa, je prends !!
:merci:

dnob700
dnob700
Niveau 10
12 avril 2006 à 20:08:06

ta formulation de F2 est étrange, a priori c´est la force de gravité qui te fait aller plus vite en descente et F2 ne fait que moins s´y opposer en descente que sur du plat.

Pour ton problème de F6, la force qu´il te manque c´est les frottement solide entre les pneus et la route.
En gros tu peut modéliser ça par une force qui s´oppose à la vitesse du bas des pneus par rapport à la route : en ligne droite à vitesse constante (pour la voiture), cette vitesse est nulle car le bas du pneu en contact avec la route avance à la vitesse de la route. Donc F6 est nulle.
Par contre, si tu freine, la roue arrète de tourner (supposons) et donc le bas du pneu avance par rapport à la route. Et donc F6 qui s´y oppose est situé vers l´arrière et vient se rajouter à F4 pour arreter le véhicule (si tu ne freine pas, mais que les roues sont libres, il n´y a que F4 qui arrète la voiture (sans compter le frein moteur...)).

Et enfin, dans le cas virage, là on peut supposer que la vitesse de rotation des roues reste constante, mais celles-ci ne sont plus paralèlles à la trajectoire de la voiture, et il y a donc une force qui s´exerce sur la voiture vers l´intérieur du virage. C´est cette force qui empêche la voiture de déraper complétement.

Et bien sur, cette force dépend d´un coefficient k qui est quasiment nulle sur de la glace et on retrouve bien le comportement (la voiture tourne sur de la glace) si on le néglige.

Altonfrere
Altonfrere
Niveau 10
12 avril 2006 à 23:34:04

Je vais peut être dire une connerie mais mes souvenirs de physique remontent un peu loin alors hein excusez moi d´avance ^^... la fameuse F6 ca ne serait pas la force centrifuge ?

dnob700
dnob700
Niveau 10
12 avril 2006 à 23:58:08

non ; la force centrifuge, ça n´existe pas ...

En fait c´est un effet que l´on ressent lorsque l´on est dans un référentiel non galiléen i.e. un référentiel qui est accéléré par rapport à un référentiel que l´on considérera en translation.
Mais si on travaille dans un référentiel galiléen (et là, on suppose que c´est le cas pour la route), on n´a pas à se soucier de la "force" centrifuge.

dnob700
dnob700
Niveau 10
12 avril 2006 à 23:59:45

Pour être clair : la force centrifuge existe, et c´est bien une force. Mais elle n´existe que dans des référentiels non galiléen, et elle n´a pas de "sens" physique, si ce n´est que de rendre compte correctement du mouvement d´objet dans ces référentiels.

Chanis
Chanis
Niveau 10
13 avril 2006 à 13:19:57

salut dnob700! tu te souviens de mon programme de calcul d´orbite? (le topic ou je faisais une crise de nerf je croit.) il exploite a fond la physique et donne des resultats presques justes...

[R]Viper
[R]Viper
Niveau 10
14 avril 2006 à 16:21:10

Finalement, j´ai réussi à la programmé en utilisant la formule :

acc_gravitationnel# = 9.81

(((-(0.5))*(acc_gravitationnel#)*(lt#)^2)/10000000
000000)

Le /10000000000 est simplement pour ralentir le mouvement, car c´est trop rapide sinon et le lt# est le temps depuis le début.

C´est qu´une gravité pour l´instant, je vais tenter de faire un rebond d´une balle, c´est ma prochaine étape.

JeanYvesYves
JeanYvesYves
Niveau 10
15 avril 2006 à 14:21:33

Dnob > pour mon F6, tu n´aurais une équation a me proposer ?

dnob700
dnob700
Niveau 10
15 avril 2006 à 14:40:31

si u est le vecteur qui dirige le mouvement de la voiture (donc pas forcement l´axe des roue, ni même l´axe de la voiture, mais bien l´axe de la trajectoire).

Alors F6= - |N| * f
ou |N| est la norme du vecteur N qui est la composante normale de la réaction du sol sur la voiture (dans la plupart des cas (si la voiture ne saute pas) N=-mg et donc |N|=m|g|) et f est un coefficient qui dépend du sol, du pneu, de la température etc.
Il vaut 0 sur de la glace (enfin, si ça glisse parfaitement) et sinon c´est générallement entre 0.5 et 0.8 (à condition qu´il y ait bien, un frotement, ce qui n´arrive pas dans le cas général où on roule en ligne droite).

Ce qui est interessant c´est que F6 ne dépend ni de la vitesse de la voiture ni de la "vitesse" du frottement (sauf à faible vitesse ou F6 est plus petite que le frottement qui est de toute manière nulle si la voiture est à l´arret ou à régime constant).

Pour résumer :
Si il n´y a pas de glissement entre les roues et le sol (roue libre dans l´axe de la route) alors F6=0 sinon, F6=-f*m*g*u ou u est un vecteur qui dirige le sens du glissement de la roue sur le sol.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment