compteur
 
AccueilPortailFAQS'enregistrerConnexion

Partagez | 
 

 avis aux matheux !!

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4  Suivant
AuteurMessage
j79y910
Accro
Accro


Nombre de messages : 3530
Age : 60
Localisation : 78 Yvelines
Loisirs : Tout pourvu qu'il y ait à apprendre
Date d'inscription : 13/02/2008

Message Sujet: Re: avis aux matheux !!   Dim 25 Mai 2008, 19:50

Voilà:

Juste faire stop quand les billes vont trop lentement et qu'elles ne vont plus se toucher. Plus la bille est éloignée de la cible rouge, plus elle ira vite et transmettra son "énergie" à l'autre. Si une bille sort de l'espace je la replace dedans!
A l'init on peut positionner les billes et la cible.

J'ai volontairement gardé le nombre de collisions car il y a qq améliorations à apporter. S'il arrivait qu'une bille sorte définitivement du cadre me prévenir mais surtout faire F5 pour la retrouver. bounce
Revenir en haut Aller en bas
Beldjilali
Programmeur


Nombre de messages : 3016
Date d'inscription : 24/06/2007

Message Sujet: Re: avis aux matheux !!   Dim 25 Mai 2008, 20:11

pas mal du tout Smile Wink
Revenir en haut Aller en bas
Admin
Administrateur
Administrateur


Nombre de messages : 18417
Localisation : Toulouse
Date d'inscription : 11/12/2005

Message Sujet: Re: avis aux matheux !!   Dim 25 Mai 2008, 20:40

Beldjilali a écrit:
pas mal du tout Smile Wink
Impressionant ! sunny sunny sunny

Ca semble très très réaliste !
On peut voir les formules ?

Phildes

_________________
.
Revenir en haut Aller en bas
http://www.e-anim.com
chris_c
Accro
Accro


Nombre de messages : 8400
Age : 46
Date d'inscription : 18/11/2007

Message Sujet: Re: avis aux matheux !!   Dim 25 Mai 2008, 21:11

c'est magnfique ca.
Revenir en haut Aller en bas
j79y910
Accro
Accro


Nombre de messages : 3530
Age : 60
Localisation : 78 Yvelines
Loisirs : Tout pourvu qu'il y ait à apprendre
Date d'inscription : 13/02/2008

Message Sujet: Re: avis aux matheux !!   Dim 25 Mai 2008, 21:56

Juste la suite de mon raisonnement et le code (à améliorer car parfois, les billes se percutent plusieurs fois au même impact, ce que je n'arrive pas à résoudre pour l'instant).
:lol!:


Le code de calcul au moment de l'impact:
Code:

static function collision (mc3: Object, mc4 : Object) {
var    angle = Math.atan2((mc4._y-mc3._y), (mc4._x-mc3._x));
var    cosAngle = Math.cos(angle);
var    sinAngle = Math.sin(angle);
var    v1 = Math.sqrt((mc3._x-mc3.prec_x) * (mc3._x-mc3.prec_x) + (mc3._y-mc3.prec_y) * (mc3._y-mc3.prec_y));
var    v2 = Math.sqrt((mc4._x-mc4.prec_x) * (mc4._x-mc4.prec_x) + (mc4._y-mc4.prec_y) * (mc4._y-mc4.prec_y));
var    angle1 = Math.atan2(mc3.vy, mc3.vx) - angle;
var    angle2 = Math.atan2(mc4.vy, mc4.vx) - angle;
var    v1x = v1*Math.cos(angle1);
var    v1y = v1*Math.sin(angle1);
var    v2x = v2*Math.cos(angle2);
var    v2y = v2*Math.sin(angle2);

//
    mc3.vx = cosAngle*v2x-sinAngle*v1y;
    mc3.vy = sinAngle*v2x+cosAngle*v1y;
    mc4.vx = cosAngle*v1x-sinAngle*v2y;
    mc4.vy = sinAngle*v1x+cosAngle*v2y;
    //
    mc3.x1 = mc3.prec_x;
    mc3.y1 = mc3.prec_y;
    mc4.x1 = mc4.prec_x;
    mc4.y1 = mc4.prec_y;
}
Et hop! :bball:
Revenir en haut Aller en bas
Admin
Administrateur
Administrateur


Nombre de messages : 18417
Localisation : Toulouse
Date d'inscription : 11/12/2005

Message Sujet: Re: avis aux matheux !!   Dim 25 Mai 2008, 22:39

j79y910 a écrit:
Juste la suite de mon raisonnement et le code (à améliorer car parfois, les billes se percutent plusieurs fois au même impact, ce que je n'arrive pas à résoudre pour l'instant).
:lol!:


Le code de calcul au moment de l'impact:
Code:

