<< pagina principale < ······················ << articoli < ······················

MOTI PUNTIFORMI CON L'ELABORATORE

di Roberto Ricci

Premessa

II lettore viene qui condotto a costruire semplici programmi per realizzare — e non simulare — moti puntiformi sul vìdeo grafico di un PC, ad analizzarli con metro e cronometro, a confrontarli con quelli sperimentabili in laboratorio di fìsica e descritti attraverso più o meno semplici modelli matematici. Insieme al concetto di modello dinamico informatico, assume particolare concretezza operativa anche il principio di composizione dei moti. I diversi moti di un punto materiale, il pixel del video grafico, sono realizzati mediante semplici modelli numerici in TurboPascal 3.0 (su IBM compatibili con microprocessore 8086 e schede grafica CGA).

Preliminari

Eseguendo il programma con le seguenti istruzioni:

hires;
plot(100,100,1)

si struttura il video in modalità grafica ad alta risoluzione e quindi si crea un punto materiale nella posizione di coordinate (100,100) nel sistema cartesiano che ha origine nello spigolo in alto a sinistra del video, con asse x orizzontale verso destra, con asse y verticale verso il basso. Eseguendo il programma con le istruzioni

plot(100,100,1);
repeat
until keypressed;
read;
plot(100,100,0)

si crea un punto materiale in posizione (100,100) e lo si distrugge premendo un tasto qualunque. Le due istruzioni in sequenza

repeat
until keypressed;
read;

consentono infatti di far funzionare un tasto qualunque della tastiera come "pulsante" per terminare o per iniziare un determinato processo, come si vedrà meglio nel seguito. Le semplici procedure seguenti verranno poi utilizzate per rendere più agevole la scrittura di programmi per produrre moti puntiformi sullo schermo:

procedure mettiln(x,y:real);
begin
plot(round(x), round(y),l)
end;

procedure togliDa(x,y:real);
begin
plot(round(x), round(y),0) 
end;

procedure sposta(xO,yO,xl,yl:real);
begin
  togliDa(xO,yO); 
  mettiln(xl,yl)
end;

procedure via; begin repeat until keypressed; read end

Costruzione di moti rettilinei uniformi e uniformemente vari

II seguente blocco istruzione, preceduto dalle dichiarazioni delle procedure appena descritte, realizza un moto sullo schermo del PC.

xO:=10;              (posizione attuale)
yO:=100;
mettiln(x0,y0);
dx:=0.05;            (passo)
via;
repeat
   xl:=xO+dx; (nuova posizione)
   sposta(xO,yO,xl,yO);
   xO:=xl
until keypressed; 
read

Premendo un tasto qualsiasi il punto sullo schermo si mette in movimento, e si ferma premendo ancora un tasto qualsiasi.

L'esperimento è ripetibile: rieseguendo più volte il programma, con lo stesso valore per il passo, si ottiene lo stesso moto.

Per variare la posizione di un punto dello schermo si può anche far compiere un passo esso stesso variabile uniformemente. Indicato con dx0 il passo attuale, con dxl il passo nell'istante successivo e ddx la quantità, costante, di cui varia il passo, ad esempio ddx:=0.0001, si può dunque modificare il programma precedente

xO:=10;           (posizione attuale) 
yO:=100;
mettiln(x0,y0);
dxO:=0.01;        (passo attuale)
ddx:=.0001;       (incremento costante del passo)
via;
repeat
   xl:=xO+dx;     (nuova posizione)<
   dxl:=dxO+ddx;  (nuovo passo)
   sposta(xO,yO,xl,y0);
   xO:=xl;
   dxO:=dxl
until keypressed;
read

I programmi realizzati sono modelli numerici ed informatici dei moti puntiformi che realizzano.

Si può procedere quindi all'analisi sperimentale dei due moti utilizzando metro e cronometro. Occorrerà fissare per il passo un valore opportuno, piccolo, al fine di agevolare le misurazioni dei tempi e limitare l'errore, e rieseguire per ogni misurazione necessaria il programma; si può completare una tabella:

s ± ... (cm) t ± ... (s) T± ... (s)
la mis 2a mis 3a mis 4a mis 5a mis
0            
4            
12            
16            
20            

 

e rappresentare graficamente i valori ottenuti della legge oraria del moto. Si possono segnare sul video mediante un pennarello le posizioni O, 4, 8, ... Analizzato il grafico si procederà al calcolo delle velocità medie in ogni tratto.

Moto dei proiettili

Ripreso il programma dei moti uniformi si può modificarlo in modo da ottenere un moto lungo la dirczione y. Si osservi che lo stesso valore per il passo produce risultati fisici diversi nelle due direzioni, ciò perché il sistema cartesiano del video non è monometrico. Si può ancora modificare in modo tale da comporre due moti uniformi, lungo la dirczione x e lungo la direzione y.

