 |
Apprendre Maple Site dédié au logiciel de calcul formel Maple
|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 28 Fév 2012 18:12 Sujet du message: |
|
|
Bonjour,
Ceci n'ayant qu'un lointain rapport avec votre sujet, voici la programmation du rebond d'une balle sur les bords d'un cadre: ceci pourra peut-être vous inspirer pour votre propre problème.
Code: |
> restart: with(plots): with(plottools):
> balle := proc(x,y,r) PLOT(disk([x,y], r, color=red)) end:
> trajectoire:=proc(X,Y,alpha,n,xMin,xMax,yMin,yMax,width,height,frx,fry)
> local L,k,x,y,fricx,fricy;
> x:=X; y:=Y; fricx:=frx; fricy:=fry; L:=[x,y];
> for k to n do
> x := evalf(x+ cos(alpha)*fricx*0.98);
> y := evalf(y+ sin(alpha)*fricy*0.98);
> if (x+width>=xMax) then
> fricx := -fricx;
> x := evalf(xMax-height);
> fi;
> if (x-width<=xMin) then
> fricx := -fricx;
> x := evalf(xMin+height);
> fi;
> if (y+height>=yMax) then
> fricy := -fricy;
> y := evalf(yMax-width);
> fi;
> if (y-height<=yMin) then
> fricy := -fricy;
> y := evalf(yMin+width);
> fi;
> L:=L,[x,y]
> od;
> [L]
> end proc:
> T:=trajectoire(50,70,Pi/3,100,0,150,0,100,5,5,20,20):
> cadre:=rectangle([0,0],[150,100]):
> A:=display([seq(balle(T[k][1],T[k][2],5),k=1..nops(T))],insequence=true,axes=none):
> display([cadre,A],scaling=constrained);
|
A plus tard. |
|
Revenir en haut de page |
|
 |
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 29 Fév 2012 7:51 Sujet du message: |
|
|
Bonjour,
Dans mon exemple:
X,Y: position initiale
alpha: angle avec l'horizontale (compris entre 0 et Pi/2)
n: nombre de rebonds
xMin,xMax,yMin,yMax: limites du cadre
width,height: dimensions du rectangle englobant la balle
frx,fry: frottements en x et y.
C'était juste pour vous donner un exemple d'animation dont certains éléments pourront être repris dans votre propre problème. |
|
Revenir en haut de page |
|
 |
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 02 Mar 2012 7:42 Sujet du message: Re: |
|
|
Bonjour,
Pour représenter une fonction définie par morceaux sur différents intervalles de R, utilisez la fonction piecewise:
Citation: |
piecewise(cond_1, f_1, cond_2, f_2, ..., cond_n, f_n, f_otherwise).
|
A bientôt |
|
Revenir en haut de page |
|
 |
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com
Apprendre Maple - ©
- Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.
|