Le casse brique c'est casse cou*lles [Math] - Algo - Programmation
Marsh Posté le 12-09-2002 à 19:32:58
Moi je dirais que dans ce cas, comme la boule 'rebondit' sur un point, c'est comme si elle frappait une face qui est en fait la tangeante au point d'impact sur la boule ?
J'ai bon ?
Marsh Posté le 12-09-2002 à 19:48:19
DarkOli a écrit a écrit : Moi je dirais que dans ce cas, comme la boule 'rebondit' sur un point, c'est comme si elle frappait une face qui est en fait la tangeante au point d'impact sur la boule ? J'ai bon ? |
Marsh Posté le 12-09-2002 à 19:56:13
DarkOli a écrit a écrit : http://darkoli.free.fr/cb.gif Donc la boule frappe une brique. Elle est deviée, mais dans quelle direction ? |
Dans la direction inverse !
Si DX est la direction X de la boule
=> quand elle tape une brique, tu inverse DX et tu ajoutes cette valeur à l'abscisse de la boule
Meme chose avec Y.
Pas besoin de te faire chier avec des calculs compliqués, tu programmes pas un billard !!!
Marsh Posté le 12-09-2002 à 20:25:00
Harkonnen a écrit a écrit : Dans la direction inverse ! Si DX est la direction X de la boule => quand elle tape une brique, tu inverse DX et tu ajoutes cette valeur à l'abscisse de la boule Meme chose avec Y. Pas besoin de te faire chier avec des calculs compliqués, tu programmes pas un billard !!! |
Oui je suis d'accord mais ce n'est vrai que lorsque la boule touche une face de la brique mais dans le cas où c'est un coin, le comportement est différent, et j'ai envie qu'il soit réaliste !!! (Tétu je suis).
Marsh Posté le 12-09-2002 à 21:03:00
DarkOli a écrit a écrit : Oui je suis d'accord mais ce n'est vrai que lorsque la boule touche une face de la brique mais dans le cas où c'est un coin, le comportement est différent, et j'ai envie qu'il soit réaliste !!! (Tétu je suis). |
Ben qd ça tape un coin, tu inverses DX et DY en meme temps, puisque la trajectoire est opposée.
Ne t'emmerdes pas pour si peu franchement ! J'ai eu l'occasion de programmer un casse briques, et ce genre de détail je m'en contre fichais !
Marsh Posté le 12-09-2002 à 21:58:08
Harkonnen a écrit a écrit : Ben qd ça tape un coin, tu inverses DX et DY en meme temps, puisque la trajectoire est opposée. Ne t'emmerdes pas pour si peu franchement ! J'ai eu l'occasion de programmer un casse briques, et ce genre de détail je m'en contre fichais ! |
En fait le casse brique est quasi terminé, il ne me reste plus que le peaufinage !!! Et je voudrais voir ce que ça donne un calcul de trajectoire plus 'réalise' ...
Marsh Posté le 12-09-2002 à 22:24:39
DarkOli a écrit a écrit : En fait le casse brique est quasi terminé, il ne me reste plus que le peaufinage !!! Et je voudrais voir ce que ça donne un calcul de trajectoire plus 'réalise' ... |
Be oui, mais la tu commences a donner de l'effet a ta balle, alors apres ca devient le bordel: trajectoire courbe et tout le tralala...
Renaud
Marsh Posté le 12-09-2002 à 22:44:55
tout d'abord bravo pour le titre
pour la trajectoire, comme ce qu'a dit harkonnen : le mirroir du vecteur par rapport à la normale de la surface. donc dans ton cas, inversion de signe : (x, y) -> (x, -y).
Marsh Posté le 12-09-2002 à 23:02:49
youdontcare a écrit a écrit : tout d'abord bravo pour le titre pour la trajectoire, comme ce qu'a dit harkonnen : le mirroir du vecteur par rapport à la normale de la surface. donc dans ton cas, inversion de signe : (x, y) -> (x, -y). |
oui, mais la, vu qu'il tape un coin, la boule va inverser ses 2 coordonnées :
(x, y) -> (-x, -y)
Marsh Posté le 13-09-2002 à 05:37:55
Si vous vous contenté d'inversé le signe des coordonnées du vecteur vitesse de la balle comment ça se fait que des fois la balle accélère en frapant les brique, la raquette ou les mures d'une certaine façon?
Marsh Posté le 13-09-2002 à 08:45:04
sombresonge a écrit a écrit : Si vous vous contenté d'inversé le signe des coordonnées du vecteur vitesse de la balle comment ça se fait que des fois la balle accélère en frapant les brique, la raquette ou les mures d'une certaine façon? |
Parce que au bout d'un certain temps, on augmente la valeur du vecteur vitesse (=nombre de pixels a ajouter à la coordonnée de la bille. Plus ce nombre est élevé, plus la bille va vite)
Marsh Posté le 13-09-2002 à 13:52:33
Harkonnen a écrit a écrit : oui, mais la, vu qu'il tape un coin, la boule va inverser ses 2 coordonnées : (x, y) -> (-x, -y) |
ha ? ok, faut dire que son dessin est pas très clair
sombresonge a écrit a écrit : Si vous vous contenté d'inversé le signe des coordonnées du vecteur vitesse de la balle comment ça se fait que des fois la balle accélère en frapant les brique, la raquette ou les mures d'une certaine façon? |
c'est pas inverser, c'est angle de réflexion = angle d'incidence (qui tient compte pour le (-x, -y)).
je n'ai jamais vu la balle accélerer en frappant les murs & le décor, sauf à cause d'un timer (donc rien à voir avec les collisions). la balle accélère en touchant la raquette, on rajoute alors la vitesse de la raquette à la vitesse de la balle.
Marsh Posté le 13-09-2002 à 16:57:14
DarkOli a écrit a écrit : Oui je suis d'accord mais ce n'est vrai que lorsque la boule touche une face de la brique mais dans le cas où c'est un coin, le comportement est différent, et j'ai envie qu'il soit réaliste !!! (Tétu je suis). |
Le coin de ta brique est un point, d'accord ? Un point n'a pas de dimension, d'accord ? Donc ta balle tape FORCEMENT sur une des arêtes. Eeetttt vvoouaaallaa
Marsh Posté le 13-09-2002 à 19:40:00
R3g a écrit a écrit : Le coin de ta brique est un point, d'accord ? Un point n'a pas de dimension, d'accord ? Donc ta balle tape FORCEMENT sur une des arêtes. Eeetttt vvoouaaallaa |
Marsh Posté le 13-09-2002 à 20:43:50
Désolé je venais de faire un pot de départ, j'étais pas dans mon état normal.
Voila comment je ferais : quand la balle touche le coin, tu calcules le rebond non pas par rapport à une face, mais par rapport au prolongement de la diagonale de ta brique.
Sur ton exemple, ca fait repartir la balle vers la droite, où elle entre immédiatement en contact avec la face inférieure de la brique, et là tu recalcules un rebond avec ta nouvelle trajectoire.
Marsh Posté le 13-09-2002 à 23:41:55
Soit a1 l'angle entre le vecteur vitesse avant choc et une reference quelconque ( on va prendre l'horizontale).
Soit a2 l'angle entre la droite passant par le centre de la boule et le coin, et cette même horizontale.
a2=arctan((Ycentre-Ycoin)/(Xcentre-Xcoin))
L'angle entre vecteur vitesse de la boule apres le choc et l'horizontale (encore elle) est tout simplement :
2*a2 - a1 - Pi
Enfantin
Un conseil cheche pas a faire plus réaliste que ce modele type Descartes. J'ai modélisé un billard de manière totalement réaliste et je ne le referais jamais (Jongler avec 7 coef de frottements différents c'était pas la joie)
Marsh Posté le 19-09-2002 à 21:33:17
krogoth a écrit a écrit : Soit a1 l'angle entre le vecteur vitesse avant choc et une reference quelconque ( on va prendre l'horizontale). Soit a2 l'angle entre la droite passant par le centre de la boule et le coin, et cette même horizontale. a2=arctan((Ycentre-Ycoin)/(Xcentre-Xcoin)) L'angle entre vecteur vitesse de la boule apres le choc et l'horizontale (encore elle) est tout simplement : 2*a2 - a1 - Pi Enfantin Un conseil cheche pas a faire plus réaliste que ce modele type Descartes. J'ai modélisé un billard de manière totalement réaliste et je ne le referais jamais (Jongler avec 7 coef de frottements différents c'était pas la joie) |
Ok ... (Enfin je disais 'réaliste' mais j'avais oublié les frottements ).
Merci.
Marsh Posté le 20-09-2002 à 00:53:42
Darkoli ou la folle quête de la refonte de tous les grands classiques en JS...
N'empêche, 'l'est sympa ton site (même si bomberman et le démineur chient dans la colle... )... Excellent tutorial pour faire des trucs un peu spécos en Javascript, je trouve...
(Salue de ma part ceux que je connais à Paname... )
Marsh Posté le 20-09-2002 à 08:34:28
Toucouch a écrit a écrit : Darkoli ou la folle quête de la refonte de tous les grands classiques en JS... N'empêche, 'l'est sympa ton site (même si bomberman et le démineur chient dans la colle... )... Excellent tutorial pour faire des trucs un peu spécos en Javascript, je trouve... (Salue de ma part ceux que je connais à Paname... ) |
Ok ... Nico par exemple !!!
Marsh Posté le 12-09-2002 à 19:30:32
Donc la boule frappe une brique. Elle est deviée, mais dans quelle direction ?
---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html