xO:=10;
yO:=10;
mettiln(x0,y0);
dx:=0.1;
dy:=0.05;
via;
repeat
   xl:=xO+dx;
   yl:=yO+dy;
   sposta(xO,yO,xl,yl);
   xO:=xl;
   y0:=yl
until keypressed; 
read<

È utile eseguire più volte il programma variando sia dx che dy. Si possono poi misurare con metro e cronometro le tre velocità Vx, Vy (ponendo nel programma prima sposta(x0, y0, x1, y0) e poi sposta(x0, y0, x0, y1) al posto di sposta (x0, y0, x1, y1) e V verificando la relazione V2 = Vx2+ Vy2 (che non è compromessa dall'essere non monometrico il sistema di coordinate video, poiché gli spazi percorsi in ogni dirczione vengono misurati con lo stesso metro). Componendo poi il moto uniforme lungo l'asse x con un contemporaneo movimento uniformemente accelerato lungo la dirczione y,si ottiene un moto parabolico.

xO:=10;
yO:=10;
mettiln(x0,y0);
dyO:=0;
ddy:=.0001;
dx:=0.2;
via;
repeat
   xl:=xO+dx;
   yl:=yO+dyO;
   dyl:=dyO+ddy;
   sposta(xO,yO,xl,yl);
   xO:=xl;
   yO:=yi;
   dyO:-dyl
until keypressed; 
read

È utile rieseguire il programma variando ddy e dx.

Si può facilmente calcolare la velocità del moto dell'ascissa e l'accelerazione del moto dell'ordinata sostituendo l'istruzione sposta (xO, yO, xl, yl) dapprima con sposta (xO, yO, xl, yO) e poi con sposta (xO, yO, xO, yl) studiando così, rispettivamente, la componente lungo la dirczione x e lungo la dirczione y del moto in esame. Infine, tornando al moto del proiettile, si può riportare su carta millimetrata una decina di posizioni occupate dal punto luminoso e quindi, preso come origine del sistema di riferimento la posizione iniziale, calcolare per ognuna il rapporto y/x2. Si può confrontare infine tale rapporto, costante entro gli errori sperimentali, con ay/(2·vx2)

 

Produzione di moti armonici e circolari uniformi

A partire dalla relazione fondamentale dei moti armonici a = —kx si può modificare il programma sui moti accelerati imponendo all'incremento con cui varia il passo, legato all'accelerazione, di variare a sua volta tenendo conto della posizione.

xO:=320;               {posizione attuale}
yO:=100; 
mettiln(x0,y0);
dxO:=0.8;              {passo attuale}
ddxO:=0;               {incremento con cui varia inizialmente il passo}
k:=0.00001;
via;
repeat
   xl:=xO+dxO;          {nuova posizione}
   dxl:=dxO+ddx1;       {nuovo passo}
   ddxl:=ddxO-k*dxO;    {nuovo incremento del passo}
   sposta(xO,yO,x1,yO)
   xfl:=v1;
   dxO:=dx1;
   ddxO:=ddx1
until keypressed; 
read

Componendo due moti armonici identici nelle due direzioni x e y (che tuttavia saranno realizzati con parametri diversi a causa della non monometricità del sistema cartesiano su cui è basata la procedura predefìnita "plot") si possono ottenere moti circolari uniformi.

Per studiare le traiettorie dei moti che si realizzano quando invece i due moti armonici componenti non sono uguali, le curve di Lissajous, può essere utile sostituire l'istruzione sposta (xO, yO, xl, yl) con plot (xO, yO, 1).

 

Osservazioni conclusive

Le istruzioni e i risultati sono legati all'HW utilizzato: il microprocessore 8086 e la scheda grafica CGA. Nel caso in cui la velocità di elaborazione della macchina sia superiore occorrerà naturalmente variare, diminuendoli, i valori dei passi, degli incrementi ecc., per realizzare moti che, ad esempio, non escano troppo rapidamente dallo schermo e comunque non rendano disagevole le misurazioni. Nel caso poi, sempre più frequente, in cui si abbia a disposizione una scheda grafica VGA, occorrerà utilizzare necessariamente il TurboPascal 4.0 o seguenti. Ciò comporta differenze nelle procedure grafiche e nel loro uso, nonché la necessità eventuale di utilizzare quelle combinazioni di colori che consentano il miglior contrasto tra il punto e lo sfondo.

È comunque ancora possibile utilizzare nel modo indicato il laboratorio d'informatica, ad ampliamento e potenziamento del laboratorio di fisica.