RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Balle rebondissant sur un plan

Forum : MATHÉMATIQUES - 3D
Sous Catégorie : 3D
Type du sujet : Sujet Normale
FAQ : FAQ MATHÉMATIQUES - 3D

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM MATHÉMATIQUES - 3D

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
Oxyde
Nouveau membre
Inscrit : 29/08/2005
Messages : 8
Message
#88087
Posté le 13/02/06 à 21:24
Bonjour tout le monde,
J'ai fais un petit bout de moteur physique ou une balle rebondi sans vitesse initial mais a une certaine hauteur tombe sous l'effet de la gravité sur un plan horizontale et rebondi selon son coefficient de rebond (coeff de restitution) variant de 0 à 1 (si 1 alors l'energie est entierement conservé). Et donc j'aimerai que quand ce coeff est à 1 la balle apres un rebond remonte à la meme hauteur qu'elle est tombé (étant donné que aucune énergie n'a été perdu) malheuresement avec le système de frame c'est très dur à faire pour une raison simple. La balle ne touche pas le plan en un seul point pile sur une frame donné en général la balle va traverser le plan et il fodra la replacé ce que je fais, je me sers de la norme de son vecteur vitesse pour la faire descendre sur le plan puis remonté pour simuler le rebond selon la longueur de son vecteur vitesse. Donc après le rebond je me retrouve dans la plus part des cas avec une balle plus haute ou plus basse qu'elle ne l'était avant et je ne peux pas utiliser V1=-V0 qui inverserait la vitesse de la balle pour simuler le rebond car la balle étant un peu plus haute ou plus basses je si j'utilise la même vélocité la balle montera plus bas ou plus haut que comme elle l'était quand on l'a laché ! Donc je dois trouvé une équation de sa vitesse après rebond ! Si qu'elqu'un pouvait m'aider sa serait super simpa parcque la je bloque énormement. Merci d'avance.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

Spirit
Superviseur :
- C & C++
Modérateur :
- PHP
- Javascript
- MySQL
Avatar de Spirit
Inscrit : 07/04/2004
Messages : 1966
Message
#88224
Posté le 15/02/06 à 11:37
une idée qui m'est venue, si tu as déjà la fonction rebond qui la déplace, pourquoi ne pas ajouter un exp(-1 + coef) Smiley
avec un coef de 1, ça ferait un exp(0) => 1, donc le mouvement se conserve
avec un coef de 0, ça ferait un exp(-1) => < 1
donc le mouvement s'amortie.
c'est qu'une idée lancée en l'air, ça ressemble plus à du bidouillage^^
__________________________
Spirit - modérateur casu ^-^'

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

sebsheep
Membre du club
Chef de projet(s) :
- SejourAdmin

Inscrit : 27/03/2005
Messages : 509
Message
#88445
Posté le 17/02/06 à 09:59
je m'y connais pas en 3D mais bon ....

Aparement tu detectes lorsque la deux images entrent en contact.
Mais si tu te sers uniquement des positions de tes objets ca donne quoi??
Je m'eplique :
Si au lieu de faire :

si image_boule touche image_plan alors vitesse_boule<-vitesseboule*-1 finsi


