moto e superfici di Bezier
 
 
 

Descrizione del funzionamento

Per comprendere il “meccanismo fisico” alla base del nostro applicativo, esponiamo brevemente gli elementi che abbiamo utilizzato per realizzare l’applet.

Piano inclinato

Il motore fisico dell’applicazione si basa sullo studio di un punto materiale, soggetto alla sola forza di gravità, di massa unitaria, non soggetto all’attrito, vincolato alla superficie liscia, che si muove su di un piano inclinato.
Si consideri un oggetto posto su un piano inclinato, descrivendo matematicamente le forze agenti sull’oggetto, si rappresentano 3 forze agenti sul corpo (trascurando l’attrito dovuto all’aria).

  1. La forza normale (N) esercitata dal piano sul corpo
  2. la forza dovuta alla presenza di gravità (mg, verticale verso il basso)
  3. l’attrito (f) che agisce parallelamente al piano.

La forza gravitazionale può essere ottenuta come somma vettoriale di 2 componenti: una forza parallela al piano (mgSinθ) e una forza agente sul piano (mgCosθ) che è uguale ed opposta ad N. Se la forza agente sul piano (mgSinθ) è più grande della forza di attrito (f), allora il corpo scivolerà verso il basso lungo il piano inclinato, altrimnti rimarra in posizione stazionaria.

Quando l’angolo di pendenza (θ) è zero, anche il sin(θ) sarà zero, così il corpo non si muoverà.

Dalla legge di conservazione dell'energia si evince che la velocità del corpo che scivola sul piano inclinato è indipendente dalla massa della sfera stessa.

L'accelerazione con cui il corpo percorre il piano inclinato è dovuta alla componente del peso parallela al piano stesso, quindi:

a = gsinθ

Ora, detto v il valore della velocità della sfera lungo il piano inclinato, la velocità parallela al piano orizzontale sarà data da

vcosθ

mentre quella perpendicolare, che è poi quella utile alla determinazione della gravità, risulta

vsinθ

Infine la velocità in fondo al piano inclinato sarà data da

a

dove l è la lunghezza del piano e g il valore della gravità.

 

Superficie di Bezier

Rimandiamo agli appunti del corso per la parte di teoria. Ci limitiamo ad enunciare la formula utilizzata all’interno del nostro applicativo.

a

a

La figura sopra riportata rappresenta un esempio di superficie di Bezier.

Segnaliamo che la creazione delle superfici avviene in maniera randomica, in questo modo:

  1. i punti di controllo sui bordi sono tutti alla stessa quota;
  2. i punti di controllo centrali sono presi calcolando un valore random tra 0 e 1 e moltiplicandolo per un valore che rappresenta la massima profondità della buca. Questo valore può essere scelto dall'utente mediante una apposita barra di scorrimento;
  3. tutte le superfici delle varie applet presentate in questa documentazione hanno grado 8 o 9.

 

Punto materiale su superficie di Bezier

 

Nella prima figura è possibile vedere il piano tangente (in rosso) alla superficie di Bezier, nel punto in cui è situalo il punto materiale, il piano tangente è generato dai 2 vettori (colorati di rosso) rispettivamente giacenti sui piani (y,z) e (x,z). Le velocità di spostamento del punto materiale, lungo questi 2 piani, calcolate tramite le opportune leggi del piano inclinato (sopra citate), devono essere proiettate sul piano con z = cost (in blu). Su questo piano (identificato dai vettori in blu) è possibile andare a comporre le velocità vettorialmente, con la regola del parallelogramma. Essendo il punto materiale vincolato alla superficie, la terza coordinata (z) è semplicemente ottenuta proiettando il vettore sulla superficie di bezier, ovvero, calcolando p(u,v), in quanto andrà a coincidere con la quota altimetrica della superficie di Bezier, nelle coordinate (u,v). Si ottiene così il vettore (in verde) che indica la velocità di spostamento del punto materiale.

La velocità calcolata al tempo t (vettore giallo) sul piano orizzontale sarà poi sommata vettorialmente con quella ottenuta precedentemente.

La posizione in coordinate (x,y) del punto materiale è ottenuta tramite la seguente relazione:

 

Attrito