static function collision (mc3: Object, mc4 : Object) {
var    angle = Math.atan2((mc4._y-mc3._y), (mc4._x-mc3._x));
var    cosAngle = Math.cos(angle);
var    sinAngle = Math.sin(angle);
var    v1 = Math.sqrt((mc3._x-mc3.prec_x) * (mc3._x-mc3.prec_x) + (mc3._y-mc3.prec_y) * (mc3._y-mc3.prec_y));
var    v2 = Math.sqrt((mc4._x-mc4.prec_x) * (mc4._x-mc4.prec_x) + (mc4._y-mc4.prec_y) * (mc4._y-mc4.prec_y));
var    angle1 = Math.atan2(mc3.vy, mc3.vx) - angle;
var    angle2 = Math.atan2(mc4.vy, mc4.vx) - angle;
var    v1x = v1*Math.cos(angle1);
var    v1y = v1*Math.sin(angle1);
var    v2x = v2*Math.cos(angle2);
var    v2y = v2*Math.sin(angle2);

//
    mc3.vx = cosAngle*v2x-sinAngle*v1y;
    mc3.vy = sinAngle*v2x+cosAngle*v1y;
    mc4.vx = cosAngle*v1x-sinAngle*v2y;
    mc4.vy = sinAngle*v1x+cosAngle*v2y;
    //
    mc3.x1 = mc3.prec_x;
    mc3.y1 = mc3.prec_y;
    mc4.x1 = mc4.prec_x;
    mc4.y1 = mc4.prec_y;
}
Et hop! :bball:
J'imaginais ça plus complexe scratch

Phildes

_________________
.
Revenir en haut Aller en bas
http://www.e-anim.com
Invité
Invité



Message Sujet: Re: avis aux matheux !!   Dim 25 Mai 2008, 23:05

Admin a écrit:

J'imaginais ça plus complexe
Phildes

comment cela peut-être plus complexe?
Revenir en haut Aller en bas
j79y910
Accro
Accro


Nombre de messages : 3530
Age : 60
Localisation : 78 Yvelines
Loisirs : Tout pourvu qu'il y ait à apprendre
Date d'inscription : 13/02/2008

Message Sujet: Re: avis aux matheux !!   Dim 25 Mai 2008, 23:14

Very Happy Le dicton dit "pourquoi faire simple quand on peut faire compliqué".

:albino: Moi c'est "pourquoi faire compliqué quand on peut faire inextricable"!

Ah j'oubliais, on peut mettre la cible dans une des billes, ainsi la bille sera immobile au moment du lancement.
Revenir en haut Aller en bas
christophe_D
Programmeur


Nombre de messages : 1903
Age : 42
Localisation : Frasne (25)
Divers : papa de 5 enfants
Loisirs : programmation en tous genres, defendre le libre , linux, photo ....
Date d'inscription : 23/06/2006

Message Sujet: Re: avis aux matheux !!   Dim 25 Mai 2008, 23:17

je suis aussi sur le probleme !!

mais ! j'ai un soucis quand au choc des billes , malgres un test sur la distance !

mais je desepere pas !
Revenir en haut Aller en bas
http://c.diot.free.fr
j79y910
Accro
Accro


Nombre de messages : 3530
Age : 60
Localisation : 78 Yvelines
Loisirs : Tout pourvu qu'il y ait à apprendre
Date d'inscription : 13/02/2008

Message Sujet: Re: avis aux matheux !!   Dim 25 Mai 2008, 23:26

christophe_D a écrit:
je suis aussi sur le probleme !!

mais ! j'ai un soucis quand au choc des billes , malgres un test sur la distance !

mais je desepere pas !

Sur la distance de quoi? Si c'est la distance des billes : racine carrée de la somme des rayons de chaque bille au carré.

Par contre comme je l'ai dit avant il m'arrive qu'il soit comptabilisé 1 collision mais que les billes se percutent en fait plusieurs fois. Je pense que c'est lié à la vitesse.

J'ai subitement un doute, il ne fallait pas que je participe à la réponse au sujet "avis aux matheux"?
Revenir en haut Aller en bas
chris_c
Accro
Accro


Nombre de messages : 8400
Age : 46
Date d'inscription : 18/11/2007

Message Sujet: Re: avis aux matheux !!   Dim 25 Mai 2008, 23:39

moi j'ai pas de doute, bien sûr que tu peux participer. Tu apportes beaucoup là.
Revenir en haut Aller en bas
j79y910
Accro
Accro


Nombre de messages : 3530
Age : 60
Localisation : 78 Yvelines
Loisirs : Tout pourvu qu'il y ait à apprendre
Date d'inscription : 13/02/2008

Message Sujet: Re: avis aux matheux !!   Lun 26 Mai 2008, 10:09

Merci beaucoup.
Revenir en haut Aller en bas
christophe_D
Programmeur


Nombre de messages : 1903
Age : 42
Localisation : Frasne (25)
Divers : papa de 5 enfants
Loisirs : programmation en tous genres, defendre le libre , linux, photo ....
Date d'inscription : 23/06/2006

Message Sujet: Re: avis aux matheux !!   Lun 26 Mai 2008, 18:10

