Il modello di rotolamento
Tra le comuni interazioni meccaniche che coinvolgono oggetti solidi, il rotolamento forma una categoria interessante anche dal punto di vista dell’audio: l’esperienza di tutti i giorni ci dice che il suono prodotto da un oggetto rotolante viene spesso riconosciuto come tale, e in generale è distinto da altri suoni come quelli dovuti allo sfregamento anche degli stessi oggetti. Ciò potrebbe essere dovuto alla natura del rotolamento come un processo di interazione continua, dove la forza mutua sugli oggetti coinvolti è descritta come un impatto senza l’aggiunta di forze di frizione perpendicolari. Oltre ad essere caratteristici, i suoni di rotolamento portano importanti informazioni: in aggiunta alle caratteristiche di risonanza degli oggetti coinvolti (che dipendono da forma, dimensione e materiale), altri attributi vengono espressi nel suono, attributi di trasformazione, come velocità, gravità o accelerazione/decelerazione. Lo sviluppo di un modello di rotolamento espressivo e in tempo reale da presupposti fisici, acustici e implementativi è descritto di seguito.
L’interazione di rotolamento con il modello di impatto come blocco di base
{{< figure src=“/images/rolling1.jpg” caption=“Figura 1: Tracciato del movimento di una palla che segue un profilo di superficie s(x). Non si tratta del moto reale ma di una idealizzazione utile per ricavare la curva usata dal modello di impatto” >}}
Contrariamente ad azioni quali lo sfregare o il grattare, la forza di interazione dei due oggetti coinvolta in un semplice scenario di rotolamento (l’oggetto rotolante e il piano) è perpendicolare alla superficie di contatto (la curva media macroscopica), diretta lungo la linea che connette il punto di contatto e il centro di gravità dell’oggetto rotolante. Le condizioni di contatto devono essere modificate per riflettere le varie distanze della superficie di contatto. L’oggetto rotolante è assunto come localmente sferico, senza dettagli macroscopici sulla superficie. E’ possibile fare queste assunzioni dal momento che i dettagli microscopici della superficie dell’oggetto rotolante possono essere semplicemente aggiunti alla superficie sulla quale l’oggetto rotola, e può essere variato il raggio di curvatura della superficie stessa; vedremo che anche l’assumere un raggio costante può essere soddisfacente per la maggior parte degli scopi. E’ importante notare che il contatto tra i due oggetti durante il rotolamento è ristretto a punti distinti: il piano non viene seguito nella sua interezza.
Il movimento reale dell’oggetto rotolante si differenzia da questa idealizzazione a causa dell’elasticità e dell’inerzia. In buona approssimazione, il movimento verticale del centro della palla è calcolato con un modello di impatto unidimensionale con la curva in figura 1. I punti di contatto e la traiettoria risultante, che idealmente dovrebbe essere applicata al modello di impatto unidimensionale, sono rappresentati in figura 2. Il calcolo esatto dei punti di contatto è dispendioso in termini di risorse computazionali: in ogni punto lungo la curva della superficie, cioè per ogni punto di campionamento nel caso discreto (dove la frequenza del campionamento è la stessa del campionamento audio), deve essere calcolata la seguente funzione che descrive l’attuale punto :
f_x(p_x) \stackrel{!}{=} max_{q\in[x-r,x+r]}f_x(q) \hspace{0,5cm}, \label{eq:rolling1}
dove
f_x(q) = s(q) + \sqrt{r^2 - (q-x)^2} \hspace{0,5cm},\hspace{0,5cm} q \in [x-r, x+r] \hspace{0,5cm}. \label{eq:rolling2}
La curva ideale viene poi calcolata da questi punti di contatto. Una tecnica più semplice (e quindi anche meno dispendiosa in termini di risorse di calcolo) è rappresentata in figura 3. La traiettoria in figura 2 converge alla curva ideale di figura 3 per raggi molto grandi se comparati alla ruvidità della superficie. Infatti, in una prima implementazione, anche le forti semplificazioni (riportate figura 4 realizzate con un algoritmo molto semplice, hanno dato risultati convincenti.
{{< figure src=“/images/rolling2.jpg” caption=“Figura 2: Tracciato della curva di offset effettiva risultante dalla superficie s(x).” >}}
{{< figure src=“/images/rolling3.jpg” caption=“Figura 3: Approssimazione del tracciato compiuto dalla palla durante il rotolamento.” >}}
{{< figure src=“/images/rolling4.jpg” caption=“Figura 4: Ulteriore approssimazione del tracciato di rotolamento.” >}}
La superficie {#sec:superficie}
Esistono diverse tecniche per realizzare il profilo della superficie alla base del modello di rotolamento. Una possibilità è quella di campionare o effettuare una scansione di superfici reali e usare tali segnali come input per lo stadio seguente del modello; questo approccio però non si adatta ai nostri obiettivi: noi siamo interessati ad un modello parametrico, flessibile ed efficiente piuttosto che ad una singola simulazione realistica. Inoltre i segnali memorizzati sono difficili da adattare alle variazioni degli attributi del modello; preferiamo quindi usare modelli statistici di superfici che possano efficientemente generare segnali per i vari attributi.
E’ comune nella computer graphics descrivere le superfici tramite metodi frattali. L’applicazione di questa idea al nostro modello unidimensionale conduce all’utilizzo di un segnale di rumore con spettro di potenza , o equivalentemente rumore bianco filtrato con queste caratteristiche. Il parametro reale riflette la dimensione frattale (o ruvidità). I risultati pratici di questo tipo di modello sono diventati più convincenti quando la banda del segnale della superficie è stata fortemente limitata; ciò non deve sorprendere se pensiamo che solitamente le superfici coinvolte nel rotolamento sono molto smussate. Smussare su larga scala (che può essere assimilato al tagliare pezzi di pietra per pavimentazioni) corrisponde ad un filtraggio passa—alto, mentre smussare a livello microscopico (come lucidare una pietra) può essere visto come un filtraggio di tipo passa—basso. Tramite queste elaborazioni però si possono perdere le caratteristiche del rumore di partenza. Perciò optiamo per una approssimazione di questa curva con un filtro del secondo ordine la cui ripidità è proporzionale al grado di ruvidità a livello microscopico.
Tutte le frequenze in questo modello di basso livello devono variare proporzionalmente ai parametri di velocità, perciò l’ampiezza del segnale di superficie deve essere mantenuta costante. Naturalmente i parametri dell’impatto, in particolare la costante di elasticità , devono essere variati opportunamente a seconda della superficie che si vuole simulare (cioè in base alle proprietà del materiale), in quanto contribuiscono fortemente alla espressività del modello.
Il modello di impatto
Un suono di contatto è descritto tramite due sistemi, uno per l’oggetto risonante e uno per l’oggetto percussore. Supposto che la superficie di contatto sia piccola, la forza di contatto viene espressa come:
undefined