(c'est ca que tu fais en gros non?)

si tu fais plutot :

si distance(centre_boule-plan)<rayon_boule alors vitesse_boule<-vitesseboule*-1


ca marcherait pas mieu?
De cette maniere tu ne fais pas tes calculs sur un image actualisée toutes les 20ms mais sur un calcul processeur actualisée 20 fois par ms...
Pour la distance d'un point à plan je vais essayer de voir si je retrouve ca dans mes cours(c'est fou ce qu'on oublie vite les cours de maths)... sinon Smileygoogle Smiley
__________________________
L'élève heureux est celui qui, comme la rivère, suit son cours dans son lit.
Et n'oubliez pas :Seb, c'est bien!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Oxyde
Nouveau membre
Inscrit : 29/08/2005
Messages : 8
Message
#88483
Posté le 17/02/06 à 16:21
lol non ce n'est pas du tout sa mon problème. J'utilise biensur les méthodes mathématiques pour calculer mon intersection entre ma sphere et mon plan. Mon problème c'est que quand la détection est detecté le plan est déja DANS la sphere car la sphere à trop avancé, avant elle ne le touché pas, une frame après, le plan est dans la sphere, ce que je fais c'est que je repositionne ma sphere sur le plan puis je calcule la vitesse qui n'a pas été "consommé" c-a-d celle qui resté si la sphere n'était pas rentré dans le plan et j'utilise le reste de cette vitesse pour calculer la position de la sphere après rebond. Mon problème c'est que je n'arrive pas à determiner la nouvelle vitesse et le V1 = -V0 ne marche pas car la sphere ayant rebondi est soit plus haut soit plus bas que sa derniere position et donc en faisant V1 = -V0 elle remontera plus haut ou plus bas qu'avant. Il me faudrai donc l'équation de la vitesse par rapport au temps.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

yougo
Co-Administrateur
Superviseur :
- Calculatrice.
- Système d'ex.
Modérateur :
- CGI
- Python
Chef de projet(s) :
- WSSI
- XDocSS

Avatar de yougo
Inscrit : 21/01/2004
Messages : 2268
Message
#88485
Posté le 17/02/06 à 16:46
Formules de l'accélération, de la vitesse et de la position en fonction de la [-i]gravité,[/i] la vitesse initiale et la position initiale.

[quote]a(t) = g
v(t) = g*t + v_init
x(t) = (1/2)*g*t² + v_init*t + x_init[/quote]

Tu devrais séparer la position affichiée de la balle et celle calculée. Ainsi la position calculée pourrait être légèrement inférieure à zéro, mais la position affichée ne le serait pas. Après le rebond, tu peux ainsi corriger le calcul.

Soit x la position théorique et x_affiche la position affichée:

[quote]g = 9.81 ; v_init = 0
x = (1/2)*g*t² + v_init*t + x_init
if (x < 0) : x_affiche = 0[/quote]
__________________________
Aidez les autres membres en publiant sur le forum le code que nous vous avons aidé à créer !
[img]http://mena.com.mx/gonzalo/iconos/14x14x4/img/hacker.gif[/img][url=http://www.python.org][img]http://galerie.ulthar.net/galerie/sports/short-track/2005.11.2/images/logo_python.gif[/img][/url][url=http://www.ubuntu.com][img]http://hexade.googlepages.com/ubuntu.png[/img][/url]
[url=http://www.frappr.com/moteurprog]Où sont les membres de MP ?[/url]

ERREUR BBCODE SUR CE MESSAGE :
- Une balise -i n'est pas fermée !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Spirit
Superviseur :
- C & C++
Modérateur :
- PHP
- Javascript
- MySQL
Avatar de Spirit
Inscrit : 07/04/2004
Messages : 1966
Message
#88487
Posté le 17/02/06 à 16:50
si tu connais l'accélération de ta sphère en fonction du temps, tu intègres pour avoir la vitesse :p^^
après tu réintègres et t'as la position en fonction du temps (sous forme parapétrique en plus, c'est mieux :))
à moins que je me goure, mais c'est ce qu'on fait à l'école depuis 6mois ^^"

edit: exact yougo, c'était ce que je voulais dire, mais sans mettre les formules qui sont enfouis dans un classeur :P:
__________________________
Spirit - modérateur casu ^-^'

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

sebsheep
Membre du club
Chef de projet(s) :
- SejourAdmin

Inscrit : 27/03/2005
Messages : 509
Message
#88493
Posté le 17/02/06 à 17:06
oui enfin bon l'utilité d'un moteur graphique c'est de pouvoir resoudre les problemes sans avoir de formules...
Là ca va le cas est simple ( y a mm pas les frottements de l'air!) mais quand il faudra gérer la chute d'un par exemple corps (corps humain, ouioui)une formule ne pourra jamais etre étblit (ou alors tellement complexe que ca vaut pas le coup). Donc faut trouver d'autre moyens pour apporximer au mieu la chose.

A vrai dire, faire ce genres de calculs pour des cas théoriques aussi simple (j'ai jamais vu un rebond sans perte d'energie^^) n'est pas interressant, vu que les résultats seront faux et qu'on peut en avoir bp plus facilement avec ces formules... mais faut bien commencer!!
__________________________
L'élève heureux est celui qui, comme la rivère, suit son cours dans son lit.
Et n'oubliez pas :Seb, c'est bien!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Oxyde
Nouveau membre
Inscrit : 29/08/2005
Messages : 8
Message
#88494
Posté le 17/02/06 à 17:24
Prenons un exemple, ce que l'on connait :
SLastPos=Position de la sphere avant rebond
SPos=Position de la sphere après rebond sans calcul (sphere dans le plan)
SNewPos=position de la sphere directement sur le plan (comme si on la posé dessus)
PPos=Position du plan avec comme vecteur x et z
SRadius=Rayon de la sphere
Vel=Vecteur Vitesse qui déplace la sphere de LastPos en Pos
Gravity=Vecteur Gravité (g)
ElapsedTime=Delta t

On cherchera en premier temps SPos2 qui calculera la position de la sphere après le rebond, et Vel2 qui est la nouvelle vitesse après le rebond.
Après je ramasse les copies ^^
Merci a tous

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Spirit
Superviseur :
- C & C++
Modérateur :
- PHP
- Javascript
- MySQL
Avatar de Spirit
Inscrit : 07/04/2004
Messages : 1966
Message
#88512
Posté le 17/02/06 à 20:10
[quote]resoudre les problemes sans avoir de formules[/quote]
faudra m'expliquer comment tu fais ça.
Hormis pour des cas prédéfinis de mouvement...
__________________________
Spirit - modérateur casu ^-^'

ERREUR BBCODE SUR CE MESSAGE :
- La valeur de la balise "quote" n'est pas correcte !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Oxyde
Nouveau membre
Inscrit : 29/08/2005
Messages : 8
Message
#88513
Posté le 17/02/06 à 20:18
lol c'est impossible sa ou en tt cas pas pour des mouvements linéaire ou interpolé ! c'est d'ailleur pour sa qu'on été inventé les formules ! pour gérer le cas général.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM MATHÉMATIQUES - 3D



    PAGES : [1] [2]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.