L'attrito (o forza d'attrito) è una forza dissipativa che si esercita tra due superfici a contatto tra loro e si oppone al loro moto relativo. La forza d'attrito che si manifesta tra superfici in quiete tra loro è detta di attrito statico, tra superfici in moto relativo si parla invece di attrito dinamico. Esistono tre diversi tipi di attrito:

  • attrito radente: dovuto allo strisciamento, che avviene su superfici piane;
  • attrito volvente: dovuto al rotolamento, che avviene su superfici curve;
  • attrito viscoso: relativo a un corpo immerso in un fluido in movimento con velocità diversa.

Nella nostra applet abbiamo introdotto solo l'attrito viscoso.

Quando un corpo si muove all'interno di un fluido (liquido o gas) è soggetto ad una forza di attrito dovuta all'interazione del corpo con le molecole del fluido.
Se il corpo si muove a bassa velocità, così che nel flusso prevalgano le forze di viscosità rispetto a quelle d'inerzia (regime di Stokes), allora la forza di attrito è proporzionale alla velocità del corpo nel fluido; nel caso di una sfera, la forza di attrito è data in questo caso dalla legge di Stokes,

{F}_{a} = 6 {\pi} \cdot {\eta} \cdot{r} \cdot{v}

essendo η la viscosità del fluido, r il raggio della sfera e v la sua velocità.

Nella nostra applet l'utente può scegliere un valore tra 0 e 1, che rappresenta la viscosità del mezzo in cui è immersa la nostra sfera di raggio unitario. Ovviamente, per valori prossimi allo zero vi è assenza di attrito (il corpo si muove nel vuoto), spostandosi verso valori prossimi a 1 si aumenta la viscosità del mezzo, fino a fare arrestare la pallina.

  Guida dell'applet   Applet  

 

 

Per quanto riguarda la seconda applet che presentiamo, introduciamo lo studio della riflessione e dell'urto elestico tra un punto materiale e una superficie.

Riflessione

Utilizziamo la figura sottoriportata per spiegare come viene calcolata la posizione della pallina, a seguito del rimbalzo sulla superficie di Bezier.

  1. Il punto materiale viene generato in prossimità dell'orignine e cade verso il basso per effetto della gravità. Viene disegnato nell'applet.
  2. Il punto continua a cadere, non incontra la superficie, agisce solo la forza della gravità. Viene disegnato nell'applet.
  3. Ancora una volta agisce solo la forza della gravità e il punto continua a cadere. Viene disegnato nell'applet.
  4. Il punto materiale ha attraversato la superficie (4A), quindi aspetto a rappresentare il punto nell'applet. A questo punto viene effettuata un operazione denominata "rollback", ovvero torno al passo precedente. Da questa posizione calcolo la normale alla superficie, l'angolo di incidenza, che è uguale a quello di riflessione.
    Per il rimbalzo elastico si possono usare le formule di raytracing.
    Queste formule richiedono di conoscere la normale alla superficie, che può essere calcolata come prodotto vettoriale tra i due vettori relativi alle derivate in U e in V (a patto che questi non siano paralleli).
    Una volta ottenuta la normale è sufficente applicare le formule relative alla riflessione nel raytracing al vettore della velocità al fine di ottenere la riflessione del moto del punto in questione.

    1

    1

    Ottenendo così la posizione come rappresentato nell'immagine in 4B. Finalmente posso disegnare il punto nell'applet. Il punto materiale è nella posizione corretta dopo il rimbalzo. Viene sottolineato l'evento rimbalzo colorando il punto materiale in rosso per un quanto di tempo.
  5. Al passo successivo, l'animazione procede come da punto 1, calcolando lo spostamento dovuto alla forza di gravità, alla velocità accumulata precedentemente e sommando vettorialmente gli spostamenti lungo x e y, ottenendo così la nuova posizione.

 

  Guida dell'applet   Applet  

 

Bibbliografia e link utili per approfondimenti

  • Gerald Farin, Curves and surfaces for computer aided geometric design, ed Computer Science and Scientific Computig Werner Rheinbolt, Department of Computer Science, Arizona State University, 1997
  • RayTracing, esempio di codice
  • Superfici di Bezier su wikipedia
  • Attrito su wikipedia

 



Legenda:

N = la normale della forza perpendicolare al piano

m = massa dell’oggetto

g = accelerazione dovuta alla forza di gravità

θ = angolo di elevazione del piano rispetto la l’orizzontale

f = forza di attrito del piano inclinato