Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Resol lucio exercicis-pac2_action_script

3,659 views

Published on

Aquesta explicació forma part de l'exercici publicat a la meva wiki:
http://raco-vermell.wikispaces.com/F%C3%ADsica
Esta explicación forma parte del ejercicio publicado en mi wiki

Published in: Education
  • Be the first to comment

Resol lucio exercicis-pac2_action_script

  1. 1. RESOLUCIÓ DELS EXERCICIS D’ACTIONSCRIPT DE LA PAC 2 DE FÍSICAEl Flash, l’eix de les y positives va cap avall i el de les x positives ca cap a la dreta.onClipEvent (load) {//Tot el que està entre claudàtors s’executarà quan es carregui l’animació. Convé posaraquí els valors inicials de les variables.i = 1; //Defineix la variable que utilitzarem com a comptadorpinicialx=0; //Defineix el valor de la coordenada x inicialvinicialx=80; //Defineix el valor del component x de la velocitatpinicialy=0; //Defineix el valor de la coordenada y inicialvinicialy=20; //Defineix el valor del component y de la velocitat }onClipEvent (enterFrame) {//Tot el que segueix entre claudàtors s’executarà en arribar a quest fotogramat=i/50 //Defineix la variable del temps i depèn de la variable comptador “i”//Les següents línies defineixen les fórmules de la posició en funció del temps del movimentque es vol reproduirposició final = posició inicial + velocitat x tempsposicionx=pinicialx+vinicialx*tposiciony=pinicialy+vinicialy*t//Assignen al mòbil (designat per this) el valor de les coordenades que s’han obtingut abanssetProperty (this, _x, posicionx);setProperty (this, _y, posiciony);i = i+1 //Incrementa en una unitat el valor de la variable comptador }
  2. 2. Math.PIsinus Math.sincosinus Math.cost2 Math.pow(t,2) o també t*t0.5 La separació decimal s’escriu amb un punt* El símbol de multiplicació és un asterisc EXERCICI 1 MOVIMENT RECTILINI UNIFORMEMENT ACCELERAT
  3. 3. onClipEvent (load) {i = 1;//Coordenades inicials de x i ypinicialx=550;pinicialy=0;//Perque el moviment sigui rectilini, les velocitats inicials han d’estar a zero.vinicialx=0;vinicialy=0;//Acceleracióainicialx=-80;ainicialy=58; }onClipEvent (enterFrame) {t=i/50 //Aplicarem la fórmula dun moviment accelerat posicionx=pinicialx+vinicialx*t+(0.5*ainicialx*Math.pow(t,2)) posiciony=pinicialy+vinicialy*t+(0.5*ainicialy*Math.pow(t,2)) //Assignarem els valors a les variables setProperty (this, _x, posicionx); setProperty (this, _y, posiciony);i = i+1 }
  4. 4. EXERCICI 2 MOVIMENT OSCILATORIonClipEvent (load) { i = 1; //Declarem les posicions inicials Pinicialx = 88.40; Pinicialy = 201.70; //Amplitud de loscil·lació Ax = 50; Ay = 50; //Període les oscil·lacions Tx = 3; Ty = 3;}
  5. 5. onClipEvent (enterFrame) {t = i / 50; //Fórmules del moviment oscil·latori //φ = nπ = desfasament entre la component x i la component y //Perquè les pilotes es moguin amb diferent desfasament, s’ha variat el valor de “n” en cadascuna de les pilotes: n=0, n=1, n=2, n=3 i n=4 posicionx=Pinicialx+Ax*Math.cos((((2*Math.PI*t)/Tx)+((0*Math.PI)))) posiciony=Pinicialy+Ay*Math.cos(((2*Math.PI*t)/Ty)) setProperty(this, _x, posicionx); setProperty(this, _y, posiciony); i = i + 1} EXERCICI 3 MOVIMENT CIRCULAR
  6. 6. onClipEvent (load) { i = 1; //Posicions inicials Pinicialx = 264.5; Pinicialy = 200.4; //Amplitud de loscil·lació. //Si es vol que es dibuixi un cercle, x i y han de ser iguals. Si no fos així resultaria unoval. Ax = 150; Ay = 150; //Definim el període les oscil·lacions Tx = 3; Ty = 3;}onClipEvent (enterFrame) {t = i / 50; //Fórmules del moviment circular. //Utilitzarem la mateixa fórmula que el moviment oscil·latori, però en aquest cas el desfasament es divideix entre 2 (φ/2) en l’eix de la x. posicionx=Pinicialx+Ax*Math.cos((((2*Math.PI*t)/Tx)+((5*Math.PI)/2))) posiciony=Pinicialy+Ay*Math.cos(((2*Math.PI*t)/Ty)) setProperty(this, _x, posicionx); setProperty(this, _y, posiciony); i = i + 1}
  7. 7. EXERCICI 4 L’ASTRONAUTARepresenta un astronauta que dóna salts en la superfície de diferents planetes. L’astronautaté un pes de 80k i salta amb una força de 600 N.
  8. 8. En aquest cas, el procediment és el mateix en tots els astronautes. l’única cosa que canviarem serà lagravetat dels diferents planetes on salta cada astronauta.onClipEvent (load) { i = 1; //Posició inicial d’on surt l’astronauta abans de saltar Pinicialx = 137.55; Pinicialy = 141.05; //Gravetat del planeta on es troba G= 10;}onClipEvent (enterFrame) { t = i / 50; //Amb la força i la massa definirem la velocitat Vy = (-600/80)*0.5; //Apliquem la fórmula de la posició en funció del temps del moviment rectiliniuniformement accelerat. En aquest cas, l’acceleració és la gravetat. 2 distància = posició inicial + velocitat inicial · temps + ½ acceleració · temps posiciony = Pinicialy + Vy * 25 * t + 0.5 * G * 25 * Math.pow (t,2); setProperty(this, _x, posicionx); setProperty(this, _y, posiciony); //Lastronauta ha de parar quan toqui terra, per tant quan arribi a la posició que teniade y abans de saltar, s’aturarà if (_y>Pinicialy){setProperty(this,_y,Pinicialy) } else i = i + 1 //Mentre no arribi continuarà}
  9. 9. EXERCICI 5 MASSA QUE PENJA D’UNA MOLLACodi de la bola
  10. 10. onClipEvent (load) { i = 1; //Aquí s’indica fins on arribarà la molla quan s’estiri yinicial= 224.30; //Massa de la pilota m = 3; //Gravetat de la terra G = 10; //Rigidesa de la molla o constant de força de la molla k = 80; //Quant més alt és el número, més es comprimeix la molla //Desplaçament de la posició dequilibri A = 35; //Període de les oscil·lacions "T" T= 2*Math.PI*Math.sqrt(m/k); //Fórmula que estableix la posició dequilibri Y=yinicial+ ((m*G)/k);}onClipEvent (enterFrame) { t = i / 50; //Fórmula per trobar la posició de la bola, el +20 són del radi de la bola posiciony= 20+Y +A*Math.sin((2*Math.PI*t)/T); //Situem la bola als valors calculats setProperty (this, _y, posiciony); i = i + 1;}
  11. 11. Codi de la mollaonClipEvent (load) { i = 1; //Aquí s’indica fins on arribarà la molla quan s’estiri yinicial= 224.30; //Massa de la pilota m = 3; //Gravetat de la terra G = 10; //Rigidesa de la molla o constant de força de la molla k = 80; //Quant més alt és el número, més es comprimeix la molla
  12. 12. //Desplaçament de la posició dequilibri A = 35; //Període de les oscil·lacions "T" T= 2*Math.PI*Math.sqrt(m/k); //Fórmula que estableix la posició dequilibri Y=yinicial+ ((m*G)/k);}onClipEvent (enterFrame) { t = i / 50; posiciony= Y +A*Math.sin((2*Math.PI*t)/T); //Fórmula que relaciona lescala de la molla amb la posició "y" de la bola escalay= (100*posiciony)/(yinicial); //Introduim el valor de _yscale setProperty (this, _yscale, escalay); trace ("yinicial: " +yinicial); trace ("Posició Y: " + posiciony); i = i + 1;}

×