Lancio al Bersaglio

Si assume che il proiettile venga lanciato dall'origine degli assi del sistema di riferimento. Gli viene fornita una velocità iniziale V, inclinata rispetto al piano orizzontale di un angolo α.

Si vuole determinare

La velocità del proiettile è un vettore le cui componenti sono:

Vx = V·cos(α) (Componente lungo l'asse delle ascisse)
Vy = V·sen(α) (Componente lungo l'asse delle ordinate)

Traiettoria

La traiettoria percorsa dal proiettile può essere pensata che sia ottenuta dalla composizione di due moti:
Si immagini che il proiettile possegga solo la componente verticale della velocità. A questa bisogna sommare la velocità che il corpo acquista per effetto dell'accelerazione di gravità. Il moto verticale è quindi:

y(t) = Vy·t - ½·g·t2

L'altra componente del moto può essere pensata che sia dovuta alla velocità Vx del sistema di riferimento che si muove nella direzione opposta. Il moto orizzontale, quindi, dovuto alla sola componente Vx è:

x(t) = Vx·t

Ad agire contro la Vx ci potrebbe essere l'attrito dell'aria, ma lo si consideri nullo o trascurabile.

In altri termmini si ottiene lo stesso risultato se un osservatore si muove con velocità -Vx mentre il proiettile si muove solo lungo la verticale.

La traiettoria, quindi, viene determinata assegnando i corretti valori al tempo nelle due equazioni x(t) e y(t).

Tempo di volo

Per determinare i valori corretti da assegnare al tempo t, si deve conoscere qual è il tempo di volo, ovvero il tempo impiegato dal proiettile a raggiungere il suolo.

Per calcolare tale tempo bisogna imporre, nel moto verticale, che y sia pari all'altezza del punto di caduta. si assuma che il punto di partenza e il punto di arrivo si trovino allo stesso livello: y=0.

Si tratta quindi di risolvere l'equazione di secondo grado:

0 = Vy·t - ½·g·t2

Che ammette due soluzioni, una coincide con il tempo di partenza e l'altra con il tempo di caduta

Si ottiene:

tmax = 2·Vy/g

Gittata

Conoscendo il tempo di volo, si può calcolare la gittata, ovvero la distanza a cui cade il proiettile, calcolando lo spazio percorso in orizzontale dall'osservatore che nel sistema di riferimento si muove lungo la linea orizzontale, mentre il proiettile si muove lungo la verticale.

D = Vx·tmax

Massima altezza raggiunta.

Quando il proiettile raggiunge il punto più alto inverte la velocità, quindi nell'equazione del moto verticale, bisogna imporre Vy=0 e ricavare quindi il valore di t. Si trova che è metà del tempo di volo. Quindi l'altezza massima si ottiene:

Hmax = Vy·(Tmax/2) - ½·9.81·(Tmax/2)2

Disegno della carta millimetrata

Nota: Questa sezione descrive il procedimento per disegnare la carta millimetrata. Se lo script è disponibile può essere importato dall'esercizio relativo alla carica del condensatore e quindi questa sezione può essere saltata e proseguire da quella successiva.

L'area dello stage ha 480 pixel in orizzontale e 360 pixel in verticale.

Si decide di posizionare l'origine degli assi nel punto di coordinate x=-200 e y=-150

Si elimini lo sprite del gatto e si prema il pulsante per creare un nuovo sprite. Comparirà l'editor di disegno, disegnare solo un punto, in una posizione qualsiasi e chiudere l'editor del disegno.

Lo sprite appena creato, verrà utilizzato per disegnare il reticolo di linee che rappresenta il foglio di carta millimetrata.

Algoritmo per disegnare gli assi cartesiani e la griglia millimetrata

  1. Cancellare eventuali tracce presenti sullo stage
  2. sollevare la penna
  3. portarsi nell'origine degli assi
  4. scegliere la penna di colore blu
  5. abbassare la penna
  6. (asse delle ascisse) muovere lo sprite in orizzontale fino a raggiungere il bordo destro dello stage
  7. sollevare la penna
  8. posizionarsi nell'origine degli assi
  9. abbassare la penna
  10. (asse delle ordinate) muovere lo sprite in verticale fino a raggiungere il bordo superiore dello stage.
  11. Riportare lo sprite nell'origine degli assi.
  12. algoritmo per tracciare la suddivisione dell'asse delle ascisse:
    ripeti le operazioni seguenti fino a quando la posizione x diventa > 220
    1. Alza la penna
    2. muovi lo sprite di 5 passi in orizzontale
    3. usa la penna di colore arancione
    4. se la posizione x è un multiplo di 25 usa la penna di colore rosso. (in questo modo ogni 5 linee di colore arancione se ne traccia una di colore rosso.
    5. abbassa la penna
    6. Traccia una linea verticale fino a raggiunere il bordo superiore dello stage.
    7. alza la penna
    8. ritorna sull'asse delle ascisse.

Codifica

Adesso si traccerà il reticolo di linee verticali, interponendo una linea di colore viola tra quattro linee di colore arancione.

Si sposterà lo sprite di 5 passi e si traccerà una linea. Quando lo sprite giunge in corrispondenza di un multiplo di 25 passi si cambia il colore della penna.

Si tracceranno linee, fintanto che la coordinata x dello sprite è minore di 220.

Fino a questo punto si sono tracciate le linee verticali. Con un procedimento simile, che si mostra subito dopo, si devono tracciare le linee orizzontali.

Eseguire lo Script


Disegnare la traiettoria

Importare lo Sprite della palla o, se si preferisce, disegnare un oggetto a proprio piacere, di dimensioni ridotte, che funga da proiettile

A questo nuovo sprite si associ lo script seguente:

Collaudo

Dopo aver verificato il funzionamento del programma con vari valori di input individuare i comportamenti errati del programma ed introdurre gli opportuni controlli:
- quando lo sprite esce dallo stage sollevare la penna,
- non accettare valori di input esterni ad un determianto intervallo.