venerdì 25 maggio 2012

La (non) conservazione della quantità di moto

In questi giorni ho portato le classi in laboratorio per verificare con la rotaia a cuscino d'aria che la quantità di moto negli urti si conserva.
L'esperienza più semplice è quella dell'urto di due carrelli di massa uguale di cui uno fermo: se dopo l'urto i carrelli rimangono incastrati, DOVREBBERO procedere a velocità dimezzata rispetto a quella del carrello urtante.
Vediamo:
A prima vista le cose vanno proprio così, nel senso che la velocità diminuisce bruscamente dopo l'urto.
L'analisi del moto con Tracker, però, ci riserva sorprese.....
È evidente che prima del'urto il moto era uniforme (quindi niente attriti) e anche dopo l'urto era uniforme (quindi niente attriti); la velocità, però, non si è dimezzata come avrebbe previsto la legge di conservazione della quantità di moto in assenza di forze esterne!
Per capire quale può essere la ragione di tale "fallimento" vediamo al rallentatore e con un po' di zoom il momento dell'urto analizzato con Tracker: guardando bene noterete che al momento del contatto i due carrelli per un attimo si piegano (per vedere bene è necessario mandare il video a schermo intero)
Nel momento della "piega" la rotaia non riesce a sostenere i due carrelli, sui quali dunque - per breve tempo - agisce la forza di attrito che modifica la quantità di moto:
 
 Per evitare il "salto" dei carrelli basterebbe avere a disposizione gli appositi "tamponi" da montare nel punto di contatto. L'esperienza è stata eseguita invece in situazione d'emergenza usando al posto dei tamponi del nastro adesivo ripiegato.

domenica 20 maggio 2012

Cambiare sfondo all'alba e al tramonto

Nel sito Plone della mia scuola lo sfondo è diverso a seconda dell'ora in cui lo si visita, come si può desumere dalla immagine che segue:
Come si può ottenere questo risultato?
Non è troppo complicato, si lavora con i CSS e con un piccolo script Python.
Iniziamo dal CSS:
Il CSS è inserito nella cartella portal_styles/custom della ZMI e sfrutta la sintassi "&dtml" per lanciare due script.
Con le righe:
background: #A3C3E5 url(&dtml-cambia_sfondo;) repeat-x scroll 0 0;
color: &dtml-cambia_colore;;
il CSS imposta sfondo e colore tramite gli script Python "cambia_sfondo" e "cambia_colore" che si occupano materialmente di capire che giorno è, che ora  è e del conseguente settaggio di sfondo e colore.

Il CSS va registrato in portal_css e bisogna disattivare il caching:
Veniamo ora agli script Python per il cambio si sfondo e colore analizzandone uno, quello del cambio dello sfondo.
Lo script è molto grezzo e sfrutta appieno la mia poca conscenza nel gestire date e ore nel Python ristretto concesso agli script che dimorano nella ZMI.
# QUESTO CODICE PER IL CALCOLO DI ALBA E TRAMONTO
# È ISPIRATO DA INTRODUZIONE AL CALCOLO ASTRONOMICO
# DI COSTANTINO SIGISMONDI QUADERNI DI STUDIO 2007
# ISPEF ROMA GEOASTROLAB UNIVERSITÀ EUROPEA DI ROMA
import math
dNow = DateTime()
giorno = dNow.day()
mese =dNow.month()
ora_legale = 0
if mese >=4 and mese<= 10:
  ora_legale=1;
giorni_da_equinozio=giorno+30*mese-(21+30*3)
omega=6.28/365.25
lamb=45*3.14/180
delt=23.5*3.14/180*math.sin(omega*giorni_da_equinozio)
durata=math.asin(math.tan(lamb)*math.tan(delt))*180/3.14*2/15+12
alba=int(round(12-durata/2))+ora_legale
tramonto=int(round(12+durata/2))+ora_legale
tNow = dNow.hour()
if tNow>= alba and tNow <= tramonto:
    print "sfumatura_2.png"
else:
    print "cielo_stellato.png"
return printed

Ecco cosa fa lo script:
  • prende dal server la data e l'ora della navigazione
  • legge nella variabile "lamb" la latitudine del luogo del sito e la converte in radianti
  • converte la data in giorni dall'equinozio di primavera
  • calcola la durata delle ore di luce usando le indicazioni di Costantino Sigismondi
  • calcola l'ora dell'alba e del tramonto per quel giorno
  • se l'ora di navigazione è compresa tra l'alba e il tramonto applica lo sfondo "sfumatura2.png" (sfondo per il giorno) altrimenti applica lo sfondo "cielo_stellato.png" (sfondo per la notte).
Lo script adatta l'ora dell'alba e del tramonto ai diversi periodi dell'anno, anticipando il tramonto durante l'inverno e così lo sfondo del sito sembra seguire il ciclo delle stagioni....
L'adattamento è grezzo e approssimato all'ora intera. Il testing è ancora in corso.