j79y910 a écrit:
christophe_D a écrit:
je suis aussi sur le probleme !!

mais ! j'ai un soucis quand au choc des billes , malgres un test sur la distance !

mais je desepere pas !

Sur la distance de quoi? Si c'est la distance des billes : racine carrée de la somme des rayons de chaque bille au carré.

Par contre comme je l'ai dit avant il m'arrive qu'il soit comptabilisé 1 collision mais que les billes se percutent en fait plusieurs fois. Je pense que c'est lié à la vitesse.

J'ai subitement un doute, il ne fallait pas que je participe à la réponse au sujet "avis aux matheux"?

si si !! tu peux particite !!

j'ai tester comme pour la collision bordure , c'est a dire , que je controle si j'arrive contre la bordure si oui je control le sens du fait du coefficient de vitesse qui peu plus que depasser les bord ...


voila le script de deplacement attention fait parti d'un objet balle creer par moi meme
(le script de la balle et le reste peut etre dispo)
Code:

  public function mvt() {
    var rad : Number = _ang*Math.PI/180; // conversion de l'angle en radian
    var ax : Number = Math.cos(rad); // calcul du pas en X
    var ay : Number = Math.sin(rad); // calcul du pas en Y
    var x : Number = _mc._x; // ancienne position en X
    var y : Number = _mc._y; // ancienne position en Y
    var ang : Number = 0; // pour la modification si besoin de l'angle
    var k : Number; // pour la correction en cas de choc sur mur
    var dec : Number; // pour la valeur de decalage
    x+=ax*_vit;
    y+=ay*_vit;
// control si choc contre les mur
    if ((y>485) && (ay>0)){
      dec=y-485;
      k=dec/ay;
      y-=ay*dec;
      x-=ax*dec;
      ay=-Math.abs(ay);
    }
    if ((y<15) && (ay<0)) {
      dec=15-y;
      k=dec/ay;
      y-=ay*dec;
      x-=ax*dec;
      ay=Math.abs(ay);
    }
    if ((x>785) && (ax>0)){
      dec=x-785;
      k=dec/ax;
      y-=ay*dec;
      x-=ax*dec;
      ax=-Math.abs(ax);
    }
    if ((x<15) && (ax<0)) {
      dec=15-x;
      k=dec/ax;
      y-=ay*dec;
      x-=ax*dec;
      ax=Math.abs(ax);
    }
// afin de simplifier le calcul d'angle je travail par quart de cercle   
    if (ax>0) && (ay>0) {ang = Math.acos(ax)*180/Math.PI;}
    if (ax<0) && (ay>0) {ang = Math.acos(ax)*180/Math.PI;}
    if (ax<0) && (ay<0) {ang = Math.abs(Math.asin(ay)*180/Math.PI-180);}
    if (ax>0) && (ay<0) {ang = 360+Math.asin(ay)*180/Math.PI;}
    _ang=ang;
    _mc._x=x;
    _mc._y=y;
    Base.choc.test(_nom);
  }
Revenir en haut Aller en bas
http://c.diot.free.fr
j79y910
Accro
Accro


Nombre de messages : 3530
Age : 60
Localisation : 78 Yvelines
Loisirs : Tout pourvu qu'il y ait à apprendre
Date d'inscription : 13/02/2008

Message Sujet: Re: avis aux matheux !!   Mar 27 Mai 2008, 20:05

Juste pour s'amuser: j'ai un peu avancé (mais vraiment un tout petit peu).
On joue avec la bille pointée et plus le petit rond rouge en est éloigné plus la vitesse initiale est importante. Les billes finissent toujours par s'arrêter mais j'ai laissé le boton "stop" au cas où ce serait trop long.
Revenir en haut Aller en bas
Kwelmès
Programmeur


Nombre de messages : 1472
Age : 25
Localisation : dans les profondeurs insondables de l'infinité cosmique
Date d'inscription : 29/09/2007

Message Sujet: Re: avis aux matheux !!   Mar 27 Mai 2008, 20:44

est ce que ça vous intéresse que je fasse une animation 3D pour la boule qui roule? je sais le faire alors j'en profite
Revenir en haut Aller en bas
http://www.kwlms.o-n.fr/
Contenu sponsorisé




Message Sujet: Re: avis aux matheux !!   Aujourd'hui à 14:32

Revenir en haut Aller en bas
 
avis aux matheux !!
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 3 sur 4Aller à la page : Précédent  1, 2, 3, 4  Suivant
 Sujets similaires
-
» SVP vos avis sur threatfire
» Avis : Solutions Antivirus et Sécurité 2eme parti
» avis aux internautes qui découvrent notre forum
» (résolu) SVP Votre avis sur logiciels nécessaire pour ma sécurité sur internet
» Avis sur forum fairy tail

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
E-anim :: Utiliser E-anim :: Comment faire :: Sujets résolus ou sans suite-
Sauter vers: