|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : janvier 2008 Messages : 45 ![]() |
Bonjour à tous,
Je suis en train d'essayer de faire rebondir une bille sur un terrain plat. Pour cela j'utilise cette fonction : Code :
Pourriez vous m'aider à régler ce problème svp ? |
||
|
|
00
|
|
|
#2 | |
|
Expert Confirmé Sénior
![]() ![]() Jean-Michel BORLOTFabricant et casseur d'avions Inscription : avril 2004 Messages : 3 214 ![]() |
Salut,
Citation:
Sinon, si ce code fonctionne très bien dans un autre projet, c'est que ça ne vient pas de lui! Donc que ça vient d'à côté... et là, on n'a rien à se mettre sous la dent... Vérifie déjà tes vecteurs vitesse en amont et aval de cette procédure. Ensuite, regarde ce que tu en fais (et éventuellement, donne nous plus d'infos...) |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : janvier 2008 Messages : 45 ![]() |
Evidemment que le code vient pas de moi, je vais pas m'amuser a recoder tout un code normalement fonctionnel.
Je ne vois pas quoi donner d'autre comme explication, le vecteur vitesse au sortir de la fonction a une composante en x et en z quasiment nulle (0.002 par exemple) quelque soit la vitesse de départ. Le problème semble venir du calcul de Vout lorsque l'on calcul la nouvelle vitesse, peut etre le calcul n'est il pas bon. |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() ![]() Jean-Michel BORLOTFabricant et casseur d'avions Inscription : avril 2004 Messages : 3 214 ![]() |
Citation:
D'après ce que j'en comprends, le code est bon (même si je le trouve un peu tendancieux sur les rebonds rasants... et que ça plante le point suivant sur le plan et pas au bon endroit après rebond... mais ça doit être fait exprès), ça ne vient pas de lui. Ca vient des paramètres que tu lui passes... il y a quoi dans _PrevQ, _Q, _fFrame et _fRadius dans le test que tu fais? |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 1 802 ![]() |
salut,
vInit n'est utilisé qu'en sortie, il ne sert pas dans les calculs d'où sa non prise en compte pour le déplacement, il ne sert qu'à donner le vecteur vitesse ascensionnelle. |
|
|
00
|
|
|
#6 | |
|
Membre confirmé
![]() Étudiant Inscription : juin 2005 Messages : 174 ![]() |
Citation:
Pour rester dans le sujet : Un plan est défini par une normale, et une distance sur l'axe de cette normale. Pour faire un rebond parfait d'une sphère sur un plan, on projette la vitesse de la sphère (notée V) sur la normale du plan (notée N) et on utilise ce résultat pour calculer la vitesse après le choc (notée Vfinal) : proj=N.V (produit scalaire) Vfinal=V-2*proj*N
__________________
"That is not dead which can eternal lie And with strange aeons even death may die" The Call of Cthulhu |
|
|
|
02
|
|
|
#7 |
|
Expert Confirmé
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 1 802 ![]() |
oui une pauvre loi de réflexion tout bête avec atténuation :p
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
|
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() Jean-Michel BORLOTFabricant et casseur d'avions Inscription : avril 2004 Messages : 3 214 ![]() |
Ce qui n'est pas le cas ici.
Voir le code de faucheuse pour de plus amples détails, mais vous y trouverez facilement le coef de restitution à 60% Le sujet datant de septembre dernier, j'ose espérer que la question a été résolue depuis... Sans doute après avoir vérifié les paramètres en entrée et en sortie... comme suggéré... |
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 1 802 ![]() |
lol j'espère aussi pour elle...
mais bon, c'est toujours le pb de beaucoup de monde qui prends du code tout fait sans le comprendre vraiment le fonctionnement
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
|
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() ![]() Inscription : février 2006 Messages : 1 649 ![]() |
|
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 1 802 ![]() |
tout simplement le vecteur vitesse en entrée ne sert que pour en extraire la norme et générer la vitesse post rebond mais sans prendre en compte la direction de celle-ci...
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
|
|
|
00
|
|
|
#12 |
|
Expert Confirmé
![]() ![]() Inscription : février 2006 Messages : 1 649 ![]() |
c'est pas sur le code en lui même que je pose une interrogation, c'est en quoi DirectX pose problème visiblement.
|
|
|
00
|
|
|
#13 |
|
Expert Confirmé
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 1 802 ![]() |
je sais pas lol
j'ai travaillé avec les 2 opengl et directx et pour l'instant ce dernier offre toujours le plus de manipulation possible... l'un et l'autre ont néanmoins leur avantages comme pour opengl, le fait d'avoir tout un tas de primitive graphique de plus haut niveau et glut pour générer une application 3d rapidement sans avoir à maitriser les modes graphiques et les buffers pour directx par contre, faut savoir que la lib d3d qui implémente les vecteurs, matrices, etc n'utilise rien pour l'accélérer
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
|
|
|
00
|
|
|
#14 | ||
|
Expert Confirmé Sénior
![]() ![]() Jean-Michel BORLOTFabricant et casseur d'avions Inscription : avril 2004 Messages : 3 214 ![]() |
Citation:
Citation:
|
||
|
00
|
|
|
#15 | ||
|
Expert Confirmé
![]() ![]() Inscription : février 2006 Messages : 1 649 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#16 | |
|
Expert Confirmé
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 1 802 ![]() |
Citation:
en plus, sse nécessite d'avoir 1 version de chaque fonction par version de sse... le troll opengl/directx est le même que celui windows/linux et bien souvent entretenu par les linuxiens, sans vrai argument technique plegat relit le code
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
|
|
|
|
00
|
|
|
#17 |
|
Expert Confirmé
![]() ![]() Inscription : février 2006 Messages : 1 649 ![]() |
l'ordre des opérations? là je veux bien un exemple, parce que si le programmeur ordonne mal ses calculs, ce n'est pas non plus à directx de résoudre ça.
directx fournit des fonctions simples de gestion des vecteurs, matrices, etc qui sont optimisées. je ne vois pas ce qu'il pourrait faire de plus. après sse3 et 4, j'ai pas souvenir de performance miraculeusement supérieure à sse2. |
|
|
00
|
|
|
#18 | ||
|
Expert Confirmé Sénior
![]() ![]() Jean-Michel BORLOTFabricant et casseur d'avions Inscription : avril 2004 Messages : 3 214 ![]() |
Citation:
(sauf nadal et federer cet aprèm, mais ils utilisent un subterfuge physique qui n'est pas dans les paramètres!) Algo de rebond classique, on modifie le vecteur vitesse en lui ajoutant 2 fois (ou 1+coef de restitution) le vecteur normal à la surface pondéré de la vitesse normale. Et là, en entrée, on n'a pas le vecteur vitesse, on a les deux vecteurs position (+ la durée d'un frame + le rayon de la sphère). Mais on ne se poserait pas se genre de question, si au début, comme je l'ai demandé dans mon premier post, on avait eu les explications plutôt que du code brut. Citation:
Et que c'est complètement hors-sujet avec le sujet... |
||
|
00
|
|
|
#19 |
|
Expert Confirmé
![]() ![]() Inscription : février 2006 Messages : 1 649 ![]() |
oui, mais bon, peut être qu'il y a des arguments (même si mon sarcasme laisse entendre que je n'y crois pas une seule seconde), et je voudrais les entendre, comme la discussion actuelle sur le sse avec ericd69.
si il y a quelque chose à apprendre, de mon point de vue, c'est intéressant d'en parler. |
|
|
00
|
|
|
#20 |
|
Expert Confirmé
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 1 802 ![]() |
c'est aussi pour ça que je suis contre les gens qui pompe un code sans comprendre ce qu'il fait: ne pas confondre ne pas réinventer le fil à couper le beurre et je pompe car je sais pas faire et oh merveille un truc ressemble à ce que je veux)
![]() perso j'ai plutôt désamorcé en disant que les 2 ont leurs avantages et leur inconvénients comme linux et windows parlons de sse et optimisation assembleur de la 3d alors lol déjà contrairement à ce que tu crois, l'optimisation sse est une option de compilation donc un choix du programmeur et elle implique une architecture (le processeur qui la supporte) sous peine de plantage... donc tu as 2 choix si tu veux le sse:
en plus sse est pensé pour les calcul de codec pas forcément pour les math en général...
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com