Física i Flash: Com usar Flash per a fer simulacions o demostracions de Física

(Traducció autoritzada de la pàgina web del Prof. David Harrison, de la Universitat de Toronto, Canadà. L'original en anglès està ací. La traducció a l'espanyol, ací. Traduït per Marisa Cano-Villalba i Albert Gras-Martí. Per tot allò que es referisca a la traducció escriviu a les adreces indicades en http://ticat.ua.es o a agm@ua.es).

Tots sabem que Flash permet fer animacions de qualitat. Però no és tan conegut que es pot fer servir per a fer demostracions en ciències, si s'hi inclouen les equacions matemàtiques corresponents per controlar els moviments. L'ús d'equacions de Física adequades també permet fer jocs d'ordinador més versemblants. Aquest petit document explica com explotar la capacitat de fer servir equacions per a controlar animacions. Suposarem que ja saps alguna cosa sobre Flash, i que tens al menys un coneixement rudimentari d'ActionScript. (Si no és així et recomanem el curs tic@'t de Flash: en 20 hores t'introduiràs).

Tot seguit crearem 5 animacions diferents. Les hem triat ben senzilles, per no perdre'ns en detalls sense importància.

La versió de Flash que necessites és, almenys, la MX 2004.

L'Oscil·lador Harmònic no esmorteït

Farem servir un oscil·lador harmonic, com ara una masss que oscil·la unida a una molla. Les matemàtiques són ben senzilles. Per al cas ideal d'un oscil·lador que no patisca forces dissipatives, el moviment ve donat per:

 
(1)
A és l'amplitud màxima d'oscil·lació; (omega zero) és la freqüència angular "natural" d'oscil·lació, que depèn de la massa i de la molla concreta; t és e temps; (fi) s'anomena l'"angle de fase" de l'oscil·lació, i depèn de quin és el moment que triem per anomenar-lo instant zero.

En aquest document triarem l'angle de fase de manera que siga nul. Per tant, l'animació seguirà l'equació següent:

 
(2)

Tot i que anomenem posició a y, més avall veurem que convé que el moviment tinga lloc en una direcció horitzontal. En el llenguatge d'ActionScript s'anomena _x.

La freqüència angular es mesura en radians/segon, que multiplicats pel temps dóna radiants. Les funcions trigonomètriques de Flash també mesuren els angles en radiants. Els humans habitualment pensem en aquestos moviments en termes de la freqüència, mesurada en Hz, o del període T d'oscil·lació. El període està relacionat amb la freqüència angular per:

 
(3)
A la dreta mostrem una gràfica de l'eq.(2) per a un valor del període igual a 2 segons.

Simulem-lo (Fingim-lo)

Tot i que l'objectiu d'aquestes notes és principalment aprendre a fer servir ActionScript per a controlar adequadament una animació, de vegades és possible sortir-se'n bé simulant-la (fingint-la). Això és el que veurem ara.

L'oscil·lador no esmorteït tindrà un període de 2.0 s. Això correspon a una freqüència angular iguals, un nombre irracional.

Aconselle que s'escriguen les animacions per al reproductor Flash més antic possible. Així minimitzem el nombre de persones que necessiten actualitzar el seu reproductor per poder veure l'animació. Per exemple, es podria deixar la configuració (Settings ...) en Flash Player 5, en lloc de Flash Player 7, ActionScript 2. (Aquest, però, és un tema poc important).

Obri un document Flash nou i col·loca-hi algun objecte, com ara un cercle. Insereix fotogrames clau en 7, 13, 19 i 25. La teua finestra de Flash contindrà quelcom de semblant a aquesta imatge:

Hem dit abans que volíem un període de 2.0 segons, i per al ritme de fotogrames de Flash, per defecte, de 12.0 fps això correspon a 24 fotogrames. Potser t'estigues preguntant per què hem posat el darrer fotograma clau en 25 en lloc de 24. La raó és que el primer fotograma és 1 i no 0. Per això, entre el primer i el darrer fotograma clau tenim 25 -1 = 24 fotogrames. Anàlogament, entre qualsevol fotograma clau i el següent hi ha exactament 6 fotogrames, que és 1/4 del període.

Farem que l'objecte que estiga en els fotogrames clau 1, 13 i 25 estiga en la posició d'equilibri, i no canviarem la posició de l'objecte en aquestos diagrames.

TRia el 7 com a marc clau i mou l'objecte un poc a la dreta. Tria el marc 19 com a marc clau i mou l'objecte la mateixa distància que abans, però cap a l'esquerra.

Ara posa un "pont" (tween, que ve de "between") entre cada parell de marcs clau. L'objecte és simplement un cercle, i puc fer servir un "tween" Shape. El resultat té l'aspecte següent:

No té bona pinta. No sembla molt harmònic, i hi ha un "bony" quan es mou a través de la posició central, d'esquerra a dreta.

Es pot fer més autèntic si fem servir l'opció Eases sobre els "tweens". El control Ease està just a sota del Tween, en el tauler de propietats. Com mostra la imagte de la dreta, hem triat un valor 100: "Ease Out 100."

Dóna els valors següents a Ease:

Entre els marcs 1 i 7: Ease Out 100.
Entre els marcs 7 i 13: Ease In 100.
Entre els marcs 13 i 19: Ease Out 100.
Entre els marcs 19 i 25: Ease In 100.

Finalment, el "bony" apareix perquè els dos marcs clau 1 i 25 tenen l'objecte en la mateixa posició. Per a arreglar-ho:

  1. Insereix un marc clau en el marc 24. Assegura't que ho fas després d'haver fixat els "tweens" i d'haver-los "eased".
  2. Elimina els continguts del marc 25 i elimina el marc. El marc final de l'animació serà ara el 24.

Vas a obtenir el següent:

Açò ja té millor aspecte, i pot ser més que suficient per a molts propòsits.

Detín-te un poc i convence't que el període d'aquesta darrera animació és de 2.00 segons. De fet, la primera animació de dalt tenia un període igual a 25/12 = 2.083 segons. En general, seria millor que Flash començara a comptar marcs des del 0 i no de l'1.

Fes-ho amb ActionScript

Fem ara una animació semblant a l'anterior però fent servir el llenguatge ActionScript que incorpora Flash. L'oscil·lador tindrà un període de 2.00 s, com abans. Veuràs que aquesta animació serà d'un sol marc.

El llenguatge ActionScript té una sintaxi semblant a C, JavaScript, etc., de manera que si coneixes algun d'aquestos llenguatges aleshores ja sabràs on cal posar claudàtors corbats, punts i comes, etc. També veuràs que que fem servir les funcions matemàtiques i les constants de Flash; aquestes comencen amb el prefix (string) Math., com ara Math.sin().

Crea un document de Flash nou. Jo he modificat els Settings a Flash Player 6, i ActionScript 1, però tu pots fer servir els valors per defecte que vulgues.

Crea un objecte, com ara un cercle, en l'escenari i assegura't que està seleccionat. Per tal de controlar l'objecte amb ActionScript l¡has de copnvertir a Movie Clip. Flash MX i Flash MX 2004 tenen maneres lleugerament diferents de fer-ho. En el cas de Flash MX tria Insert > Convert to Symbol. Per al cas de Flash MX 2004 tria Modify > Convert to Symbol. Per a les dues versions de Flash, la tecla F8 tindrà el mateix efecte; una 3a opció és fer clic sobre l'objecte amb el botó de la dreta del ratolí i triar la instrucció Convert to Symbol.

In the window that appears click on Movie Clip and name it sphere_mc, as shown.

Una vegada hages seleccionar el nou "movie clip" anomena'l esfera (sphere, en la imatge de la dreta), en el tauler de Propietats.

Convé que deixes el "movie clip" en la seua capa. Crea una nova capa i anomena-la accions (actions, en la imatge de la dreta).

Mentre tens aquesta capa accions seleccionada obri el taule Actions de la part inferior de la finestra principal.


Introdueix en el tauler Actions el codi que mostrem en la imatge de la dreta.

I ja està. Tot seguit mostrem el resultat.

Cal fer ací algun comentaris sobre el codi:

Aviat modificarem aquesta animació. De moment guarda-la i dóna-li un nom, com ara Simple.

Treball extra per a tu amb l'Oscil·lador no esmorteït

Et propose ací alguns "deures" per tal que et distragues i aprengues més.

Problema 1

Modifica l'oscil·lador de manera que tinga un període de 1.7 segons.

Problema 2

Per a l'oscil·lador no modificat, que té un període de 2.00 segons, verifica amb un rellotge que el període és al menys aproximadament correcte.

Ara canvia els marcs per segon de l'oscil·lador a 24 fps i observa quin efecte té sobre el període.

Ara modifica l'ActionScript en la capa d'accions i fes el període de 2.00 segons, per a aquella velocitat dels marcs.

Comparem la versió falsa amb la d'ActionScript

En primer lloc, dins dela resolució de la pantalla la versió d'ActionScript és correcta, i no només una aproximació que té pinta de correcta.

La potència del mètode basat en ActionScript resulta evident si consideres com fer que el període d'oscil·lació siga, per exemple, de 1.7 segons. Això correspon a 1.7 segon * 12 marcs / segon = 20.4 marcs. En el mètode simulat resultaria impossible: el període ha de ser un nombre enter de marcs. Aquesta dificultat no es presenta amb el mètode d'ActionScript.

Personalment, fer l'animació anterior amb ActionScript és molta menys feina que simular-la, però jo sóc físic. Escriure 9 línies de codi ActionScript simple em resulta més senzill que afegir els 4 marcs clau, fer-los "tween" i "ease", i eliminar el marc últim.

A més a més, l'arxiu swf file per a la versió d'ActionScript és molt més menut que el simulat: 401 bytes i no 1062 bytes. Per descomptat que aquestos dos són petits. Per a projectes més complexos, les diferències de grandària es multipliquen ràpidament.

Moviment harmònic esmorteït

En el món real sempre hi ha forces dissipatives. Per això, en lloc de l'oscil·lador no esmorteït que acabem de veure, l'oscil·lador harmònic esmorteït és més realista.

Les forces dissipatives del món real són complexes i sorprenentment difícils de descriure. Una aproximació senzilla i que és tractable matemàticament suposa que la força dissipativa és proporcional i oposada a la direcció de la velocitat v de l'objecte:

 
(4)

La constant (gamma) s'anomena el factor d'esmortïment.

També farem la hipòtesi simplificatòria que la massa de l'objecte que oscil·la és 1.0 en les unitats que fem servir.

En aquest cas. el moviment de l'objecte és:

 
(5)

En l'equació anterior e és un nombre irracional, la base dels logarismes neperians, i val aproximadament 2.718. Per tant, el terme que el conté es llig "e elevat a menys gamma mitjos pel temps t." Per tant, l'amplitud decreix exponencialment en passar el temps. L'objecte d'ActionScript per a exponents és Math.exp().

A més a més, la freqüència angular de l'oscil·lador varia una mica a causa del factor d'esmortiment . Si és la freqüència que tindria l'oscil·lador en absència d'esmortiment, si aquesta és major que / 2 aleshores la freqüència d'oscil·lació de l'Eq.(5) seria:

 
(6)

Mostrem ací una gràfica de l'Eq.(5) per als valors següents:

= (el mateix valor que en el dibuix anterior de l'oscil·lador no esmorteït.)

= 0.2

Les línies blaves a traços de la gràfica indiquen l'amplitud màxima d'oscil·lació.

 

Animació de l'oscil·lador esmorteït

Fer una "simulació" de l'oscil·lador esmorteït sembla una idea espantosa. Necessitaríem afegir marcs per tal de fer que el període fóra aproximadament el correcte. Aleshores hauríem de prendre cada cicle de l'oscil·lació, copiar i enganxar els marcs, modificar les amplituds màximes a partir de les equacions anteriors, i repetir el procés fins que les oscil·lacions foren tan petites que foren invisibles. No ens ho plantejarem, sinó que farem servir simplement ActionScript.

Modificarem l'animació que hem fet abans per a l'oscil·lador no esmorteït. Obri l'arxiu fla d'aquella animació, i guarda-la amb un altre nom, com ara Esmorteit (evita en el nom els caràcters accentuats, o la ï).

Modifica les accions segons indica la imatge de la dreta.

Fem alguns commentaris sobre el codi:

Si no comets cap errada, aquestes línies de codi mostraran l'oscil·lador harmònic esmorteït. Tanmateix, només funcionarà una vegada! En esmortir-se les oscil·lacions l'objecte restarà aparetment immòbil. Per tant, cal afegir un botó que permeta reiniciar el moviment.

Crea en l'animació una capa nova anomenada reset. Col·loca-hi qualsevol botó que vulgues, dels disponibles en la llibreria comú: Common Library.

Seleccióna el botó i afegeix-li aquesta acció.

El que fa és tornar el valor del temps a 0, en fer-ne clic.

Mostrem el resultat tot seguit. Segons el temps que haja estat aquesta pàgina en el teu navegador, pot fer falta fer clic sobre el botó blau de rebobinar "actualitzar la pàgina" per tal de poder veure el moviment de nou.

Millor guarda l'arxiu abans de continuar.

Exercicis extres amb l'oscil·lador esmorteït

Per a l'oscil·lador esmorteït diem que l'amplitud de l'oscil·lació ve modulada pel terme exponencial que mostrem a la dreta:
exponential damping term

Quan es connecta el sistema de dues molles a una tercera molla, un tipus de moviment que pot resultar és el que mostra l'equació següent:

 
resonance equation for coupled oscillators
 

L'amplitud màxima ve modulada per un terme que varia amb el temps com una funció sinus, amb una freqüència de modulaciómodulation frequency.

Diem que l'amplitud està modulada per aquest terme:

modulation for resonance

La imatge de la dreta mostra la posició en funció del temps per a aquest moviment. La línia roja mostra el moviment de l'objecte, i la blava mostra la modulació.

He triat una freqüència de modulació modulation frequency= 0.2. La resta de parámetres són idèntics a l'exemple de l'oscil·lador esmorteït.

resonance motion

Animem aquest cas.

Una altra manera de fer l'animació

Els físics solen pensar en problemes com el de l'oscil·lador harmònic esmorteït com la reacció del sistema, la bola roja, a forces que l'hi imposa l'entorn. D'aquesta manera es va fer l'animació de la secció anterior: el moviment de l'objecte es controla a força de moviments imposats a sobre mitjançant la capa d'accions de l'escena principal de la simulació. Per tant, l'escena principal de l'animació representa l'entorn físic que actua sobre la bola.

Els experts en animacions en Flash sovint les imaginen de manera lleugerament diferent. Fan que l'objecte controle el seu moviment, de vegades en funció de l'entorn local. En física açò equival a l'aproximació que fa la Teoria General de la Relativitat. També és la base del programa Turtle Graphics (gràfics tortuga), popularitsat per Seymour Papert i altres del MIT. Reescrivim de nou l'oscil·lador harmònic esmorteït fent servir aquesta aproximació al problema.

Una vegada obert l'arxiu fla Damped (o Esmorteit) de la secció anterior, guarda'l (Save as) amb un altre nom, per exemple Esmorteit2.

Selecciona el "movie clip" de l'esfera i obri el tauler d'Accions. Introdueix el codi que mostrem ala dreta. Pots simplement tallar i enganxar a partir de la capa d'accions.

Les variables prenen valors quan es carrega el clip.

Fixa't que en la línia 3 indiquem la posició inicial de l'esfera segons on està en l'escena principal. Totes les altres propietats del clip estan en el mateix lloc.

Aleshores el moviment del clip es controla cada vegada que s'entra al marc, com abans. Fixa't que en la línia 11 no ens referim al nom de l'objecte del clip de pel·lícula, esfera en aquest cas: com que el codi està associat amb el clip, i no s'hi imposa des de fora, no cal fer aquesta especificació.

Esborra la capa d'accions de l'escena principal. Només hi romandran la capa que conté l'objecte esfera del clip de pel·lícula sphere_mc i la capa que conté el botó de rebobinar.

Si no t'has equivocat, hauries de veure l'oscil·lador esmorteït gairebé com el que hem discutit en la secció anterior. Tanmateix, encara hi ha un problema: ja no funciona el botó de rebobinar.

I la raó és que la vairable temps t que en controla el moviment és ara part del clip esfera clip, i el botó de rebobinar controla una variable del mateix nom però que està associada a l'escena principal.

Selecciona el botó de rebobinar i obri el tauler d'Actions. Modifica el codi de manera que tinga l'aspecte que mostrem en la imatge de la dreta.

Ara estem fixant la variable temps t del clip de l'esfera a l'acció de fer clic amb el botó.

L'animació es comportarà ara de manera idèntica que la de la secció prèvia, i no la incloure en aquest document.

Per tant, en aquesta aproximació el clip es controla a si mateix, però per posar el temps a zero imposem un valor des de l'escena principal.

Vaig fer servir una aproximació semblant en fer l'animació de desintegracions nuclears radiactives. Pots veure l'animació en fer clic sobre el botó blau de la dreta; apareixerà en una finestra a banda.

Ací tenim 500 còpies del fragment de pel·lícula (clip) d'un nucli i cadascuna decideix de manera independent quan desintegrar-se. El temps de desintegració és aleatori, d'acord amb un programa anomenat càlcul de Monte Carlo (el mateix nom que els famós casino). Hi ha, però, una diferència que vull fer notar: la instrucció onClipEvent() només pot cridar una vegada al fragment de pel·lícula (clip). Per això, el codi de la Desintegració Radiactiva (Nuclear Decay) no fa servir aquesta funció, sinó aquesta altra: onEnterFrame = function()....

Aproximació numèrica

Per a l'oscil·lador no esmorteït hem dit dalt, sense demostrar-ho, que la posició de l'esfera varia amb el temps segons:

 

Aquest tipus de moviment apareix quan es lliga una massa a una molla. S'arriba a l'equació anterior, a a partir de la força que fa la molla, en resoldre una equació diferencial. En aquesta secció tornarem a fer una animació de l'oscil·lador no esmorteït, però farem servir només la relació entre força, acceleració, velocitat i posició.

Hi ha una posició d'equilibri per a la molla, x0, i quan la massa hi està, la molla no l'hi fa cap força. Això es mostra en la part superior de la figura de la dreta.

Quan la massa no és a la posició d'equilibri, com en la part inferior de la figura, la força que fa la molla sempre està dirigida cap a la posició d'equilibri. Per això se sol parlar de força restauradora.

spring-mass system

Resulta que, en una aproximació molt bona, la força que fa la molla és proporcional a la distància que la separa de la posició d'equilibri. Això s'anomena Llei de Hooke's Law i matemàticament s'expressa així:

 
(7)

Ací, k és una constant per a cada molla. El primer signe menys indica que la força és restauradora: si x és major que x0 la força és negativa; si x és menor que x0 la força és positiva. Per tant, la força sempre es dirigeix cap a la posició d'equilibri.

Newton ens va ensenyar que la relació entre forces F, masses m i l'acceleració a és :

 
(8)

En combinar aquestes dues equacions obtenim la relació entre l'acceleració i la posició de la massa:

 
(9)

La constant c és la constant de la molla dividida pel valor de la massa.

L'acceleració és el ritme de canvi de la velocitat. Per tant, si la massa té una velocitat inicial vi, aleshores al cap d'un temps dt la seua velocitat final vf serà:

 
(10)

De manera semblant, la velocitat és el ritme de canvi de la posició; per tant:

 
(11)

Creem un exemple de clip de pel·lícula d'esfera, com en la secció Fem-ho amb ActionScript, i creem una capa d'accions.

HAcí mostre el codi de la capa d'accions que incorporar les equacions 9, 10 i 11. Tot seguit mostrem el resultat.

Fixa't que l'ActionScript no té fruncions trigonomètriques, i simplement incrementa la velocitat en base al valor actual de l'acceleració, i la posició en base al valor de la velocitat. Tanmateix, sí que sembla que la posició varia amb el temps com una funció sinus.

Numerical integration actions

Hi ha alguns detalls en les 3 senzilles línies de codi que actualitzen l'acceleració, la velocitat i la posició. Per exemple, com hem dit actualitzem la posició x fent servir el nou valor de la velocitat v. Si invertim les línies que actualitzen x i v estarem actualitzant la posició amb el valor vell de la velocitat:

	...
	a = -c * (x - x0);
	x += v * dt;
	v += a * dt
	...

També podríem pensar en actualitzar la posició fent servir la mitjana entre el valor de la velocitat vell i el nou. Aquestes subtileses no anem a explicar-les ací. Cerca, amb Google per exemple, "mètode d'Euler" i en podràs aprendre. Al final d'aquesta secció hi ha una petita nota sobre aquest tema i sobre l'animació anterior.

També, les equations 10 i 11 són únicament certes quan l'"interval temporal" dt és infinitessimalment petit (podeu lleguir més detalls sobre aquesta afirmació, que té quelcom de qualitativa, en http://ticat.ua.es/curie/materials/tesis/rlglv-1.pdf, http://ticat.ua.es/curie/materials/tesis/rlglv-2.pdf). Més amunt he fixat el pas temporal com la inversa dels marcs per segon de l'animació, 1/12 = 0.08333... Aquest valor és ben petit, però no infinitessimalment petit.

Podem augmentar la precisió de l'animació si posem un bucle dins la funció onEnterFrame per tal de reduir la grandària de l'interval temporal que es fa servir en el càlcul. Les línies de codi següents redueixen l'interval temporal efectiu a 1/1200 = 0.00008333... :

onEnterFrame = function(){
	for(i = 1; i <= 1000; i++) {
		a = -c * (x - x0);
		v += a * dt/1000;
		x += v * dt/1000;
	}
	sphere._x = x;
}

Per descomptat que això augmenta el nombre de càlculs que s'han de fer per cada marc en un factor de 1000. Per a un ordinador suficientment ràpid aquesta modificació no té efectes visibles sobre l'animació, per això ni em moleste en advertir-ho.

Finalment, tot i que aquesta tècnica d'"integració numèrica" no té massa beneficis per al'oscil·lador no esmorteït hi ha circumstàncies, com en molts problemes de caos, en què no hi ha cap solució analítica. En aquests casos sovint la integració numèrica és l'única manera de fer l'animació.

Per exemple, el famós "problema gravitatori dels 3 cossos" en el qual hi ha dos "Sols" fixos i un planeta, no té solució analítica. Si fas clic en el botó de la dreta veuràs una integració numèrica que resol aquest problema; l'arxiu apareixerà en una finestra diferent.

fes clic per veure l'animació

Nota tècnica

Tot i que aquest tutorial és sobre Flash i ActionScript, per completar-la cal que esmente un parell d'assumptes sobre l'anterior integració numèrica de l'oscil·lador no esmorteït. El mètode d'Euler esmentat abans actualitza la posició fent servir el valor vell de la velocitat, però no és la manera com es fa en l'animació que s'hi mostra; en l'animació faig servir el valor nou de la velocitat per actualitzar la posició. Per a aquest problema, el mètode concret d'Euler és inestable per a l'interval de temps que es fa servir, i l'amplitud de l'oscil·lació augmenta sense límit. Si reduïm l'interval temporal en un factor de 1000 mitjançánt el codi que s'ha esmentat abans, el mètode d'Euler és estable i l'animació te pràcticament el mateix aspecte que el que s'hi mostra.

Deures sobre l'aproximació numèrica

Et propose alguns exercicis.

Problema 1

Per a l'oscil·lador no esmorteït, modifica el codi de manera que la posició s'actualitze fent servir el valor vell de la velocitat i observa'n els resultats. Implementa un codi semblant al que es mostra dalt per a reduir la grandària del pas en diverses qantitats, i observa què ocorre.

Problema 2

Com s'ha esmentat al començament de la secció sobre el Moviment harmònic esmorteït l'oscil·lador harmònic esmorteït que s'ha animat abans té una força d'esmortiment que és proporcional a la velocitat de l'objecte:

 

Ací,és una constant per a un sistema físic donat, i el signe menys indica que la força d'esmortiment assenyala en la direcció oposada a la velocitat, de manera que sempre tracta de frenar l'objecte.

La força total que actua sobre l'objecte és la suma d'aquesta força d'esmortiment i la forá que fa la molla, donada per l'eq. 7. La força total és igual a la massa per l'acceleració, eq. 8.

Fes servir la integració numèrica per a desenvolupar una animació de l'oscil·lador harmònic esmorteït.

Problema 3

La força d'esmortiment anterior resulta ser poc realista per a la majoria de les circumstàncies físiques. Una aproximació millor a la força d'esmortiment és:

 
(12)

La força varia com el quadrat de la velocitat, i b és una constant. El problema amb aquesta experssió és que la solució ja no és analítica, i per aquesta raó la majoria dels llibres de Física General fan servir l'expressió més senzilla.

Fes una animació per a aquest cas fent servir integració numèrica.

Sobre versions diferents d'ActionScript

Versions recents de Flash MX i el reproductor de Flash suporten la versió 2 del llenguatge ActionScript. Això permet programar fent servir mètodes orientats a objectes. Tot i que són ben partidari d'aquesta opció per a programes d'ordinador extensos, no faig servir en aquesta secció mètodes orientats a objectes.

Referència

Aquest tutorial tan sols rasca la superfície del tema. Hi ha molts recursos disponibles per a aprendre més sobre ActionScript, que no llistaré ací.

Tanmateix, si en acabar el teu curs de Física llances immediatament el llibre de text al mar, i desrpés necessites refrescar la teua memòria en temes de física, hi ha un llibre ben recomanable:

David M. Bourg, Physics for Game Developers (O'Reilly, 2002, ISBN 0-596-00006-5)

Tot i que el codi està escrit en C++, és ben trivial traduir-los a ActionScript.

Autor

Aquest document l'ha escrit David M. Harrison, Dept. de Física, Univ. de Toronto, harrison@physics.utoronto.ca, el gener de 2005. La darrera modificació és del 18/11/2005.

Aquest document té Copyright © 2005 David M. Harrison.

(Traducció autoritzada de la pàgina web del Prof. David Harrison, de la Universitat de Toronto, Canadà. L'original en anglès està ací. La traducció a l'espanyol, ací. Traduït per Marisa Cano-Villalba i Albert Gras-Martí. Per tot allò que es referisca a la traducció escriviu a les adreces indicades en http://ticat.ua.es o a agm@ua.es).


Creative Commons License Aquest treball es llicencia sota una Creative Commons License.