Simulazione Anatomica di Muscoli Facciali per Volti Virtuali Generici

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Simulazione Anatomica di Muscoli Facciali per Volti Virtuali Generici"

Transcript

1 Università degli studi di Roma La Sapienza Facoltà di Ingegneria Tesi di Laurea in Ingegneria Informatica Simulazione Anatomica di Muscoli Facciali per Volti Virtuali Generici Relatore Prof. Marco Schaerf Candidato Francesco Iannucci Correlatore Ing. Marco Fratarcangeli Anno Accademico 2005/2006

2

3 Università degli studi di Roma La Sapienza Facoltà di Ingegneria Tesi di Laurea in Ingegneria Informatica Simulazione Anatomica di Muscoli Facciali per Volti Virtuali Generici Relatore Prof. Marco Schaerf Candidato Francesco Iannucci Correlatore Ing. Marco Fratarcangeli Anno Accademico 2005/2006

4

5 Alla mia famiglia

6 Sommario Il volto è il canale più rilevante della comunicazione non verbale. Le espressioni del volto cambiano rapidamente e hanno una funzione fondamentale nell interazione sociale; esse sono attentamente controllate dallo sguardo rivolto al viso. In questa tesi è stata sviluppata un applicazione chiamata Anatomical Facial Muscle Simulator (afms) cheè in grado di generare automaticamente le mappe complete dei muscoli mimici di un volto virtuale, a partire dal modello vrml della faccia 3D e da alcuni punti situati in posizioni particolari del volto come occhi, zigomi, bocca che definiscono completamente le caratteristiche del viso rappresentato. La pelle del volto è stata realizzata introducendo un sistema di masse e molle che ne simulano le proprietà elastiche. I muscoli mimici sono stati costruiti attraverso l aggregazione di segmenti muscolari di base. Tutti i muscoli generati da afms sono controllabili singolarmente attraverso i relativi slider posti nel pannello di controllo dell applicazione, in questo modo possono essere realizzate molteplici espressioni facciali. afms è stato concepito per essere applicato prevalentemente a volti umani, in quanto tutto lo studio anatomico e fisiologico è stato fatto in relazione all uomo, tuttavia, come è stato verificato, è possibile anche un suo utilizzo per modelli umanoidi più generali. 3

7 Indice 1 Introduzione 6 2 Background Related Works MPEG Implementazione Ambiente di sviluppo Microsoft Foundation Class OpenGL Il modello VRML visage SDK Anatomia del volto umano Osteologia del cranio Neurocranio Splancnocranio Miologia del cranio Muscoli scheletrici (Masticatori) Muscoli mimici (Pellicciai) Modello della pelle Anatomia della pelle umana Biomeccanica della pelle umana Mass-Spring System Forze vincolari di compenetrazione del cranio Integrazione numerica Equazioni che regolano la deformazione della pelle Strutture dati nel mass-spring system Struttura dati del nodo-massa Struttura dati della molla Modello muscolare Struttura anatomica reale del muscolo Modello muscolare virtuale

8 5.2.1 Il modello muscolare di Kähler Il modello muscolare realizzato La mappa muscolare Analisi dei risultati 63 7 Conclusioni Prospettive future A Guida all interfaccia utente 79 5

9 Capitolo 1 Introduzione Il volto umano è uno dei più importanti e complessi mezzi espressivi con il quale l uomo può comunicare. È proprio attraverso il viso che si riesce a trasmettere un particolare sentimento o stato d animo. La complessità eil numero di espressioni che si riescono a produrre ha attratto l attenzione di importanti discipline quali la psicologia, la computer vision e non ultima la computer graphics. Infatti il riuscire a riprodurre nel miglior modo possibile le espressioni del volto umano è uno degli obbiettivi che ci si è posti nell ambito dell informatica grafica, in quanto sono sempre maggiormente richieste applicazioni riguardanti l intrattenimento (effetti speciali per il cinema, videogames), comunicazione tra dispositivi mobili con poca banda disponibile (videoconferenze, videofonia), applicazioni mediche e realtà virtuale. In questa tesi ci si è posti come obbiettivo principale la simulazione delle espressioni del viso attraverso un attenta realizzazione dei muscoli facciali, nel modo più anatomicamente corretto possibile. Sono infatti i muscoli che guidano l animazione deformando la pelle e non viceversa. È stato creato quindi un tool applicativo che genera automaticamente su un modello di volto virtuale 3D i suoi muscoli mimici attraverso i quali è possibile generare tutte le espressioni facciali umane. La pelle è stata simulata realizzando una complessa rete di masse e molle che ne emulano le proprietà elastiche mentre per realizzare i muscoli facciali, si è deciso di implementare il modello muscolare introdotto da Kähler, Haber e Seidel [1] (cheasuavoltaè stato sviluppato partendo dal modello di Lee, Terzopoulos e Waters [2]), in cui sia i muscoli lineari che quelli circolari vengono costruiti essenzialmente come un unica aggregazione di segmenti muscolari di base. La contrazione isotonica del muscolo si ottiene attraverso la contrazione di ciascun singolo segmento che lo costituisce rispetto al suo punto di inserzione, seilmuscoloè di tipo lineare, come per esempio il muscolo zigomatico maggiore che ha origine nella faccia laterale dell osso zigomatico e si inseri- 6

10 sce sulla faccia profonda della cute e della mucosa labiale, in corrispondenza della commessura labiale (vedi fig. 5.9a par.5.2.2). Se invece il muscolo è di tipo circolare, come per esempio il muscolo orbicolare dell occhio che ha la forma di un anello ellittico che si dispone intorno alla rima palpebrale, la contrazione avviene rispetto ad un punto, che normalmente è interno al muscolo stesso (vedi fig. 5.9b par ). In questo modo è possibile realizzare qualsiasi tipo di muscolo che compare nel volto umano così da ottenere un animazione quanto più realistica possibile e soprattutto rispondente ai vincoli anatomici reali. A partire da un modello vrml (Virtual Reality Modeling Language) che rappresenta un volto umano e attraverso gli 84 fdp (Facial Definition Points) definiti dallo standard mpeg-4, viene ricostruita automaticamente l intera mappa dei muscoli facciali. Gli fdp sono utilizzati per definire la forma di un modello di viso proprietario [3], sono disposti in gruppi, ognuno corrispondente ad una diversa zona del viso (occhi, naso, bocca, ecc.). La localizzazione degli fdp deve essere conosciuta per ogni modello facciale. L applicazione realizzata in questa tesi, Anatomical Facial Muscle Simulator (afms), è interattiva, cioè permette all utente di azionare i muscoli mimici e di vederne in tempo reale il loro movimento, che genera, a sua volta, la relativa deformazione della pelle del modello virtuale. afms ancora non supporta il movimento simultaneo di più muscoli contemporaneamente, l espressione facciale desiderata deve essere quindi composta agendo su un muscolo alla volta. Nel Capitolo 2 verrà introdotto l ambiente di sviluppo, gli strumenti software (MPEG-4, OpenGL, Microsoft R Foundation Class, visage SDK [3]) e gli algoritmi (Kähler, Haber e Seidel [1]) che sono alla base della realizzazione di questo lavoro. Nel Capitolo 3 verrà dato un breve accenno all anatomia reale del volto umano, analizzando sia la sua struttura ossea che quella muscolare, focalizzando però prevalentemente l attenzione sui muscoli mimici, il loro posizionamento e la loro attività. Il Capitolo 4 descrive il modo in cui è stato realizzato il modello che simula le proprietà della pelle e come vengono visualizzati gli effetti prodotti dall attività muscolare; la realizzazione di un buon modello di pelle è un passaggio fondamentale per una buona simulazione. Vengono inoltre descritti i metodi matematici e fisici utilizzati per ottenere la simulazione, ponendo particolare attenzione al mantenimento di un buon compromesso tra prestazioni e costi computazionali. Il Capitolo 5 è il cuore di questa tesi, qui infatti viene descritto in modo molto accurato il modello muscolare implementato, il posizionamento 7

11 anatomico dei muscoli sul volto e il modo in cui i muscoli agiscono sulla deformazione della pelle. Il Capitolo 6 è la sezione dedicata all analisi dei risultati ottenuti e in particolare, facendo riferimento alle espressioni facciali reali fornite da [4], viene presentata una serie di immagini delle espressioni facciali dei volti virtuali con cui è stata testata l applicazione realizzata nel corso di questo studio. Infine, nel Capitolo 7, viene presentata una breve digressione sulle possibili applicazioni dello studio effettuato e sulle sue prospettive future. 8

12 Capitolo 2 Background 2.1 Related Works Sono passati ormai più di venti anni da quando, agli inizi degli anni Ottanta, prima Platt e Badler [5] nel 1981 e poi Parke [6] nel 1982 iniziarono a lavorare all animazione facciale; all inizio l animazione era ottenuta attraverso il morphing tra due maschere calcolate a priori e salvate in una libreria [7], poi però, per eliminare la necessità di possedere un database completo dei modelli usati, furono introdotti i modelli parametrici che permettevano all animatore di creare un espressione facciale specificando un insieme di valori per i parametri di controllo. In seguito, per applicazioni multimediali con un basso bit rate, la ricerca si focalizzò sullo standard mpeg-4 che definisce 68 diversi faps(facial Animation Parameters), attraverso i quali è possibile controllare l animazione facciale. Sono stati anche sviluppati dei modelli chiamati physics-based, che simulano le proprietà elastiche della pelle attraverso un sistema di masse e molle. Un modello di questo tipo è stato realizzato da Lee, Terzopoulos e Waters [2], in cui il viso è costituito principalmente da solo due strati (derma + strato grasso e muscoli), connessi attraverso delle molle al teschio, che viene a sua volta stimato a partire dalla superficie del volto. Il sistema di masse e molle utilizzato in questo approccio preserva il volume del volto in modo tale da non essere deformato in modo non opportuno. Un lavoro molto importante è stato quello realizzato da N. I. Badler, C. Pelachaud e M. Steedman[8] sull animazione facciale di alta qualità con il movimento della testa in accordo con il parlato, che include anche l intonazione della voce. Ci sono stati degli sviluppi anche in ambito medico, come negli articoli di E. Gladilin, S.Zachow, P. Deuflhard, H.C. Hege [9] [10] che, simulando i muscoli e la pelle del volto, hanno cercato di prevedere i risultati post-operatori sulla mimica facciale dopo un intervento di chirurgia cranio-facciale. 9

13 2.2 MPEG-4 L mpeg-4 [11]è uno standard iso/iec sviluppato dall mpeg (Moving Picture Experts Group) lo stesso comitato che ha sviluppato l mpeg-1 el mpeg-2. L mpeg-4 è il risultato di uno sforzo che ha coinvolto centinaia di ricercatori e di ingegneri di tutto il mondo, la sua definizione formale è iso/iec 14496, ultimato nell Ottobre del 1998 e diventato un International Standard agli inizi del L mpeg-4 è stato costruito a partire dal successo acclarato di tre campi: la Digital television, l Interactive graphics applications el Interactive multimedia; l mpeg-4 fornisce gli elementi tecnologici standard per la produzione, la distribuzione e l accesso al contenuto dei paradigmi di questi tre campi. L interesse verso questo standard in questo progetto è legato al fatto che l mpeg-4 supporta la face animation elabody animation. La face animation viene usata per effettuare il rendering di un volto animato virtuale, la forma, l espressione e le texture sono controllate dai Facial Definition Points (fdps) e/o dai Facial Animation Parameters (faps ). A partire da un volto che ha un espressione generica neutra, con la ricezione dei fap viene prodotta l animazione del volto (espressione, parlato, ecc.). La specifica dell mpeg-4 definisce 84 punti di definizione facciale chiamati Facial Definition Points (fdp) o anche Feature Points (fp) e 68 Facial Animation Parameters (faps ). Gli fdp (vedi fig. 2.1) vengono usati per definire le caratteristiche principali di un volto e per fornire le giuste corrispondenze spaziali ai fap. Gli fdp sono raggruppati in base alla loro diversa posizione sul volto (occhi, bocca, naso, ecc.), la loro posizione deve essere nota a priori per ogni modello facciale, affinché afms funzioni correttamente. Per i modelli utilizzati in afms, gli fdp sono stati calcolati con l ausilio del pacchetto software visage life. I fap specificano di quanto può essere mosso un particolare fdp, modificando così il modello facciale generico di input. I fap si basano sullo studio delle azioni facciali minimali e sono strettamente correlati alle azioni muscolari. Rappresentano un insieme completo di espressioni facciali. Tutti i fap sono espressi in termini di Face Animation Parameter Units (fapus )(fig. 2.2), che sono definiti per permettere l interpretazione dei fap su ogni modello facciale in modo consistente, producendo risultati ragionevoli in termini di espressioni e di parlato. Per ogni fap si conosce su quale fdp agisce, in quale direzione si muove e quale fapu è usato come unità per il movimento. La specifica definisce anche una Face Animation Tables (fats ), che permette di specificare, per ogni fap, l esatto movimento dei vertici nel modello 3D. 10

14 Fig. 2.1: Facial Definition Points (fdp) 11

15 Fig. 2.2: Face Animation Parameter Units (fapu) IRIS Diameter IRISD = IRISD0 /1024 Eye Separation ES = ES0 / 1024 Eye - Nose Separation ENS = ENS0 / 1024 Mouth - Nose Separation MNS = MNS0 / 1024 Mouth - Width Separation MW = MW0 / 1024 Angular Unit AU = 10 5 rad La divisione per 1024 è stata introdotta per avere unità sufficientemente piccole in modo che i fap possano essere rappresentati con i numeri interi. 12

16 2.3 Implementazione Ambiente di sviluppo L applicazione è stata sviluppata su un personal computer con processore Intel R Centrino 1.4 GHz e 512 MB ddr sdram con sistema operativo Windows R XP con SP2. L implementazione èavvenutaconmicrosoft R Visual C con il supporto fondamentale del pacchetto di sviluppo visage SDK (C++ Software Development Kit for Virtual Character animation) prodotto dalla Visage Technologies AB [3] e la libreria grafica OpenGL. L interfaccia grafica è stata realizzata con le Microsoft R Foundation Class. A partire da un modello vrml raffigurante un volto umano e dai relativi fdp (che devono essere noti), Anatomical Facial Muscle Simulator (afms), genera automaticamente la mappa anatomica dei muscoli mimici, inoltre Fig. 2.3: Esempio di Anatomical Facial Muscle Simulator (afms) attraverso i relativi slider situati sul pannello a sinistra, si può regolare la contrazione di ciascun muscolo, fino ad ottenere l espressione facciale voluta. La forza che ciascun muscolo esercita sulla pelle viene letta dal relativo file.mfo (Muscle FOrce), nel caso in cui però nonsihaadisposizioneilsuddetto file, verranno caricate delle forze muscolari di default. Attraverso il mouse è possibile effettuare lo spostamento, la rotazione e lo zoom del modello all interno della finestra OpenGL, inoltre attraverso il menu a tendina sono disponibili varie operazioni da poter effettuare sul modello. Per ulteriori informazioni circa l utilizzo di afms, si consiglia la lettura dell Appendice A (Guida all interfaccia utente). 13

17 2.3.2 Microsoft Foundation Class Come detto in precedenza, il progetto afms è stato interamente sviluppato con Microsoft Visual C avvalendosi dell utilizzo delle Microsoft Foundation Class (MFC), infatti uno degli sforzi più importanti che è stato compiuto per realizzare questa applicazione è stato proprio quello di imparare ad usare le MFC in modo corretto, cosa tutt altro che banale. Microsoft Foundation Class, meglio conosciuta con l acronimo MFC, è una libreria di classi C++ prodotta da Microsoft con lo scopo di incapsulare le Windows API; è un application-framework, fornisce infatti tutto il codice necessario per la gestione di finestre, menu e dialog box. MFC è stata introdotta nel 1992 per essere usata con le versioni a 16 bit di Windows ed è stata progettata per essere una sorta di rassegna delle potenzialità del linguaggio di programmazione C++. Da un punto di vista pratico, lo sviluppo di programmi Windows con MFC risulta molto più rapido e semplificato rispetto all uso diretto delle Windows API, anche se la loro conoscenza è quasi indispensabile per un programmatore MFC per via della poca astrazione introdotta dalla libreria di classi. Uno dei vantaggi maggiori deriva dal fatto che gli handle degli oggetti vengono gestiti automaticamente dalla libreria e chiusi quando gli oggetti vengono distrutti. Quando un applicazione gira su Microsoft Windows, l utente interagisce con documenti che sono visualizzati in frame window. MFC definisce due tipi di document frame window: Single Document Interface (SDI) emultiple Document Interface (MDI). Le applicazioni di tipo SDI permettono di aprire un solo document frame window alla volta, mentre quelle di tipo MDI permettono di aprire più document frame window contemporaneamente. Un document frame window è costituito principalmente da due componenti: il frame e il contenuto del frame, questi sono visualizzati e gestiti da due diverse classi in MFC. Una Fig. 2.4: Relazione tra frame window e view in SDI - MFC 14

18 frame-window class gestisce il frame e una view class gestisce il contenuto. La view window è una sottofinestra della frame window e tutto quello che riguarda l interazione con l utente viene effettuato nella window s client area (Fig. 2.4). Il frame window fornisce un frame visibile attorno ad una view completa della caption bar e di tutti i controlli standard di Windows (menu, bottoni per minimizzare e massimizzare la finestra e i controlli per effettuare il resizing della finestra). afms è stato realizzato a partire da un progetto SDI standard OpenGL OpenGL (Open Graphics Library) è una specifica che definisce una API per più linguaggi e per più piattaforme per scrivere applicazioni che producono computer grafica 2D e 3D. L interfaccia consiste in circa 250 diverse chiamate di funzione che si possono usare per disegnare complesse scene tridimensionali a partire da semplici primitive (punti, linee e poligoni). Èusato nell industria dei videogiochi, per applicazioni di tipo CAD e realtà virtuale. La specifica di OpenGL è supervisionata dall OpenGL Architecture Review Fig. 2.5: Logo di OpenGL Board (ARB), che si è formato nel L ARB consiste in un insieme di aziende interessate a creare un API coerente e ampiamente disponibile. OpenGL è un evoluzione di (ed ha uno stile molto simile a) IRIS GL, l interfaccia 3D di SGI (Silicon Graphics). Una delle restrizioni di IRIS GL era che forniva accesso solamente alle caratteristiche supportate dall hardware soggiacente. Se l hardware grafico non supportava una caratteristica, allora l applicazione non poteva usarla. OpenGL ha superato questo problema fornendo supporto via software per le caratteristiche non supportate dall hardware, permettendo alle applicazioni di usare della grafica avanzata su sistemi di potenza relativamente bassa. OpenGL è stato progettato per essere di solo output: fornisce solamente funzioni di rendering. L API di base non contempla la gestione di finestre, l audio, la stampa, la tastiera, il mouse, né altri dispositivi di input. Per quanto questo può sembrare restrittivo, permette al codice di rendering di essere completamente indipendente dal sistema operativo su cui funziona, permettendo lo sviluppo di codice indipendente dalla piattaforma. Tuttavia, per consentire un interazione con il sistema ospitante, è necessario integrare il software con il sistema a finestre nativo. OpenGL è una rendering library elavorainimmediate mode, cioè la definizione di un oggetto causa immedia- 15

19 Fig. 2.6: Librerie basate su OpenGL tamente il suo disegno, OpenGL però non scrive direttamente sullo schermo ma accede ad un framebuffer; inoltreopenglè una state-machine per cui sono le variabili di stato che guidano il rendering. Per costruire e modificare oggetti complessi si usano librerie costruite sopra OpenGL (fig.2.6) Il modello VRML Il vrml (Virtual Reality Modeling Language) è un linguaggio di programmazione che consente la simulazione di mondi virtuali tridimensionali. Mediante il vrml è possibile cioè descrivere ambienti virtuali contenenti oggetti, sorgenti luminose, immagini, suoni e filmati. Questi mondi, inoltre, possono essere animati e presentare caratteristiche anche complesse di interattività. Infine, allo stesso modo di qualsiasi documento ipertestuale, il vrml prevede l impiego di link a url remoti e naturalmente a qualunque altro file di tipo.wrl (questo è il formato dei files vrml). Per una corretta pronuncia della sigla vrml occorre sillabare le singole lettere dell alfabeto inglese: ViErEmEl. In gergo vrml viene anche denominato, più semplicemente, vermel. Per quanto riguarda il significato, in un pri- Fig. 2.7: Logo vrml97 mo periodo vrml veniva tradotto in Virtual Reality Markup Language (in analogia con html e i linguaggi che fanno uso dei cosiddetti marcatori o contrassegni); in seguito la parola Markup è stata sostituita con Modeling per meglio rappresentare le proprietà di modellazione grafica del linguaggio. Il motivo fondamentale per cui si è deciso di usare il vrml per importare i volti virtuali sta nel fatto che il vrml costituisce un formato standard per descrivere scene tridimensionali, contrariamente ai formati proprietari dei 16

20 numerosi tools che si trovano in circolazione. Ciò significa che un file vrml è accessibile da qualsiasi macchina indipendentemente dalla piattaforma, come per i documenti html che possono essere visualizzati sostanzialmente allo stesso modo su macchine Windows, Mac, Unix, Linux, ecc. Il vrml consente all utilizzatore di interagire con il modello, spostarlo, ruotarlo e osservarlo da diversi punti di vista. Un file.wrl, è un semplice file di testo che utilizza caratteri ascii (come l html ad esempio) che contiene al suo interno tutti i comandi necessari a descrivere una scena tridimensionale. I principali componenti [12] contenuti nel file vrml sono: header, scene graph, iprototypes eglievent routing: header - per una semplice identificazione del file vrml, ogni file vrml inizia con: #VRML V2.0. scene graph - lo scene graph contiene i nodi che descrivono gli oggetti e le loro proprietà, i componenti sono raggruppati gerarchicamente per fornire una rappresentazione audio/video dell oggetto. Èungrafo diretto aciclico, se c è un arco tra un nodo A e un nodo B, significa che nel nodo A c è un campo nel quale viene direttamente specificato il nodo B. prototypes - i prototypes permettono all utente di estendere l insieme dei tipi dei nodi vrml. event routing - alcuni nodi vrml possono generare eventi in risposta ai cambiamenti del mondo rappresentato oppure a causa dell interazione con l utente. L event routing fornisce all autore del modello un meccanismo per separare la scena visualizzata dallo scene graph attraverso il quale gli eventi si propagano, generando cambiamenti in altri nodi. Una volta generati, gli eventi vengono inviati sequenzialmente e processati dai nodi cui sono destinati. Questo processamento può cambiare lo stato di un nodo, può generare eventi addizionali oppure cambiare la struttura dello scene graph. Il processamento, l esecuzione e la presentazione di un file vrml tipicamente fanno parte di un meccanismo che prende il nome di browser, che visualizza gli oggetti contenuti dallo scene graph. Il browser mostrato in fig. 2.8 raffigura un applicazione che prende come input il file contenente il modello vrml e gli input di manipolazione e navigazione che arrivano dall utente. I tre principali componenti del browser sono: il parser, loscene graph el audio/visual presentation. Il parser legge il file vrml e genera lo scene graph. Lo scene graph ècostituito dalla Transformation Hierarchy (i nodi) e dal Route Graph; include anche l Execution Engine che processa gli eventi, legge e edita il Route Graph ed effettua i cambiamenti nella Transformation Hierarchy. Lo user input 17

21 Fig. 2.8: Modello concettuale di un browser vrml riguarda i sensori e la navigazione, è strettamente collegato al Route Graph (i sensori) e all Audio/Visual Presentation. L Audio/Visual Presentation esegue sia il rendering grafico che quello audio della Transformation Hierarchy che viene ripresentato all utente. In afms, il modello che viene fornito come input per l applicazione deve soddisfare dei prerequisiti fondamentali, più specificatamente, il modello deve essere compatibile con la definizione di volto neutro data dallo standard mpeg-4, ecioè: lo sguardo deve essere rivolto nella direzione dell asse z, tutti i muscoli devono essere rilassati, le palpebre devono essere tangenti all iride, il diametro della pupilla deve essere 1/3 di quello dell iride, il labbro superiore e quello inferiore si toccano in modo tale che la bocca sia chiusa, i denti dell arcata superiore si toccano con quelli dell arcata inferiore. Infine, al modello di input vengono resettate tutte le trasformazioni presenti (traslazioni, rotazioni e scalamenti), in modo tale da rappresentarlo in coordinate del mondo anzichè in coordinate locali. Il fatto di avere il modello rappresentato in coordinate del mondo è necessario per la costruzione della mappa muscolare del volto e per deformare la pelle agendo direttamente sulla mesh vrml. 18

22 2.3.5 visage SDK visage SDK C++ Software Development Kit for Virtual Character animation, è un pacchetto software completamente dedicato all animazione di personaggi virtuali, è basato sullo standard mpeg-4 fba (Face and Body Animation) e contiene i supporti necessari sia all interattività che all animazione off-line dei modelli virtuali (vrml). Il visage SDK-SE è un insieme di librerie per lo sviluppo dell animazione facciale utilizzabili sia con Microsoft Visual C che con Microsoft Visual Studio.NET 2003, il loro utilizzo è stato fondamentale per l implementazione di afms, in quanto mettono a disposizione dello sviluppatore tutti gli strumenti necessari per l animazione dei volti virtuali, come per esempio la possibilità di gestire i modelli vrml con i relativi fdp e di interagire con essi attraverso mouse e tastiera. Del pacchetto software messo a disposizione dalla Visage Technologies AB [3] di particolare aiuto è stato visage life con il quale è stato possibile visualizzare ed editare gli fdp dei modelli vrml. Fig. 2.9: Esempio di visage life 19

23 Capitolo 3 Anatomia del volto umano 3.1 Osteologia del cranio Lo scheletro del cranio è distinto in due porzioni: la scatola cranica (neurocranio) ed il massiccio facciale (splancnocranio) Neurocranio Le ossa del neurocranio si distinguono in impari e pari. Le ossa impari sono rappresentate dal frontale, l etmoide, lo sfenoide, l occipitale; quelle pari sono il temporale e il parietale. Il frontale è un osso mediano, che contribuisce a delimitare la fossa cranica, con la sua porzione verticale, e la cavità orbitaria, con la sua porzione orizzontale. L etmoide è un osso mediano, costituito da due lamine e due masse laterali. La sua lamina perpendicolare contribuisce alla costituzione del setto nasale. Le masse laterali contribuiscono a formare l orbita, mentre la faccia mediale compone in parte le cavità nasali. L osso sfenoide è anch esso mediano; insieme ad altre ossa, compone la base cranica, le cavità orbitarie e nasali. Esso presenta un corpo centrale, dalle cui facce laterali originano le cosiddette ali dello sfenoide: due piccole ali anteriori e due grandi ali posteriori. Inferiormente, sono presenti i processi pterigoidei. L occipitale, osso mediano, occupa la porzione postero-inferiore della scatola cranica. È costituito da una squama posteriore, da due porzioni laterali e da una anteriore o basilare. Tali porzioni delimitano il foro occipitale. Il temporale è un osso pari. Contribuisce alla costituzione della base cranica e delle pareti laterali della volta. Ècompostodapiùparti: lapetroma- stoidea, la squamosa, la timpanica e la stiloidea. Notevole importanza è rivestita dalla porzione petrosa, costituita dalla piramide o rocca, contenente l organo dell udito. Il parietale è un osso quadrilatero, pari e simmetrico, che contribuisce a de- 20

24 limitare la volta cranica, nella sua porzione postero-superiore Splancnocranio Lo splancnocranio, o massiccio facciale, è rappresentato dalle quattordici ossa della porzione antero-inferiore del cranio. Le ossa pari del massiccio facciale sono: il mascellare, il nasale, il lacrimale, l osso palatino, il cornetto inferiore e lo zigomatico; le ossa impari sono il vomere e la mandibola. Solo quest ultima gode di mobilità, articolandosi con i condili dell osso temporale (articolazione temporo-mandibolare). Il mascellare è un osso pari, che contribuisce a delimitare la cavità orbitaria, boccale e nasale. È costituito da un corpo e da quattro processi: frontale, zigomatico, palatino ed alveolare. Nel corpo è disposta un ampia cavità, detta seno mascellare, comunicante con le cavità nasali. Le ossa nasali sono piccole lamine quadrilatere, che costituiscono la volta della piramide nasale. L osso lacrimale è un osso pari e simmetrico, che contribuisce a delimitare parte della cavità orbitaria. L osso palatino, anch esso pari, è costituito da due lamine: verticale ed orizzontale. Quest ultima forma, insieme al processo palatino del mascellare, la volta del palato e, quindi, la base delle cavità nasali. Lo zigomatico è un osso quadrilatero pari. È articolato anteriormente con il mascellare, posteriormente con il temporale e superiormente con il frontale. Il vomere è un osso impari, che partecipa alla costituzione del setto nasale, insieme all etmoide. La mandibola è un osso impari e mediano, costituito da una parte centrale, detta corpo, e da due porzioni laterali, dette branche montanti. Nella porzione superiore di queste ultime si trova una profonda incisura, che si articola con l osso temporale per formare l articolazione temporo-mandibolare, per mezzo della quale è possibile compiere movimenti di apertura e chiusura della bocca, nonché di spostamento anteriore, posteriore e laterale della mandibola stessa. [13] 21

25 Fig. 3.1: Vista frontale del cranio. Legenda: 1- Tubercolo mentale. 2- Corpo della mandibola. 3- Ramo della mandibola. 4- Spina nasale anteriore. 5- Fossa canina. 6- Foro infraorbitario. 7- Foro zigomatico. 8- Superficie orbitaria del mascellare. 9- Fossa temporale. 10- Superficie laterale dell etmoide. 11- Fessura orbitaria superiore. 12- Osso lacrimale. 13- Foro ottico. 14- Forame etmoidale. 15- Linea temporale. 16- Solco sopraorbitario. 17- Glabella. 18- Tuberosità frontale. 19- Arco sopraccigliare. 20- Osso parietale. 21- Sutura naso frontale. 22- Pterion. 23- Grande ala dello sfenoide. 24- Superficie orbitaria della grande ala dello sfenoide. 25- Parte squamosa del temporale. 26- Osso nasale sinistro. 27- Osso zigomatico. 28- Fessura orbitaria inferiore. 29- Arco zigomatico. 30- Apertura piriforme. 31- Processo mastoideo. 32- Fossa incisiva. 33- Angolo della mandibola. 34- Forame mentale. 35- Sinfisi mentoniera. 22

26 3.2 Miologia del cranio Al cranio fanno capo vari gruppi muscolari, che possono essere distinti in estrinseci ed intrinseci. I muscoli estrinseci hanno origine in parti diverse dal cranio (collo, tronco) e prendono inserzione su di esso. I muscoli intrinseci sono invece completamente alloggiati nella testa, dove trovano sia origine che terminazione. La muscolatura intrinseca del cranio è costituita da muscoli scheletrici (o masticatori) e muscoli mimici (o pellicciai). Oltre ad essi, si trovano nella testa altri muscoli, come quelli del padiglione auricolare, del globo oculare, dell orecchio medio, della lingua etc., che non saranno però oggetto della presente trattazione. Fig. 3.2: Muscoli mimici visti anteriormente [14] 23

27 3.2.1 Muscoli scheletrici (Masticatori) I muscoli masticatori collegano la scatola cranica alla mandibola, determinando i movimenti di quest ultima: abbassamento ed elevazione, proiezione anteriore e posteriore, lateralità. I muscoli agenti sull articolazione temporo-mandibolare sono il temporale, il massetere ed i muscoli pterigoidei esterno ed interno. Il muscolo temporale ha una forma triangolare ed è alloggiato nella fossa temporale. Esso origina dalla linea temporale inferiore dell osso parietale e, anteriormente, dall osso frontale. I suoi fasci si fissano, tramite un robusto tendine, sul processo coronoideo della mandibola. La contrazione di tale muscolo determina l elevazione e lo spostamento posteriore della mandibola. Il muscolo massetere è un muscolo di forma quadrilatera, disposto sulla branca montante della mandibola. È formato da una porzione superficiale e una profonda. Esso origina dall arcata zigomatica e si porta in basso per raggiungere il margine posteriore, l angolo e il margine inferiore della mandibola. L azione del muscolo massetere determina, unitamente a quella del temporale, l elevazione della mandibola. Il muscolo pterigoideo esterno origina dal processo pterigoideo e dalla grande ala dello sfenoide e si porta lateralmente al collo del condilo della mandibola. Tale muscolo agisce spostando la mandibola in avanti e lateralmente. Il muscolo pterigoideo interno ha forma quadrilatera ed è situato sulla faccia mediale del ramo della mandibola. Origina dalla fossa pterigoidea e si inserisce sulla faccia mediale dell angolo della mandibola. L azione di tale muscolo determina l elevazione mandibolare Muscoli mimici (Pellicciai) I muscoli mimici sono per lo più formati da esili fasci muscolari, spesso privi di aponeurosi. Essi prendono inserzione, con almeno uno dei due capi, sulla faccia profonda della cute e sono determinanti nell espressione fisionomica. Tali muscoli intrinseci, per la prevalente funzione che svolgono, sono particolarmente sviluppati nel massiccio facciale, mentre si presentano più ridotti in corrispondenza del neurocranio. Lo strato muscolare mimico è posizionato profondamente allo strato del tessuto connettivo sottocutaneo. I muscoli mimici sono numerosi e collocati in diversi strati, tuttavia la descrizione seguente considera unicamente i muscoli implementati nel presente progetto. Per comodità espositiva, è possibile seguire un criterio topografico e suddividere le regioni del cranio in: epicranica, orbitaria, nasale e buccale, considerandone i relativi muscoli. Non sarà menzionata la regione auricolare, della quale non è stato implementato alcun muscolo, essendo questa dotata, 24

28 nell umano, di scarsissima possibilità di movimento. Regione epicranica Di essa fanno parte il muscolo frontale e il muscolo procero (porzioni del muscolo epicranico, che occupa l intera regione). Il muscolo frontale è rappresentato dalla porzione anteriore del muscolo epicranico, che si presenta come una sottile formazione muscoloaponeurotica, distesa sulla volta cranica. Il frontale è un muscolo pari, appiattito e di forma quadrilatera; origina dal margine anteriore della galea capitis (porzione intermedia aponeurotica del muscolo epicranico) e si porta anteriormente e in basso per inserirsi nella faccia profonda della cute, in corrispondenza del sopracciglio, della glabella e della parte superiore del dorso del naso; i suoi fasci più mediali sono indicati con il termine di muscolo procero. Il muscolo frontale, contraendosi, sposta in avanti il cuoio capelluto e corruga la fronte (vedi fig. 3.3). Fig. 3.3: Muscolo frontale e muscolo procero in afms. Regione orbitaria Di tale regione fanno parte due muscoli: il corrugatore del sopracciglio e l orbicolare dell occhio. Il muscolo corrugatore è una sottile lamella carnosa, a concavità inferiore, situata nel sopracciglio. Origina dall estremità mediale dell arcata sopraccigliare e si inserisce sul derma del sopracciglio in corrispondenza del foro sovraorbitario. Èposto 25

29 profondamente al muscolo frontale e alla parte orbitaria del muscolo orbicolare. Contraendosi, porta medialmente e in basso la cute del sopracciglio. Il muscolo orbicolare dell occhio ha la forma di un anello ellittico, che si dispone intorno alla rima palpebrale. Vi si distinguono una parte orbitaria, una parte palpebrale e una parte lacrimale. La porzione orbitaria è la più sviluppata ed è posta eccentricamente rispetto alla palpebra. Essa origina dal margine superiore del legamento palpebrale mediale e dal terzo mediale del margine sovraorbitario; si inserisce sul margine inferiore del legamento palpebrale mediale, sul terzo mediale del margine infraorbitario e sul sacco lacrimale. Essa costituisce dunque un anello quasi completo intorno alle palpebre, che si interrompe soltanto medialmente, tra l origine e l inserzione. In corrispondenza dell angolo laterale dell occhio, alcuni fascetti abbandonano la parte orbitaria, scendendo nella guancia, dove entrano nella compagine del muscolo zigomatico. La porzione palpebrale è contenuta nello spessore della palpebra superiore ed inferiore. Le sue fibre originano dal legamento palpebrale mediale e si portano esternamente per inserirsi al rafe palpebrale laterale. La porzione lacrimale è situata profondamente. Prende origine dalla cresta lacrimale posteriore, dietro al sacco lacrimale, e si dirige anteriormente e in fuori, fino alla commessura palpebrale mediale dove si divide in due fasci, rispettivamente per la palpebra superiore e inferiore, che confluiscono nella parte palpebrale del muscolo. La contrazione del muscolo orbicolare dell occhio determina la chiusura della rima palpebrale, convoglia le lacrime verso l angolo interno dell occhio e ne facilita il deflusso, dilatando il sacco lacrimale (vedi fig. 3.4). Fig. 3.4: Muscolo corrugatore del sopracciglio e muscolo orbicolare dell occhio in afms. 26

30 Regione nasale I muscoli considerati, per questa regione, sono il nasale e il trasverso nasale (porzione del precedente). Il muscolo nasale è formato da una parte trasversa (muscolo trasverso del naso) e da una parte alare (muscolo mirtiforme). L origine delle due parti è comune, dai gioghi alveolari dei denti incisivi e canini superiori e dalla fossetta incisiva. La parte trasversa, che ha origine più lateralmente, ricopre la parte posteriore dell ala del naso e si fissa al dorso del naso mediante un aponeurosi che si unisce a quella del lato opposto. La parte alare si porta alla cute dell estremità posteriore del setto mobile e della narice. Contraendosi, il muscolo nasale comprime la parete leterale del naso, restringendo la narice e il vestibolo (vedi fig. 3.5). Fig. 3.5: Muscolo nasale e muscolo trasverso nasale in afms. Regione buccale Le labbra presentano grande mobilità e sono pertanto fornite di un ricco corredo muscolare, del quale sono stati presi in considerazione il muscolo elevatore del labbro superiore, zigomatico maggiore e minore, orbicolare della bocca, risorio, depressore dell angolo della bocca e mentale. Il muscolo elevatore del labbro superiore origina dal margine infraorbitario, al di sopra del foro infraorbitario, e si inserisce alla cute del labbro superiore, medialmente alla terminazione dello zigomatico minore. La contrazione di tale muscolo determina il sollevamento del labbro superiore (vedi fig. 3.6). Il muscolo zigomatico maggiore origina dalla faccia laterale dell osso zigomatico e si inserisce sulla faccia profonda della cute e della mucosa labiale, in corrispondenza della commessura, dove invia anche fibre nella compagine del muscolo orbicolare della bocca. Con la sua azione, sposta la commessura labiale in alto e indietro (vedi fig. 3.7). 27

31 Fig. 3.6: Muscolo elevatore del labbro superiore in afms. Fig. 3.7: Muscolo zigomatico maggiore in afms. Il muscolo zigomatico minore origina dalla faccia laterale dell osso zigomatico, anteriormente allo zigomatico maggiore, e si inserisce alla cute del labbro superiore, al di sopra della commessura. La contrazione di tale muscolo consente il sollevamento del labbro superiore (vedi fig. 3.8). Il muscolo orbicolare della bocca partecipa largamente alla costituzione delle labbra e si presenta come un anello ellittico disposto intorno alla rima buccale; si estende dal margine libero delle labbra alla base del naso, in alto, e al solco mentolabiale, in basso. Vi si considerano una parte esterna e una parte interna. La parte esterna è periferica e comprende fasci che provengono da vari muscoli mimici (canino, buccinatore, triangolare, incisivi); tali fasci formano due semicerchi che hanno il loro centro in corrispondenza della commessura e la loro estremità sulla linea mediana del labbro superiore e inferiore. Alcuni fasci della porzione esterna si inseriscono alla faccia profonda della cute labiale, in vicinanza della linea mediana e della cute che riveste il contorno posteriore della narice e la parte posteriore del setto membranoso (muscolo depressore del setto). La parte interna del muscolo orbicolare è formata da una anello posto in vicinanza del margine libero delle labbra. Tale anello è costituito da una parte superiore (labbro superiore) e da una 28

32 Fig. 3.8: Muscolo zigomatico minore in afms. parte inferiore (labbro inferiore), che si incrociano a livello delle commessure, inserendosi alla faccia profonda della cute e della mucosa. In vicinanza del margine libero delle labbra, si trovano poi fasci che si dirigono sagittalmente dalla faccia profonda della cute alla faccia profonda della mucosa. Con la sua azione, il muscolo orbicolare della bocca restringe o chiude la rima buccale; consente inoltre di sporgere in avanti le labbra (vedi fig. 3.9). Fig. 3.9: Muscolo orbicolare della bocca in afms. Il muscolo risorio ha forma triangolare, con la base posteriore e l apice anteriore. Prende origine dalla fascia parotidea e si porta anteriormente, decor- 29

33 rendo sulla fascia masseterina, per raggiungere la commessura labiale, dove si inserisce profondamente alla cute. Contraendosi, il risorio sposta indietro la commessura labiale (vedi fig. 3.10). Fig. 3.10: Muscolo risorio in afms. Il muscolo depressore dell angolo della bocca (o muscolo triangolare delle labbra) si trova al di sotto della commessura labiale, con la base in basso e l apice in alto. Origina dalla faccia esterna del corpo della manibola, in vicinanza della base; i suoi fasci si portano in alto, inserendosi in parte sulla cute della commessura e in parte risalendo nel labbro superiore, dove entrano a far parte del muscolo orbicolare. La contrazione del depressore dell angolo sposta in basso la commessura labiale (vedi fig. 3.11). Fig. 3.11: Muscolo depressore dell angolo della bocca in afms. Il muscolo mentale si trova in corrispondenza della sinfisi del mento. Origina dal giogo alveolare del dente incisivo mediale inferiore e si porta in basso inserendosi alla cute del mento. Con la sua azione, solleva e corruga la cute del mento (vedi fig. 3.12). [13] [14] [15] 30

34 Fig. 3.12: Muscolo mentale in afms. 31

35 Capitolo 4 Modello della pelle 4.1 Anatomia della pelle umana La pelle umana è l organo più grande di tutto il corpo, la sua superficie, in una persona adulta, è di circa 2 metri quadri e svolge innumerevoli funzioni, tutte di grandissima importanza e utilità: ci protegge dai virus e dai batteri che ci attaccano dal mondo esterno, regola la temperatura corporea e immagazzina acqua, grasso e sangue. La sua importanza può essere meglio percepita con l aiuto di qualche dato significativo: la pelle di una persona adulta costituisce circa il 15 20% dell intero peso corporeo ogni centimetro quadrato di pelle ha circa di cellule, recettori sensoriali, 100 ghiandole sudoripare e 15 ghiandole sebacee. La pelle viene continuamente rigenerata. Una cellula nasce nel livello più basso chiamato derma, fornita di vasi sanguigni e terminazioni nervose, quindi migra verso l alto per circa due settimane, fino a quando raggiunge il livello più esterno, chiamato epidermide. La cellula passa altre due settimane nell epidermide, appiattendosi gradualmente, poi muore e viene cambiata. Ogni giorno vengono cambiate circa 2-3 miliardi di cellule, la pelle si rinnova completamente ogni mese e questo accade perché è la nostra prima linea difensiva contro la disidratazione, le infezioni, le ferite e le temperature estreme. L epidermide L epidermide è la zona più esterna della pelle, ha uno spessore compreso tra mm, ed è costituita da tre tipi di cellule: cheratinociti, melanociti e cellule di Langerhans. Le cellule cheratinociti sono quelle che producono la cheratina e rappresentano la maggior parte delle cellule dell epidermide, man mano che maturano 32

36 perdono acqua e si appiattiscono, muovendosi verso lo strato più esterno, chiamato stratum corneum, formato anche da proteine indurite e da lipidi, generando così una crosta protettiva. I melanociti invece, producono la melanina, che è il pigmento responsabile del tono e del colore della pelle. Infine ci sono le cellule di Langerhans che costituiscono il primo livello del sistema immuntario, queste prevengono l assorbimento da parte della pelle di sostanze dannose. Il derma Il derma è lo strato interno della pelle. In esso sono presenti le ghiandole sudoripare, i bulbi piliferi e le terminazioni nervose, mentre alla sua base si trova il pannicolo adiposo, che prende il nome di ipoderma. Il ruolo del derma è fondamentale in quanto provvede al nutrimento e all ossigenazione della soprastante epidermide, sprovvista di vasi. L interfaccia tra epidermide e derma è costituita da centinaia di estroflessioni di entrambi i tessuti (papille e creste) il cui fine è quello di aumentare esponenzialmente l area di contatto in modo da ottimizzare l adesione e gli scambi. L ipoderma Èlostratopiù interno della pelle, si trova al di sotto del derma ed è costituito essenzialmente di grasso. Il grasso subcutaneo assorbe gli urti e funge da isolante termico, proteggendo i tessuti sottostanti dal freddo e dai traumi. Fig. 4.1: Sezione trasversa della pelle umana 33

37 4.2 Biomeccanica della pelle umana La biomeccanica studia il comportamento meccanico dei materiali biologici sotto particolari condizioni (pressione, trazione, vibrazione, frattura, ecc.). Nel caso particolare di questo studio sull animazione facciale, la biomeccanica spiega bene il comportamento della pelle del volto quando questa viene deformata da forze esterne, che possono essere indotte dalla contrazione muscolare e/o dal movimento della mandibola. Tipicamente in biomeccanica, la forza applicata ad un materiale èmisurata in relazione della grandezza del campione. Questa relazione è espressa dalla seguente formula: σ = f [ ] N S m 2 (4.1) dove σ èlosforzo,f è la forza applicata e S è la sezione su cui è stata applicata la forza. Se invece si tratta di qualcosa di abbastanza semplice, come per esempio una molla, lo sforzo e dovuto al cambiamento della sua lunghezza l, apartireda una lunghezza a riposo l r si può calcolare come: e = l l r l r (4.2) Purtroppo, però, il comportamento della pelle, come quello di altri tessuti organici, non può essere propriamente descritto da queste formule. Risultati sperimentali hanno mostrato che la pelle ha un andamento viscoelastico non lineare [16] (vedi fig. 4.2). Sottoposta ad un piccolo sforzo, la Fig. 4.2: Relazione stress-strain del tessuto facciale cute offre una piccola resistenza alla forza, a causa delle fibre di collagene che si tendono. Se però la deformazione è maggiore, le fibre di collagene si 34

38 tendono ancora di più, fino ad allinearsi con la deformazione, aumentando la resistenza. Si può vedere infatti che la relazione stress-strain durante la fase di deformazione (loading) è diversa da quella durante la fase di rilascio (unloading), formando un ciclo. Ciascuna parte di questo ciclo (loading e unloading) può essere descritta da una funzione pseudo-elastica non lineare, poiché però, la differenza tra le due non è significativa, è possibile approssimare tutta la relazione con una curva bifasica. La pelle mostra delle evidenti proprietà viscoelastiche, infatti si comporta in parte come un solido elastico e in parte come un fluido viscoso. La simulazione delle complesse proprietà della pelle è un obiettivo molto difficile da perseguire, anche se si hanno a disposizione PC sempre più potenti eperformanti. In afms, per simulare in maniera realistica la cute umana, si èdecisodi usare un modello fisico che si basa principalmente sul concetto di masse e di molle (mass-spring system), che permette di simulare l elasticità non lineare con uno sforzo computazionale abbastanza contenuto. 4.3 Mass-Spring System Nella computer graphics il sistema masse-molle (mass-spring system) viene utilizzato spesso per simulare oggetti deformabili, come per esempio la stoffa e gli oggetti soffici. In questo caso viene utilizzato un sistema di masse-molle per simulare la cute umana. Come è stato già detto, afms prende come input un modello vrml che raffigura un volto umano, il modello è costituito da un insieme di mesh triangolari (vedi fig. 4.3). In pratica, simulare l elasticità della pelle vuol dire deformare le mesh del modello vrml quando i muscoli facciali vengono azionati. A questo scopo l intero sistema di mesh che costitutisce il modello viene convertito in un sistema di masse e molle, in cui a ciascun vertice del triangolo Modello VRML Vertici Poligoni Molle beta joakim john kevin king reana yoda Tabella 4.1: Questa tabella mostra, per ciascun modello, il numero di vertici, di poligoni e di molle. 35

39 Fig. 4.3: (a) Modello facciale con textures (b) Modello facciale wire frame viene fatta corrispondere una massa m e a ciascun lato viene fatta corrispondere una molla. La deformazione è generata dall applicazione delle forze muscolari sui nodimassa, il movimento di questi nodi induce delle forze interne che a loro volta fanno muovere i nodi-massa a loro adiacenti, questo processo continua fino a quando non si raggiunge un nuovo punto di equilibrio in cui le forze interne ed esterne si annullano. La forza esercitata da una molla [17] sui nodi-massa a e b che vi sono attaccati è: [ F a = k s ( l r)+k d l l l ] l l (4.3) F b = F a (4.4) dove con F a e F b è stata indicata la forza esercitata rispettivamente sul nodo a e b, l è la lunghezza della molla deformata, r è la lunghezza della molla a riposo, k s è la costante di rigidità, k d èlacostantedismorzamento e l èladerivataneltempodil, cioè la differenza tra le velocità dei due nodi a e b (v a v b ). Nell equazione 4.3 l intensità della forza è proporzionale alla differenza tra 36

40 Fig. 4.4: (a) Disposizione delle molle sulla superficie del modello (b) Le unità di base che costituiscono la molla nel sistema di coordinate 3D. Il triangolo grigio rappresenta lo smorzamento (damper). la lunghezza attuale della molla e quella a riposo, mentre l intensità della forza di smorzamento è proporzionale alla differenza delle velocità dei nodi a e b. Forze uguali ed opposte agiscono su ogni nodo, lungo l asse che li unisce. Come è stato detto nel par.4.1, la pelle umana è essenzialmente costituita da tre strati; in afms la pelle viene simulata come un unico strato, questo per ottenere una simulazione più veloce, in quanto si riduce sensibilmente il numero di molle. Nonostante questa semplificazione, la simulazione continua ad essere molto relistica. Può però accadere che l intero sistema di masse e molle diventi instabile quando il movimento delle molle diventa estremamente grande e rapido (questo può accadere quando c è un movimento facciale molto veloce), in questo caso quindi, l intero sistema entra in risonanza e collassa. A volte nemmeno aumentare la costante di smorzamento può servire. Per cercare di rendere l intero sistema il più stabile possibile, si cerca di calibrare bene la costante di elasticità e il timestep della simulazione. 4.4 Forze vincolari di compenetrazione del cranio Per riuscire ad ottenere una buona simulazione bisogna tener conto anche di un altro componente fondamentale del volto: il cranio. A causa infatti della presenza del teschio [2], la pelle, durante la creazione di un espressione, deve poter scivolare sulla parte ossea. Se così non fosse, durante la simulazione, a causa delle forze imposte sul modello dai muscoli mimici, si potrebbero avere degli effetti indesiderati come per esempio quello della perdita della forma e del volume corretti del volto. Per ovviare a questo problema, è stata aggiunta oltre alle varie forze (musco- 37

41 lari ed elastiche) anche una forza vincolare di non penetrazione del teschio, applicata a tutti i nodi interessati dal movimento, che permette a tutti i nodi della pelle di scivolare sul cranio. In afms viene preso come superficie di riferimento per il teschio il modello vrml stesso. La forza vincolare di non penetrazione del volto F skull (x i ), applicata a ciascun nodo x i del modello vrml è calcolata come: { (Fnet (x F skull (x i )= i ) n i ) n i se F net (x i ) n i < 0 0 altrimenti (4.5) dove F net (x i )è la forza totale (elastica, di smorzamento e muscolare) dell intera rete di nodi del modello vrml agente sul nodo x i e n i èlanormale al nodo x i. Quindi, affinchè la pelle scivoli sul cranio (vedi fig. 4.5), alla F net (x i ) viene sommata la F skull (x i ), ottenendo come risultato la F net(x i ). Fig. 4.5: Forza vincolare di non penetrazione del cranio F skull (x i ) 38

42 4.5 Integrazione numerica Durante lo sviluppo di afms, è stata posta particolare attenzione sull utilizzo da parte di questa applicazione delle risorse di memoria e di tempo, si è cercato infatti di riuscire ad ottenere un buon compromesso tra prestazioni e accuratezza dell animazione. Uno dei punti chiave è stato quello di realizzare correttamente il comportamento dell intero sistema di masse e molle, dell azione muscolare e del vincolo imposto dal cranio, attraverso un integrazione numerica che fosse la meno dispendiosa possibile dal punto di vista delle risorse computazionali Equazioni che regolano la deformazione della pelle Le equazioni che regolano la deformazione del volto virtuale costituito dal sistema di masse e molle, dai muscoli mimici e dal vincolo di non compenetrazione del cranio, sono equazioni differenziali del secondo ordine e possono essere espresse [18] attraverso vettori tridimensionali, del tipo: M d2 x(t) dt 2 + D dx(t) dt + Kx(t) =F mus (x(t)) + F skull (x(t)) (4.6) dove M è la massa del nodo, D è il fattore di smorzamento, K èilcoefficiente di elasticità, F mus è la forza esercitata dai muscoli e infine F skull èla forza vincolare di non compenetrazione del cranio. Se si ha un sistema formato da n nodi, allora x è un vettore di dimensione 3n mentre M, D e K sono matrici diagonali 3n 3n. Kx(t)è la forza elastica, quindi si può introdurre F ela che può essere espressa come: F ela (x(t), K) =Kx(t) (4.7) sostituendo la 4.7 nell equazione 4.6 e riordinando si ottiene: M d2 x(t) dt 2 + D dx(t) dt = F mus (x(t)) + F skull (x(t)) F ela (x(t), K) (4.8) F mus, F skull e F ela sono vettori di dimensione 3n. La soluzione completa per l intero sistema si ottiene processando iterativamente tutti i punti-massa e per ognuno di essi bisogna risolvere l equazione

43 Si prenda, per semplicità, in considerazione un singolo punto-massa m i e per esso verrà risolta l equazione 4.8. Per comprendere meglio come cercare la soluzione di questa equazione differenziale del secondo ordine, la si divide in un sistema di due equazioni differenziali del primo ordine, introducendo la funzione della velocità v i (t). dx i (t) dt dv i (t) dt = v i (t) Se al tempo t 0 i valori iniziali sono: (4.9) = Fmus(x i(t))+f skull (x i (t)) F ela (x i (t),k) Dv i (t) m i x 0 i = x i(t 0 ) v 0 i = v i(t 0 ) data la posizione x n i = x i(t n ) e la velocità vi n = v i (t n )altempot n, l obiettivo è quello di calcolare rispettivamente x n+1 i e vi n+1 del time step successivo t n+1. È stato dimostrato [17] che i metodi di integrazione implicita sono migliori rispetto a quelli espliciti nel caso in cui si ha a che fare con sistemi di equazioni rigidi. In questo modo, un sofisticato metodo implicito consente di poter usare time step abbastanza grandi per risolvere le equazioni indicate sopra. L attenzione verrà ora focalizzata su un semplice metodo che garantisce un alta velocità di aggiornamento per l animazione. Si usa il metodo implicito per calcolare x n+1 i e vi n+1 al tempo t n+1 apartire dagli stati correnti x n i e vi n al tempo t n. v n+1 i x n+1 i = v n i Fmus(xn+1 i )+F +Δt skull (x n+1 i ) F ela (x n+1 i,k) Dv n+1 i m i = x n i +Δtvn+1 i (4.10) Come è possibile notare, la seconda equazione del sistema 4.10 dipende solamente dalla variabile vi n+1 ; ma nella prima equazione, la funzione della forza muscolare, la funzione della forza vincolare di non compenetrazione del cranio e la forza elastica del sistema masse-molle, dipendono a loro volta ancora da x n+1 i. Per semplificare la risoluzione del sistema, anzichè estrarre x n+1 i ad ogni time-step, x n+1 viene stimato usando il metodo di Eulero esplicito, ottenendo: i x n+1 i = x n i +Δtvi n (4.11) Quindi, inserendo il valore di x n+1 i appena calcolato con la 4.11 nella prima equazione del sistema 4.10, si ottiene la vi n+1. Il metodo di Eulero viene utilizzato per una gran quantità di applicazioni, come per esempio i videogames. In afms è stata introdotta un ulteriore 40

44 semplificazione nel metodo di Eulero (Semi-Implicit Backward Euler), che permette una maggiore stabilità dell applicazione, infatti viene dapprima calcolata in maniera esplicita la vi n+1 come: vi n+1 = vi n +Δt F mus(x n+1 i )+F skull (x n+1 i ) F ela (x n+1 i, K) Dv n+1 i m i (4.12) e poi viene calcolata in maniera implicita la x n+1 i come: x n+1 i = x n i + Δt 2 (vn i + vn+1 i ) (4.13) Per assicurare che il sistema sia stabile, bisogna che valga sempre la seguente relazione: mi Δt <2 (4.14) K il che in pratica vuole dire che il time step Δt e la costante di rigidità K non devono essere troppo grandi, mentre la massa m i non deve essere troppo piccola. 41

45 4.6 Strutture dati nel mass-spring system Al fine di ottenere una simulazione realistica degli effetti dei muscoli mimici sulla pelle del volto, si è resa necessaria la disponibilità di alcuni dati per ciascun nodo-massa e per ciascuna molla. In fase di progettazione di afms, siè deciso di dedicare una classe per la rappresentazione del singolo nodo e una classe per la rappresentazione della molla Struttura dati del nodo-massa L oggetto nodo è composto dai seguenti campi: Massa: la massa del nodo, tutti i nodi hanno la medesima massa. Posizione iniziale: la posizione iniziale del nodo all istante t 0. Posizione corrente: la posizione corrente del nodo all istante t i. Prossima posizione corrente: la posizione del nodo all istante t i+1. Velocità corrente: lavelocità corrente del nodo all istante t i. Prossima velocità corrente: lavelocità del nodo all istante t i+1. Forza della rete: la somma di tutte le forze agenti sul nodo. Normale: lanormalen i del nodo. Nodi vicini: il vettore contenente gli indici dei nodi vicini. Numero dei nodi vicini: il numero dei nodi vicini. Facce: il vettore contenente gli indici delle facce dei poligoni a cui il nodo appartiene. Vettore delle molle di connessione: il vettore contenente tutte le molle che collegano il nodo x i ai suoi vicini. Numero delle molle di connessione: il numero delle molle che connettono il nodo x i ai nodi vicini Struttura dati della molla L oggetto molla è composto dai seguenti campi: Lunghezza di riposo: è la lunghezza della molla quando su di essa non agisce alcuna forza. 42

46 Fig. 4.6: Modello strutturale della molla. s è la componente elastica,d è lo smorzamento Costante di rigidità: (stiffness) la costante di rigidità della molla gioca un ruolo fondamentale nella simulazione, infatti attraverso di essa si riesce a regolare la durezza della molla, controllandone quindi l andamento oscillatorio. Fattore di smorzamento: (damping factor) è il fattore di smorzamento che regola per l appunto lo smorzamento della molla. Vale la pena ricordare che il modello di molla utilizzato in questo progetto è quello costituito da una componente elastica e dallo smorzamento (vedi fig. 4.6). Gli estremi: vengono specificati i nodi-massa che si trovano agli estremi della molla; degli estremi si conosce l indice che fa riferimento ai vertici del modello vrml e la posizione attuale assunta dai nodi-massa al tempo t i. 43

47 Capitolo 5 Modello muscolare 5.1 Struttura anatomica reale del muscolo Ogni muscolo risulta composto da fibre muscolari, il cui numero dipende dalla grandezza del diametro trasverso del muscolo e dal trofismo 1 di ogni singola fibra, nonché dall orientamento delle fibre stesse. Vi sono diverse fasce connettivali che avvolgono il muscolo e le sue fibre, in maniera tale da dividere la sua struttura globale in gruppi e sottogruppi. La fascia più esternaè quella che avvolge l intero muscolo e prende il nome di epimisio. Le successive fasce sono il perimisio (che avvolge i fasci di fibre muscolari) e l endomisio (che avvolge le singole fibre). Ogni fibra ha un diametro da 10 a 100 μm ed è costituita dalla membrana che la avvolge, l endomisio, da un contenuto indifferenziato detto sarcoplasma (il citoplasma delle cellule muscolari) e da un certo numero di miofibrille, il cuidiametrovariada1a2μm. A sua volta la miofibrilla, avvolta da una membrana detta sarcolemma, è costituita da miofilamenti fra loro contigui o a contatto, in base alla funzione che stanno esplicando, detti actina e miosina. Funzione contrattile ultramicroscopica La funzione contrattile è desumibile dal movimento dei filamenti di actina e miosina (proteine contrattili). Tali filamenti, siti all interno delle miofibrille, si allineano parallelamente lungo l asse maggiore del muscolo. I filamenti di miosina sono più grossi e dotati di espansioni peduncolate, dette ponti trasversali. Durante la contrazione, i ponti trasversali vengono a contatto con i filamenti di actina, in particolari punti detti siti attivi; successivamente essi modificano la loro angolazione, spostando actina e miosina l una rispetto all altra; quando un ponte perde il contatto con un sito dell actina, viene ripreso dal sito attivo successivo, e così via fino al termine della 1 Grado di nutrizione di un tessuto. Per le fibre muscolari ci si riferisce al loro spessore. 44

48 contrazione. I filamenti non variano dunque la loro lunghezza, ma scorrono gli uni sugli altri, determinando macroscopicamente un complessivo accorciamento muscolare. Anatomicamente, le striature visibili nelle sezioni longitudinali del muscolo sono dovute al particolare allineamento dei filamenti actinici e miosinici. Si distinguono, infatti, bande chiare e scure. Le bande chiare sono definite bande o zone I (isotrope), quelle scure sono definite bande o zone A (anisotrope). All interno di ogni zona A è visibile una parte più chiara detta zona H. La linea verticale che divide a metà la zona I è detta linea Z. L unitàfunzionale contrattile del muscolo è denominata sarcomero. Tale segmento è compreso tra due linee Z, dunque risulta composto da una banda scura A e due semibande chiare I. Le miofibrille possono essere considerate come una successione di sarcomeri. La contrazione muscolare determina un avvicinamento di due linee Z successive e, dunque, l accorciamento di ogni singolo sarcomero. Fig. 5.1: Struttura muscolare 45

49 Modello meccanico muscolare Oltre alla specifica azione contrattile svolta dalle miofibrille, il muscolo è dotato anche di strutture elastiche. Le strutture elastiche sono costituenti del tessuto connettivo e si dividono in strutture elastiche in serie e in parallelo. Le strutture elastiche in serie (Es) sono rappresentate dal tendine e dai suoi prolungamenti all interno del muscolo: la loro funzione, durante l attività contrattile, è quella di ammortizzare le sollecitazioni prodotte sia dagli allungamenti che dalle contrazioni. Le strutture elastiche in parallelo (Ep), rappresentate dal sarcolemma (membrana connettivale della miofibrilla), da altre membrane connettivali e dal tessuto connettivo interposto, smorzano soltanto le sollecitazioni prodotte dagli allungamenti, riducendo le resistenze. Dalla fig. 5.2 che mostra il Fig. 5.2: Modello meccanico muscolare modello meccanico muscolare, dove C sono gli elementi contrattili (fibre), Es ed Ep rispettivamente gli elementi elastici in serie e in parallelo, si può constatare che se C si accorcia, solo gli Es si allungano, viceversa se il muscolo viene allungato, sia gli Es che gli Ep vengono allungati. Se, infatti, nella linea del modello meccanico rappresentato da C e da Es ci fosse solo C, dopo lo stiramento tutto il percorso necessario per la contrazione sarebbe effettuato solo in maniera attiva, richiedendo quindi energia supplementare. È necessario inoltre considerare la funzione di protezione interna, oltre che esterna, di tali elementi connettivali: infatti, alla trazione e contrazione a cui la parte contrattile partecipa in prima persona, contribuiscono con il loro apporto di resistenza gli Es e gli Ep. Da sottolineare nuovamente, il contributo in allungamento dato dagli Es, che consentono inoltre, nella fase di ritorno elastico del muscolo, un risparmio di energia contrattile. Forma e diametro dei muscoli I muscoli del corpo umano presentano forme e dimensioni diverse, che dipendono in gran parte dalla qualità e dalla quantità di lavoro che devono compiere. Ovviamente, quante più fibre muscolari sono comprese in un muscolo, tanta più forza esso potrà esprimere. 46

50 Per valutare la forza potenziale esprimibile da un muscolo, si considera la sezione trasversa anatomica del muscolo nel punto medio in cui, normalmente, il diametro presenta la sua maggior ampiezza. Ciòè possibile soprattutto nei muscoli fusiformi, che presentano la particolarità funzionale di poter esprimere un maggior grado di accorciamento e di allungamento. Quando, tuttavia, si ha a che fare con muscoli penniformi, l obliquità delle loro inserzioni non consente con un unica misura di verificare il diametro trasverso; si fa, pertanto, ricorso alla misurazione della loro sezione trasversa fisiologica, così detta in quanto non si tratta di una vera e propria sezione trasversale. Va osservato che l obliquità delle fibre di un muscolo pennato consente di potervene immagazzinare una maggior quantità e, quindi, di essere potenzialmente più forte. Viceversa, i muscoli fusiformi hanno, proporzionalmente, minor forza, ma, come già ricordato, possono esprimere una maggior escursione dei loro filamenti contrattili, dunque una maggior ampiezza di movimento. Contrazione, allungamento e velocità dicontrazione Ricerche di fisiologia, effettuate con preparazioni muscolari confermate da ricerche in vivo, hanno consentito, soprattutto attraverso la costruzione della curva tensione/lunghezza (T/L) e tensione/velocità (T/V), di determinare una serie di dati uili alla comprensione di alcune importanti proprietà e limiti del tessuto muscolare. Si tratta, innanzitutto, delle modalità con cui si realizzano contrazioni e allungamenti nelle fibre muscolari e, poi, delle particolari modificazioni fisiche che possono aver luogo a loro carico in presenza di variazioni della velocità di contrazione o di allungamento. Occorre infatti precisare che, per effetto di un identico impulso nervoso, quindi con eguale scarica di potenziali d azione, si possono avere effetti meccanici diversi. Ciò è dovuto al fatto che la forza espressa dal muscolo non dipende solo da fattori nervosi, ma anche dallo stato in cui esso si trova nel momento in cui viene raggiunto dallo stimolo elettrico. Oltre alla funzione elastica delle strutture passive del muscolo (Ep, Es) e alla funzione contrattile delle strutture attive (filamenti di actina e miosina), occorre aggiungere che il muscolo presenta le seguenti proprietà meccaniche durante la funzione contrattile: - la stiffness; -laviscosità. Si intende per stiffness ( durezza, rigidità ) il rapporto esistente fra l aumento della tensione muscolare e l allungamento che la fibra muscolare subisce. In pratica, la stiffness rappresenta la reazione del muscolo a seguito 47

51 del suo stesso allungamento; tale reazione è direttamente proporzionale all entità dell allungamento ed è dovuta soprattutto all impiego delle strutture attive (fibre muscolari), ma anche di quelle passive, ossia delle strutture elastiche in serie (Es). Si intende per viscosità la reazione meccanica presente nel muscolo soprattutto a causa della velocità con la quale si compiono contrazione e allungamento. Si tratta di un fenomeno che porta a dissipazione di parte dell energia utilizzata per l azione muscolare. Vi è proporzionalità diretta con la velocità di contrazione per quanto riguarda attriti modesti dovuti agli Es. Gli attriti principali, però, sono quelli presenti nei filamenti di actina e miosina, per i quali tale principio di proporzionalità non è valido. La curva tensione/lunghezza (fig. 5.3) manifesta che, in seguito all allunga- Fig. 5.3: Curva Tensione/Lunghezza mento di un muscolo, la tensione inizia alla lunghezza di riposo (Ldr) del muscolo stesso e l allungamento può arrivare fino a circa il 90% in più della sua Ldr; superato tale livello, il muscolo si rompe. La produzione di tensione può iniziare anche a metà della Ldr, ma non a misure inferiori a questa, poiché il muscolo perderebbe la capacità di contrarsi. Dal 50% della Ldr fino al 100%, la tensione ètuttaacaricodellestrutture contrattili, successivamente intervengono anche le strutture elastiche. Strutture elastiche e contrattili lavorano insieme fino a circa il % della Ldr, successivamente si ha una rapida riduzione e scomparsa del contributo delle strutture contrattili e, fino al limite di rottura, la tensione rimane a carico delle sole strutture elastiche. Si è potuto, così, stabilire che le condizioni di allungamento ottimali del muscolo che determinano la migliore risposta muscolare allo stimolo nervoso sono, all incirca, il % 48

52 della sua Ldr. Lunghezze maggiori o minori riducono la tensione esistente nel muscolo e quindi la validità della sua contrazione. Dal punto di vista ultramicroscopico, si verificano i seguenti fenomeni: il sarcomero si allunga con una certa proporzionalità fino ad un massimo che corrisponde all apice della curva T/L, corrispondente al % della Ldr. Qui le capacità contrattili sono favorite da un massimo numero di ponti fra actina e miosina. All inizio dell allungamento (dal 50% della Ldr), èpresente una grande sovrapposizione dei ponti actomiosinici, cosa che li rende meno efficienti. Al contrario, dopo la fase ottimale ( % della Ldr) inizia un allontanamento eccessivo dei filamenti di miosina rispetto a quelli di actina. Si hanno, pertanto, sempre meno ponti: ciò porta a minor contrazione e al vicariamento della tensione a carico dei soli elementi elastici in serie; vi è caduta di tensione e l allungamento diminuisce. È stato inoltre dimostrato che occorre uno stimolo nervoso di intensità minore per ottenere lo stesso tipodicontrazioneseilmuscoloè preventivamente allungato. La forza esprimibile varia a seconda dello stato di allungamento delle fibre, riferito alla Ldr, nel momento in cui il muscolo viene stimolato. Riassumendo, un allungamento del 120%, rispetto al 100% della Ldr di una fibra muscolare, è quello che consente di ottenere il massimo della forza, a parità di altre condizioni, mentre la minor forza si ha partendo da una lunghezza della fibra muscolare pari al 50% della sua Ldr. La curva tensione/velocità (fig. 5.4) mostra il rapporto esistente tra le variazioni di forza (tensione) Fig. 5.4: Curva Tensione/Velocità espresse dal muscolo e gli incrementi di velocità della contrazione. A sinistra del grafico, si può constatare che, con l aumento della velocità, una contrazione isotonica eccentrica (in allungamento), tende ad aumentare 49

53 la tensione, fino ad un punto in cui essa si stabilizza. A destra del grafico è illustrata la relazione T/V nella contrazione isotonica concentrica, che provoca accorciamento delle fibre fino alla fine del movimento articolare. In essa si può notare che quanto più aumenta la velocità, tanto più ilmuscolo diminuisce la propria tensione, fino ad una massima velocità, in cui la tensione si riduce a zero. Ciò si verifica per effetto della viscosità, che risulta soprattutto a carico dello scorrimento dei filamenti di actina e miosina. Dai due grafici T/L e T/V si evince che la massima potenza muscolare in condizioni ergonomiche, ossia di massima funzionalità con minimo dispendio energetico, si ottiene a velocità e accorciamenti non elevati, ma intermedi. [19] 5.2 Modello muscolare virtuale afms prende come input un modello vrml che raffigura un volto umano e, a partire da questo e dagli fdp (che devono essere necessariamente noti), vengono generati automaticamente tutti i muscoli mimici del volto, realizzando così l intera mappa muscolare. In afms, i muscoli mimici possono essere suddivisi in due gruppi distinti: i muscoli lineari (frontale, nasale, zigomatico, ecc.) e i muscoli circolari (muscoli degli occhi e della bocca). Per realizzare i muscoli, si è deciso di implementare il modello proposto da Kähler [1], nel quale, sia i muscoli lineari che quelli circolari vengono definiti come un aggregazione di segmenti Il modello muscolare di Kähler In questo modello [1] il muscolo viene rappresentato come un insieme di fibre, ognuna delle quali ha una struttura di controllo costituita da un poligono lineare formato da segmenti. La contrazione isotonica di un muscolo viene controllata da un parametro numerico, che causa l accorciamento e la deformazione della geometria del muscolo. La semplificazione sta nel fatto che tutte le contrazioni del muscolo vengono visualizzate istantaneamente, in modo che possono essere trascurate le dinamiche interne e la dipendenza dal tempo. I modelli muscolari basati sulle fibre sono molto comuni nell ambito dell animazione facciale, queste fibre possono essere combinate tra di loro in fasci paralleli, in modo da formare piani muscolari di larghezza arbitraria. La superficie del muscolo è il risultato dell unione di forme geometriche (poligoni rettangolari) che sono attaccate ai segmenti che lo costitiuscono. Il modello supporta due tipi di contrazioni: il muscolo lineare si contrae lungo la sua estensione nella direzione del suo punto di origine mentre il 50

54 muscolo circolare, si contrae nella direzione di un punto centrale, tipicamente in modo ortogonale alla direzione delle fibre. Entrambi i tipi di muscoli sono descritti essenzialmente dallo stesso tipo di poligono di controllo, anche se la rappresentazione del muscolo circolare necessita dell identificazione del suo centro di contrazione. Poligono di controllo del muscolo Una fibra muscolare è costituita da N control points p i R 3 (i =0,...,N 1) formando un poligono di controllo P. Un muscolo lineare si contrae sempre nella direzione di p o (il punto di origine del muscolo lineare), invece il muscolo circolare necessita di un ulteriore centro di contrazione p verso il quale si muovono tutti i suoi control points. Per riprodurre la sporgenza e la contrazione delle labbra, non è sufficiente un unico centro di contrazione statico, bensì p può muoversi lungo un asse centrale a 0 a 1, fornendo al muscolo un parametro addizionale a [0, 1] che descrive la posizione del centro di contrazione corrente tra i due estremi a 0 e a 1 dell asse: p =(1 a)a 0 + aa 1. (5.1) Fig. 5.5: Esempio di fibre muscolari lineari con i relativi poligoni di controllo P = {p i }. (a) un muscolo lineare; (b) un muscolo circolare con il centro di contrazione sull asse centrale. Le frecce indicano la direzione generale della contrazione. Forma dei segmenti muscolari Ciascun segmento del muscolo ha le proprie coordinate del mondo, che definiscono la sua orientazione, lunghezza, altezza e spessore. Gli assi del 51

55 Fig. 5.6: Geometria del segmento muscolare. (a) Fibre muscolari stilizzate (b) Alle fibre muscolari sono stati aggiunti dei parallelepipedi per migliorarne la rappresentazione. segmento sono definiti dalla sua direzione, che è data dalla connessione dei control points, in più c è un ulteriore vettore che punta nella direzione della pelle. La deformazione del muscolo modifica i segmenti del poligono di controllo e le molle che sono attaccate ai nodi della mesh vengono mossi in accordo con la nuova posizione che hanno assunto. Il fatto importante è che il cambiamento delle coordinate locali dei segmenti durante la deformazione del muscolo, definisce completamente la forza esercitata da quest ultimo sulla pelle del volto, non è quindi necessaria nessuna informazione aggiuntiva circa la geometria complessiva del muscolo. Tipicamente, un muscolo è formato da un fascio di fibre che lavorano in parallelo, però, per facilitare la gestione delle connessioni dei segmenti (del poligono di controllo) che formano ciascun muscolo e le connessioni del muscolo con la pelle, è stata introdotta una semplificazione: ciascun muscolo viene rappresentato come un unica fibra. Deformazione del muscolo Per ogni frame di animazione, la contrazione corrente di ciascun muscolo è specificata da uno scalare c [0, 1], dove c = 0 significa che non c è contrazione e c = 1 significa invece che c è contrazione. Deveessereinoltre specificato il parametro a [0, 1] introdotto per il muscolo circolare, che muove il centro di contrazione del muscolo. Sono sempre i muscoli che guidano la deformazione della pelle, al contrario, la pelle non muove i muscoli. Il processo che implica la traduzione dei parametri di contrazione di un muscolo nella deformazione vera e propria e nel conseguente spostamento dei nodi-massa della mesh vrml viene effettuato per stadi successivi. Per un muscolo lineare, dato il valore di contrazione c, viene calcolato un nuovo poligono di controllo Q = {q i } N 1 i=0 apartiredap = {p i } N 1 i=0,aciascun control point p i Pè assegnato un parametro t [0, 1] che descrive 52

56 Fig. 5.7: Contrazione (c = 1 2 ) di un muscolo lineare (a) e circolare (b). I control points {p i } e {q i } rappresentano rispettivamente il muscolo rilassato e contratto [1]. la posizione del punto nel poligono: t i = 0, se i =0 i j=1 p j p j 1 N 1 j=1 p j p j 1, altrimenti. (5.2) I parametri t i vengono scalati dal fattore di contrazione (1 c) e quindi limitati nell intervallo [0.01, 1] per evitare di contrarre troppo il segmento: t i = max{(1 c)t i, 0.01} (5.3) Successivamente, ogni parametro t i è mappato nell indice k i {0,...,N 2} del punto di origine del segmento che contiene t i : { 0, se i =0 k i = j : t j < t i t j+1, altrimenti. (5.4) Infine i nuovi control points q i sono calcolati per interpolazione lineare: t i t ki q i = p ki +(p ki +1 p ki ) (5.5) t ki +1 t ki In questo modo si ottiene un accorciamento della fibra pari ad un fattore c, incuituttiicontrolpointsdelmuscolosimuovonolungoilpercorsodescritto dal poligono di controllo di partenza, come mostrato nella figura 5.7(a). 53

57 Per il muscolo circolare, i segmenti vengono semplicemente contratti nella direzione del centro di contrazione corrente p R 3 (vedi fig. 5.7(b)). q i = p +(1 c)(p i p ) (5.6) Per migliorare la contrazione non omogenea del muscolo orbicolare della bocca, alle fibre viene data la possibilità di sporgere di una quantità diversa per la parte superiore rispetto a quella inferiore. La parte più esterna del muscolo orbicolare della bocca (quella subito sotto il naso) sporge molto poco, poiché questa parte del volto è strettamente vincolata da altri muscoli e dall attaccamento al cranio del tessuto circostante. Al contrario, la parte più interna del labbro può muoversi molto liberamente, questo effetto viene realizzato variando il centro di contrazione per ogni fibra. I punti che si trovano nella parte più esterna di una fibra si contraggono nella direzione del punto p,calcolatocome: ( ) a p (pi a 0 ) = a 0 + a 2 a (5.7) I punti che invece si trovano nella parte più interna della fibra usano p. Per quei muscoli formati da f > 1 fibre che lavorano in parallelo, le fibre sono numerate da 0 a f 1, a partire dalla fibra più esterna. Il centro di contrazione p j usato dai punti sulla fibra j viene calcolato per interpolazione lineare tra gli estremi: p j = j ( f 1 p + 1 j ) p (5.8) f 1 54

58 5.2.2 Il modello muscolare realizzato In questa sezione viene presentato il modello muscolare implementato in afms e, con l ausilio di una serie di immagini, viene fatto il parallelo con quello definito da Kähler, che è stato descritto nella sezione precedente. I muscoli facciali si suddividono in: muscoli lineari e muscoli circolari. Fig. 5.8: (a) Muscolo lineare: muscolo elevatore del labbro superiore. (b) Muscolo circolare: muscolo orbicolare della bocca I muscoli lineari presenti nella mappa muscolare facciale di afms sono: frontale, procero, corrugatore, nasale, trasverso nasale, elevatore del labbro superiore, zigomatico minore, zigomatico maggiore, labbro superiore, risorio, depressore e mentale. I muscoli circolari invece sono: l orbicolare dell occhio e l orbicolare della bocca. Fig. 5.9: (a) Elementi costitutivi di un muscolo lineare. (b) Elementi costitutivi di un muscolo circolare. Per ciascun muscolo lineare si ha un punto di origine, un punto di inserzione 55

59 nella cute e inoltre il muscolo è suddiviso, come accade in realtà, in tanti sarcomeri, che ne rappresentano le unità di costituzione di base (a livello microscopico). Per il muscolo circolare, invece, non c è né origine e né inserzione, ma c è il centro di contrazione, inoltre anch esso è suddiviso in tanti sarcomeri. Poligono di controllo del muscolo Come descritto dal modello muscolare di Kähler [1], per ciascun muscolo viene definito un poligono di controllo P = {p i }; allo stesso modo, in afms il comportamento di un muscolo viene regolato dal suo poligono di controllo. Fig. 5.10: (a) Poligono di controllo di un muscolo lineare (zigomatico maggiore). (b) Oltre al poligono di controllo viene mostrato anche il perimetro delimitatore. La figura 5.10(a) mostra il poligono di controllo del muscolo zigomatico maggiore che, come si può vedere, è formato dai suoi control points {p 0,...,p 5 }, mentre la figura 5.10(b) mostra anche il perimetro delimitatore del muscolo. Allo stesso modo la figura 5.11(a) mostra il poligono di controllo del muscolo orbicolare dell occhio, che è un muscolo circolare, formato dai control points {p 0,...,p 7 };lafigura5.11(b) mostra inoltre il suo perimetro delimitatore. 56

60 Fig. 5.11: (a) Poligono di controllo di un muscolo circolare (orbicolare dell occhio). (b) Oltre al poligono di controllo viene mostrato anche il perimetro delimitatore. 57

61 Contrazione del muscolo In afms ciascun muscolo viene deformato, in base a quanto descritto dall algoritmo di Kähler, agendo progressivamente sul suo poligono di controllo (e quindi anche sui suoi control points). Fig. 5.12: (a) Muscolo zigomatico maggiore rilassato. (b) Muscolo zigomatico maggiore contratto. (c - d) Esempio di azione dei muscoli orbicolari degli occhi. 58

62 5.3 La mappa muscolare Come è stato già detto in precedenza, afms, a partire da un modello vrml rappresentante un volto umano e dai suoi fdp, ricostruisce in modo automatico la mappa dei muscoli facciali. In questo studio è stata posta particolare attenzione all aspetto anatomico, infatti si è cercato di ricreare e posizionare ciascun muscolo in modo anatomicamente corretto, seguendo fedelmente le indicazioni dei manuali di anatomia clinica e umana [13] [14] [15] e di quello di cinesiologia [19]. Ciascun muscolo è stato posizionato sul volto traducendo le indicazioni anatomiche nella sua localizzazione virtuale, che è funzione degli fdp. Ovviamente il risultato che si ottiene dipende molto dalla definizione del modello vrml fornito in input (che può essere espressa in base al numero dei vertici che lo costituiscono); ma ancora di più dall accuratezza con cui sono stati editati (con l aiuto di visage life) gli fdp. La tabella seguente mostra la corrispondenza tra gli fdp e i punti di origine e inserzione dei muscoli lineari. Vale la pena ricordare che i punti di origine e inserzione definiscono completamente il muscolo lineare e la sua posizione sul volto. Punto di Punto di Muscolo Lineare origine inserzione Frontale Interno destro ( ) sinistro ( ) Frontale Maggiore destro ( ) sinistro ( ) Frontale Esterno destro ( ) sinistro ( ) Corrugatore del destro 4.4 ( ) sopracciglio sinistro 4.3 ( ) Procero destro ( ) ( ) sinistro ( ) ( ) Nasale destro sinistro Trasverso destro 9.12 ( ) Nasale sinistro 9.12 ( ) Labbro destro ( ) superiore sinistro ( ) Elevatore del destro 3.10 ( ) labbro superiore sinistro 3.9 ( ) Tabella 5.1: (1-2) Tabella delle corrispondenze dei punti di origine e di inserzione di un muscolo lineare con gli fdp del modello. 59

63 Punto di Punto di Muscolo Lineare origine inserzione Zigomatico destro 3.10 ( ) minore sinistro 3.9 ( ) Zigomatico destro maggiore sinistro Risorio destro sinistro Depressore del destro ( ) labbro inferiore sinistro ( ) Mentale destro ( ) sinistro ( ) Tabella 5.2: (2-2) Tabella delle corrispondenze dei punti di origine e di inserzione di un muscolo lineare con gli fdp del modello. Come per i muscoli lineari, anche il posizionamento dei muscoli circolari è stato effettuato a partire dagli fdp. Come descritto dal modello di Kähler, la contrazione del muscolo circolare è definita a partire dal centro di contrazione p verso il quale tendono tutti i punti del poligono di controllo. In afms il poligono di controllo del muscolo circolare viene calcolato a partire dai punti che si trovano rispettivamente a nord, sud, est e ovest (Np, Sp, Ep, Wp) di p e che appartengono al contorno dell occhio o della bocca (vedi fig. 5.13). Fig. 5.13: I punti che definiscono completamente il muscolo circolare. p è il centro di contrazione; Np, Sp, Ep, Wp sono i punti attraverso i quali viene realizzato il poligono di controllo del muscolo. 60

64 La tabella 5.3 mostra per ciascun muscolo circolare il centro di contrazione p e i quattro punti Np, Sp, Ep e Wp. Muscolo Circolare p Np Sp Ep Wp Orbicolare destro dell occhio sinistro Orbicolare della bocca Tabella 5.3: Tabella delle corrispondenze tra i punti p, Np, Sp, Ep, Wp eirelativifdp. La figura 5.14 mostra il risultato finale ottenuto da afms, confrontato con la mappa dei muscoli facciali reali [14]. Come si può vedere, a ciascun muscolo del volto umano corrisponde il relativo muscolo sul volto virtuale. Fig. 5.14: Corrispondenza tra i muscoli facciali reali (a) e quelli virtuali generati automaticamente da afms (b). 61

65 Fig. 5.15: (a) Mappa muscolare completa stilizzata, sono visibili tutti i muscoli con i loro poligoni di controllo. (b) Mappa muscolare completa wire frame, per ciascun muscolo sono ben visibili i suoi sarcomeri. Fig. 5.16: Esempio di due espressioni facciali realizzate con afms. Felicità (yoda). (b) Collera (john). (a) 62

66 Capitolo 6 Analisi dei risultati Come è stato già dettonelcapitolo1,ilvoltoè il canale più rilevante della comunicazione non verbale [4]. Gli individui sono in grado di assumere, a piacere, un gran numero di espressioni facciali diverse, ma i decodificatori riescono a discernere solo fra più ampi raggruppamenti di espressioni. Le diverse ricerche condotte sull argomento, concordano che tutte le espressioni emozionali possono essere suddivise in sei grandi gruppi: felicità, tristezza, sorpresa, collera, paura e disgusto/disprezzo. Con afms è possibile riprodurre tutte le espressioni appena citate sopra ed eventualmente anche altre, che però potrebbero non riferirsi propriamente ad emozioni, come per esempio interesse, vergogna, dolore, perplessità, stupore, ecc. Verranno di seguito mostrati alcuni dei risultati ottenuti con afms; dapprima verranno mostrate per vari modelli facciali le mappe muscolari generate automaticamente, si ricorda che la maggiore aderenza della mappa virtuale con la muscolatura facciale reale dipende dal modello vrml, dal numero dei suoi vertici e da quanto sono accurate le posizioni degli fdp del volto. Quindi verranno mostrate le principali espressioni facciali realizzate per vari modelli vrml. Alla fine ci sono anche le tabelle 6.1 e 6.2 nelle quali vengono dati i parametri fisici con cui sono state realizzate le suddette espressioni facciali e il tempo impiegato da afms per realizzare l intera rete di masse-molle e la mappa muscolare. I risultati riportati di seguito sono stati ottenuti con un personal computer con processore Intel R Centrino 1.4 GHz e 512 mb ddr sdram con sistema operativo Windows R XP con SP2. 63

67 Fig. 6.1: I modelli vrml di riferimento utilizzati durante losviluppo di afms. (a)beta. (b) john. (c) kevin. (d) yoda. (e) king. (f) reana. 64

68 Fig. 6.2: Esempi dei poligoni di controllo dei muscoli facciali. (a) beta. (b) john. (c) kevin. (d) yoda. (e) king. (f) reana. 65

69 Fig. 6.3: Esempi di mappe muscolari con textures generate automaticamente da afms. (a) beta. (b) john. (c) kevin. (d) yoda. (e) king. (f) reana. 66

70 Fig. 6.4: Espressioni facciali di beta. (a) Felicità. (b) Tristezza. (c) Sorpresa. (d) Collera. (e) Paura. (f) Disgusto/Disprezzo. 67

71 Fig. 6.5: Espressioni facciali di john. (a) Felicita. (b) Tristezza. (c) Sorpresa. (d) Collera. (e) Paura. (f) Disgusto/Disprezzo. 68

72 Fig. 6.6: Espressioni facciali di kevin. (a) Felicità. (b) Tristezza. (c) Sorpresa. (d) Collera. (e) Paura. (f) Disgusto/Disprezzo. 69

73 Fig. 6.7: Esempio di espressioni realizzate da afms perunvoltononumano: yoda. 70

74 Fig. 6.8: Espressioni varie di king. 71

75 Stiffness Damping factor Massa (g) beta john kevin king reana yoda Tabella 6.1: I valori della stiffness, del damping factor e della massa dei nodi usati in afms per ottenere le espressioni riportate in precedenza. Rete Mappa Tempo masse-molle (sec) muscolare (sec) totale (sec) beta john kevin king reana yoda Tabella 6.2: Tempi impiegati (in secondi) da afms per costruire la rete di masse-molle e per generare la mappa muscolare. 72

76 Capitolo 7 Conclusioni Il percorso logico concettuale che è stato seguito fin qui è stato realizzato in modo tale da spiegare nella maniera più accurata possibile tutte le scelte implementative e tutti i problemi incontrati e risolti durante la realizzazione di afms. Tutto è nato dalla volontà di realizzare qualcosa che potesse in qualche modo avere delle applicazioni reali, soprattutto nell ambito della multimedialità e, più specificatamente, nell informatica grafica. Il fatto di implementare un applicazione che realizzasse i muscoli mimici per modelli virtuali e, conseguentemente le relative espressioni facciali, è sembrato l argomento ideale che più si coniuga con l obiettivo appena dichiarato. Come è stato già accennato in precedenza, il volto umano può essere considerato senza alcun dubbio uno dei più potenti mezzi espressivi e di comunicazione esistenti; infatti tutti noi siamo capaci di interpretare il pensiero e lo stato d animo della persona con cui stiamo interagendo solamente osservando con attenzione l espressione del suo viso. Innanzitutto si è cercato di individuare il modello muscolare che fosse il più anatomicamente adatto e quello proposto da Kähler nel suo articolo: Geometry-based Muscle Modeling for Facial Animation [1] èquellochepiù di altri simula il reale comportamento delle fibre muscolari umane. Si è passati poi alla progettazione e all implementazione dell applicazione, sfruttando principalmente le librerie grafiche contenute nel pacchetto software visage SDK, messe a disposizione dalla Visage Technologies AB[3]. Durante lo sviluppo è stata posta particolare attenzione all utilizzo delle risorse computazionali di tempo e di memoria, quindi si è cercato di raggiungere un livello di simulazione che fosse il più reale possibile. Infatti, oltre ad usare modelli di volti umani, afms è stato applicato anche ad un volto non umano, yoda, riuscendo comunque ad ottenere dei buoni risultati (le immagini di afms applicato a yoda si trovano nel capitolo 6 fig. 6.7). 73

77 afms è un applicazione efficiente e robusta, soprattutto grazie all utilizzo del metodo di Eulero (Semi-Implicit Backward Euler) per la realizzazione del movimento fisico delle molle. Tutti i parametri della simulazione sono stati calibrati in modo tale da rendere l applicazione più robusta possibile, cercando di ridurre al minimo i casi di oscillazione dell intero sistema masse-molle durante la simulazione. Le oscillazioni rendono infatti il sistema molto instabile e talvolta possono danneggiare irreparabilmente il modello 3D. Per di più afms è un applicazione interattiva, il che complica non poco le cose, in quanto c è un utente che interviene direttamente sulla simulazione, che si ricorda avviene in tempo reale. Tuttavia, la forte dipendenza della simulazione dalla topologia del modello (disposizione e numero dei vertici e la precisione degli fdp sul volto), va a scapito dell accuratezza. Nonostante tutto, in afms si è cercato di arrivare ad un buon compromesso tra efficienza e robustezza, e i risultati che ne derivano sono certamente molto credibili. 7.1 Prospettive future Ovviamente, lo sviluppo di afms potrà continuare cercando da una parte di migliorarne alcuni aspetti e dall altra di estendere questa applicazione per un più ampio utilizzo. afms potrebbe infatti essere preso come punto di partenza nell ambito di eventuali progetti di animazione facciale. In questo senso, infatti, afms può essere l inizio dell animazione di personaggi virtuali 3D. Per esempio: con afms si può realizzare la mappa dei muscoli mimici del volto di un personaggio virtuale che poi potrà essere usata per simulare in maniera opportuna le sue espressioni facciali nell ambito della sua animazione globale. Le future applicazioni di questo progetto potranno coinvolgere vari campi, come ad esempio le telecomunicazioni, la realtà virtuale, l insegnamento e l apprendimento, l intrattenimento. Telecomunicazioni: nell ambito delle telecomunicazioni si può pensare ad applicazioni tipo le videoconferenze online, infatti anziché trasmettere i frames con i volti reali, si potrebbe realizzare il modello virtuale 3D dell interlocultore, memorizzarlo su tutti i dispositivi connessi e quindi trasmettere soltanto i parametri di animazione del volto. In questo modo si potrebbe risparmiare moltissima banda, il che avrebbe come diretta conseguenza la possibilità di realizzare videoconferenze anche con apparecchi che hanno una limitata disponibilità di 74

78 banda per la connessione, come ad esempio i telefoni cellulari di ultima generazione. Realtà virtuale: moltissime sono le possibilità di utilizzo di afms nella realtà virtuale, come per esempio la realizzazione di pagine web, di tools per il training in ambito medico, centri informazioni, simulatori di vario tipo, ecc. Insegnamento e apprendimento: si possono realizzare applicazioni per impartire i primissimi insegnamenti ai bambini nella prima età scolare, per far apprendere le persone disabili oppure anche per realizzare strumenti multimediali in grado di aiutare eventuali utenti nell utilizzo di un particolare pc o macchinario nell ambiente lavorativo. Intrattenimento: non ultime sono le possibilità di applicazione nell ambito dell intrattenimento, quali la creazione di effetti speciali per il cinema, cartoni animati in 3D che ormai sono sempre più diffusiei videogiochi che, nell ultimo decennio, grazie alla possibilità di sfruttare le risorse di computer sempre più potenti, sono diventati così curati in ogni loro dettaglio che sembra quasi di essere realmente i protagonisti delle avventure vissute sullo schermo. 75

79 Bibliografia [1] K. Kähler, J. Haber, H. P. Seidel. Geometry-based Muscle Modeling for Facial Animation. Max-Planck-Institut für Informatik, Stuhlsatzenhausweg, Germany. [2] Y. Lee, D. Terzopoulos, K. Waters. Realistic Modeling for Facial Animation. Computer Graphics (SIGGRAPH 95 Conf.Proc.), pages 55 62, August [3] Visage Technologies AB. URL: October, [4] M. Argyle. Il corpo e il suo linguaggio, studio sulla comunicazione non verbale. Zanichelli 2 Ed. [5] S. M. Platt, N. I. Badler. Animating Facial Expressions. Computer Graphics (SIGGRAPH 81 Conf. Proc.), pages , August [6] F. I. Parke. Parameterized Models for Facial Animation. IEEE Computer Graphics and Applications, pages 61 68, November [7] F. I. Parke. Computer generated animation of faces. Master s thesis, University of Utah, Salt Lake City, June [8] C. Pelachaud, N. I. Badler, M. Steedman. Generating Facial Expressions for Speech. Department of Computer and Information Science, University of Pennsylvania, Philadelphia. [9] E. Gladilin, S. Zachow, P. Deuflhard, H.C. Hege. Towards a Realistic Simulation of Individual Facial Mimics. In Proc. of Vision, Modeling and Visualisation 2001 (VMV), Stuttgart, Germany: , [10] E. Gladilin, S.Zachow, P. Deuflhard, H.C. Hege. A nonlinear soft tissue model for craniofacial surgery simulations. In Proc. of Modeling and Simulation for Computer-aided Medicine and Surgery (MS4CMS), 12:61 66, INRIA, Paris, France [11] ISO/IEC MPGEG-4 Standard. 76

80 [12] ISO/IEC VRML97 - The Virtual Reality Modeling Language, [13] G. Marinozzi, E. Gaudio, M. Ripani. Anatomia clinica. Antonio Delfino Editore, Roma, [14] F. H. Netter. Atlante di anatomia umana. Novartis Edizioni. [15] G. Balboni, A. Bastianini, P. Motta et al. Anatomia umana. Edi-Ermes. [16] Y. Zhang, E. Sung, E. C. Prakash. 3D Modeling of Dynamic Facial Expressions for Face Image Analysis and Synthesis. [17] A. Witkin, D. Baraff. Physically Based Modeling: Principles and Practice. School of Computer Science Carnegie Mellon University, SIGGRAPH 97. [18] Y. Zhang, E. Sung, E. C. Prakash. Real-time Facial Expression Animation on An Individualized Face Using Adaptive Simulation Algorithm. [19] V. Pirola. Cinesiologia - Il movimento umano applicato alla rieducazione e alle attività sportive. Edi-Ermes, February [20] M. Fratarcangeli. Physically Based Synthesis of Animatable Face Models. Workshop On Virtual Reality Interaction and Physical Simulation, F. Ganovelli and C. Mendoza (Editors) [21] L. P. Nedel, D. Thalmann. Real Time Muscle Deformation Using Mass-Spring Systems. Swiss Federal Institute of Technology, Lausanne, Switzerland. [22] Microsoft Developers Network MSDN. URL: October, [23] D. Terzopoulos, K. Waters. Physically-Based Facial Modeling, Analysis and Animation. University of Toronto, Toronto, Ontario. [24] D. Baraff, A. Witkin. Large Steps in Cloth Simulation. Robotics Institute Carnegie Mellon University. [25] Foley, Van Dam, Feiner, Hughes, Phillips. Introduction to Computer Graphics. Addison-Wesley, [26] P. Ekman. Psychology Emotion and Facial Recognition Training Program. [27] M. Cadoli, M. Lenzerini, P. Naggar, A. Schaerf. Fondamenti della progettazione dei programmi, principi tecniche e loro applicazioni in C++. Città Studi Edizioni. 77

81 [28] J. Neider, T. Davis, M. Woo. OpenGL Programming Guide - The red book. Addison-Wesley, First Printing, [29] M. Fratarcangeli, M. Schaerf. Realistic Modeling of Animatable Faces in MPEG-4. Departement of Computer System Science - University of Rome La Sapienza. 78

82 Appendice A Guida all interfaccia utente Questa appendice è stata realizzata per guidare gli utenti ad un corretto utilizzo di afms. afms è un applicazione realizzata con Microsoft R Visual C e gira su macchine con sistema operativo Windows XP. Fig. A.1: Come si presenta afms al suo avvio. Si presenta come una finestra suddivisa in due parti: la parte destra ècostituita dalla finestra OpenGL nella quale viene visualizzato il modello vrml del volto, mentre la parte sinistra è costituita da un pannello nel quale è possibile trovare tutti i controlli necessari per la creazione dell espressione facciale, agendo direttamente su ciascun singolo muscolo. 79

83 Nella parte superiore della finestra c è un menu di tipo standard, attraverso il quale si può caricare il file.wrl ed effettuare alcune operazioni di visualizzazione sul modello. Di seguito è stata riportata una tabella che spiega la funzione svolta da ciascun item del menu. Open WRL... Apre il file.wrl contenente il modello del volto File Exit Termina l applicazione e chiude la finestra di afms Face FDP Mostra gli fdp del modello caricato View Face Vertex Mostra tutti i vertici del modello che costituiscono la pelle del viso Simple Muscle Mostra l intera mappa muscolare in Map maniera stilizzata (linee e punti) Polygon Muscle Mostra l intera mappa muscolare Muscle Map Texture Map Single Muscle Muscle realizzata con i poligoni Mostra l intera mappa muscolare realizzata con le textures Frontalis Visualizza solo il muscolo frontale Procerus Visualizza solo il muscolo procero Corrugator Visualizza solo il muscolo corrugatore Orbicularis Visualizza solo il Oculi muscolo orbicolare dell occhio Nasalis Visualizza solo il muscolo nasale Transversus Nasalis Upper Lip Elevator Visualizza solo il muscolo trasverso nasale Visualizza solo il muscolo elevatore del labbro superiore Tabella A.1: (1-2) Tabella esplicativa degli elementi del menu di afms 80

84 Muscle Single Muscle Zygomaticus Minor Zygomaticus Major Visualizza solo il muscolo zigomatico minore Visualizza solo il muscolo zigomatico maggiore Upper Lip Visualizza solo il muscolo del labbro superiore Orbicularis Visualizza solo il Oris muscolo orbicolare della bocca Risorius Visualizza solo il muscolo risorio Depressor Visualizza solo il Anguli muscolo depressore della bocca Mentalis Visualizza solo il muscolo mentale? Legenda Mostra una finestra con una semplice legenda delle abbreviazioni usate per etichettare i vari slider About... Mostra una finestra con le informaziioni relative ad afms Tabella A.2: (2-2) Tabella esplicativa degli elementi del menu di afms. Comando tasto sx mouse tasto dx mouse Ctrl + tasto sx mouse F1 F2 F11 Azione Il modello viene traslato Il modello viene ruotato Zoom Visualizzazione wireframe Visualizzazione solid con textures Riposizionamento del modello al centro della finestra Tabella A.3: Questa tabella mostra l azione svolta da ciascun comando. 81

85 È possibile anche interagire con il modello visualizzato nella finestra OpenGL attraverso una combinazione di comandi impartiti con il mouse e la tastiera, la tabella A.3 mostra l azione svolta da ciascun comando. Attraverso il menu a tendina Single Muscle è possibile visualizzare uno opiù muscoli generati da afms, comeè possibile vedere nella figura A.3a. Ciascun muscolo è costituito da più parti ed è possibile agire su ognuna di esse muovendo il relativo slider, tutti gli slider relativi ad uno stesso muscolo sono stati raggruppati all interno di un group box (vedi fig. A.3b). Ogni slider inoltre, all interno del suo group box, viene identificato attraverso un etichetta che è l acronimo del muscolo che muove; per esempio, osservando la fig. A.3b lo slider indicato con l etichetta LFI muove il muscolo frontale interno sinistro (Left Frontalis Inner). Sul pannello di controllo si trova anche un group box chiamato Eye z-adjust (fig. A.2), all interno del quale si trovano due campi editabili etichettati con L e R. Il valore inserito in ciascuno dei due campi indica l entità dello spiazzamento sull asse z tale che, quando l occhio si chiude, non accade che la palpebra compenetri il bulbo oculare. I valori di default sono 1 e 4 ma possono essere cambiati solamente dopo che è stato caricato il modello vrml. Una volta inseriti i valori desiderati, bisogna premere il pulsante Apply affinché i cambiamenti vengano memorizzati. All interno di questo group box si trova anche un check button anch esso usato per aggiustare il movimento della chiusura dell occhio, si può attivare soltanto prima che il modello vrml sia caricato e fa sì che durante la chiusura dell occhio venga eliminato uno spiazzamento lungo l asse x inserito per default. Normalmente il setup iniziale che si trova quando l applicazione viene avviata, è quello che, nella maggior parte dei casi, funziona meglio. Fig. A.2: Eye z-adjust group box. 82

86 Fig. A.3: (a) Esempio dell utilizzo del menu a tendina Single Muscle. (b) Etichetta del muscolo frontale interno sinistro (LFI = Left Frontalis Inner). 83

87 Continuando a scorrere il pannello di controllo si trova un group box di fondamentale importanza: Stiffness (fig. A.4). Attraverso questo group box è possibile modificare il valore della stiffness per il modello, il nuovo valore deve essere inserito prima che il modello venga caricato. In pratica, modificando questo valore si agisce sulla durezza delle molle che formano l intero sistema di masse-molle attraverso il quale viene simulata l elasticità della pelle. Come in precedenza, una volta inserito il nuovo valore, affinchèquestovenga memorizzato, bisogna premere il bottone Apply. Fig. A.4: Il group box per la regolazione della stiffness. Di seguito vengono riportate alcune figure sull utilizzo di afms, di come agiscono i comandi del menu sul modello e l azione della forza muscolare regolata dagli slider. Fig. A.5: Questa figura mostra come, attraverso il menu View Face FDP, vengono visualizzati sul modello i suoi fdp. 84

Il controllo della visualizzazione

Il controllo della visualizzazione Capitolo 3 Il controllo della visualizzazione Per disegnare in modo preciso è necessario regolare continuamente l inquadratura in modo da vedere la parte di disegno che interessa. Saper utilizzare gli

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

3D e Realtà Virtuale

3D e Realtà Virtuale 3D e Realtà Virtuale Modello 3D La costruzione di un modello 3D, così come la realizzazione di un plastico tradizionale, necessita di grande precisione e attenzione conoscitiva. Tale modello convoglia

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012 Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Ipertesti e Internet Prof.ssa E. Gentile a.a. 2011-2012 Ipertesto Qualsiasi forma di testualità parole, immagini,

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia Scuola Digitale Manuale utente Copyright 2014, Axios Italia 1 SOMMARIO SOMMARIO... 2 Accesso al pannello di controllo di Scuola Digitale... 3 Amministrazione trasparente... 4 Premessa... 4 Codice HTML

Dettagli

3DE Modeling Professional

3DE Modeling Professional 3DE Modeling Professional 3DE Modeling Professional è la parte di 3DE Modeling Suite che si occupa della modellazione 3D automatica di oggetti ed edifici a partire da nuvole di punti ottenute con scanner

Dettagli

Tutorial 3DRoom. 3DRoom

Tutorial 3DRoom. 3DRoom Il presente paragrafo tratta il rilievo di interni ed esterni eseguito con. L utilizzo del software è molto semplice ed immediato. Dopo aver fatto uno schizzo del vano si passa all inserimento delle diagonali

Dettagli

02 L Informatica oggi. Dott.ssa Ramona Congiu

02 L Informatica oggi. Dott.ssa Ramona Congiu 02 L Informatica oggi Dott.ssa Ramona Congiu 1 Introduzione all Informatica Dott.ssa Ramona Congiu 2 Che cos è l Informatica? Con il termine Informatica si indica l insieme dei processi e delle tecnologie

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Risultati. Discussione

Risultati. Discussione Negli ultimi 8 anni nel nostro dipartimento abbiamo trattato circa 200 schisi del mascellare con il metodo tradizionale già descritto nei precedenti articoli. Dal 1966 abbiamo seguito la teoria di Skoog,

Dettagli

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software BDX 3D Editor è un programma che permette di navigare ed editare texture in un qualsiasi modello 3D.E compatibile con i software in grado di esportare

Dettagli

UNIVERSITÀ DEGLI STUDI DI SIENA

UNIVERSITÀ DEGLI STUDI DI SIENA UNIVERSITÀ DEGLI STUDI DI SIENA FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria Informatica, orientamento Robotica ed Automazione Tesi di Laurea Interazione Visuo-Aptica con Oggetti Deformabili

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

PowerPoint 2007 Le funzioni

PowerPoint 2007 Le funzioni PowerPoint 2007 Le funzioni Introduzione Cos è un ipertesto L' ipertesto è un testo organizzato in link, o collegamenti ad altre parti del testo e/o altri testi, in modo da consentire all utente di scegliere

Dettagli

Guida alla registrazione on-line di un DataLogger

Guida alla registrazione on-line di un DataLogger NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

MANUALE ESSE3 Gestione Registro delle lezioni

MANUALE ESSE3 Gestione Registro delle lezioni MANUALE ESSE3 Gestione Registro delle lezioni DOCENTI 1 INDICE 1. INTRODUZIONE E ACCESSO... 3 2. GESTIONE DEL REGISTRO... 4 2.1. Informazioni generali... 6 2.2. Stato del Registro... 7 2.2.1. Transizioni

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

Dettagli

Animazioni 3D. Informatica Grafica I. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D

Animazioni 3D. Informatica Grafica I. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D Informatica Grafica I Marco Gribaudo marcog@di.unito.it Animazioni 3D L'animazione 3D si basa sugli stessi principi dell'animazione tradizionale. Il filmato viene realizzato attraverso una sequenza di

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software Volume GESTFLORA Gestione aziende agricole e floricole Guidaall uso del software GESTIONE AZIENDE AGRICOLE E FLORICOLE Guida all uso del software GestFlora Ver. 2.00 Inter-Ware Srl Viadegli Innocenti,

Dettagli

PROGETTO DI APPLICAZIONI MOBILI INTERATTIVE. Emanuele Panizzi

PROGETTO DI APPLICAZIONI MOBILI INTERATTIVE. Emanuele Panizzi PROGETTO DI APPLICAZIONI MOBILI INTERATTIVE Emanuele Panizzi CONTESTO D USO 2 UTENTE DI UN DISPOSITIVO MOBILE In movimento, non concentrato a lungo Esegue i compiti nei ritagli di tempo poco tempo a disposizione

Dettagli

Nuovi oggetti grafici per la Visualizzazione del Tracker

Nuovi oggetti grafici per la Visualizzazione del Tracker Chapter 4 Nuovi oggetti grafici per la Visualizzazione del Tracker In questo capitolo illustrerò i nuovi oggetti grafici che ho sviluppato ed implementato nel software di visualizzazione di CMS. Prima

Dettagli

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri COMPETENZA CHIAVE MATEMATICA Fonte di legittimazione Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE L alunno utilizza il calcolo scritto e mentale con i numeri

Dettagli

Crotone, maggio 2005. Windows. Ing. Luigi Labonia E-mail luigi.lab@libero.it

Crotone, maggio 2005. Windows. Ing. Luigi Labonia E-mail luigi.lab@libero.it Crotone, maggio 2005 Windows Ing. Luigi Labonia E-mail luigi.lab@libero.it Sistema Operativo Le funzioni software di base che permettono al computer di funzionare formano il sistema operativo. Esso consente

Dettagli

COMPETENZE INFORMATICHE DI BASE PER ADULTI

COMPETENZE INFORMATICHE DI BASE PER ADULTI COMPETENZE INFORMATICHE DI BASE PER ADULTI INTRODUZIONE COMPETENZE INFORMATICHE DI BASE PER ADULTI è un manuale diretto a persone adulte, in particolare lavoratori di età avanzata, affinché possano migliorare

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

Indice. pagina 2 di 10

Indice. pagina 2 di 10 LEZIONE PROGETTAZIONE ORGANIZZATIVA DOTT.SSA ROSAMARIA D AMORE Indice PROGETTAZIONE ORGANIZZATIVA---------------------------------------------------------------------------------------- 3 LA STRUTTURA

Dettagli

Presentation Draw. Guida dell utilizzatore

Presentation Draw. Guida dell utilizzatore Presentation Draw I Guida dell utilizzatore Conservare l intera documentazione dell utente a portata di mano per riferimenti futuri. Il termine puntatore in questo manuale si riferisce al puntatore interattivo

Dettagli

DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti.

DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti. Uso del sistema operativo Windows XP e gestione dei file DESKTOP All accensione del nostro PC, il BIOS (Basic Input Output System) si occupa di verificare, attraverso una serie di test, che il nostro hardware

Dettagli

2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.

2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento. Uso del computer e gestione dei file 57 2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento. All interno

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. Premessa Oltre alle singole parole WoWords può gestire intere frasi in inglese. A differenza delle singole parole, le

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

Client - Server. Client Web: il BROWSER

Client - Server. Client Web: il BROWSER Client - Server Client Web: il BROWSER Il client Web è un applicazione software che svolge il ruolo di interfaccia fra l utente ed il WWW, mascherando la complessità di Internet. Funzioni principali Inviare

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Processo di rendering

Processo di rendering Processo di rendering Trasformazioni di vista Trasformazioni di vista Il processo di visione in tre dimensioni Le trasformazioni di proiezione 2 Rendering nello spazio 2D Il processo di rendering (visualizzazione)

Dettagli

5. Fondamenti di navigazione e ricerca di informazioni sul Web

5. Fondamenti di navigazione e ricerca di informazioni sul Web 5. Fondamenti di navigazione e ricerca di informazioni sul Web EIPASS Junior SCUOLA PRIMARIA Pagina 43 di 47 In questo modulo sono trattati gli argomenti principali dell universo di Internet, con particolare

Dettagli

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari A.A. 2012 2013 1 Introduzione Questo documento raccoglie i requisiti preliminari per il software di controllo

Dettagli

Hardware delle reti LAN

Hardware delle reti LAN Hardware delle reti LAN Le reti LAN utilizzano una struttura basata su cavi e concentratori che permette il trasferimento di informazioni. In un ottica di questo tipo, i computer che prendono parte allo

Dettagli

Guida. Macchina Scratch

Guida. Macchina Scratch Pagina 1 di 22 Guida Macchina Scratch Pagina 2 di 22 Scopo Lo scopo della guida è quello di spiegare all'utente come sia possibile creare un unità da scratch con il software Nuovo AHU. La guida spiegherà

Dettagli

SymCAD/C.A.T.S. modulo Canali Schema

SymCAD/C.A.T.S. modulo Canali Schema SymCAD/C.A.T.S. modulo Canali Schema Il modulo Ventilazione Standard permette di effettuare la progettazione integrata (disegno e calcoli) in AutoCAD di reti di canali aria (mandata e ripresa). Il disegno

Dettagli

GUIDA PER IL DOCENTE ALL UTILIZZO DELL APPLICATIVO ONLINE E PORTFOLIO

GUIDA PER IL DOCENTE ALL UTILIZZO DELL APPLICATIVO ONLINE E PORTFOLIO GUIDA PER IL DOCENTE ALL UTILIZZO DELL APPLICATIVO ONLINE E PORTFOLIO http://eportfolio.tqmproject.eu Progetto "TQM Agreement n 2011 1 IT1 LEO05 01873; CUP G72F11000050006 1 SOMMARIO PREMESSA... 3 PAGINA

Dettagli

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

Personalizza. Page 1 of 33

Personalizza. Page 1 of 33 Personalizza Aprendo la scheda Personalizza, puoi aggiungere, riposizionare e regolare la grandezza del testo, inserire immagini e forme, creare una stampa unione e molto altro. Page 1 of 33 Clicca su

Dettagli

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

Dettagli

Sistema automatico di acquisizione e modellazione 3D a basso costo

Sistema automatico di acquisizione e modellazione 3D a basso costo Sistema automatico di acquisizione e modellazione 3D a basso costo Titolo progetto Unità di Brescia Sviluppo, realizzazione e caratterizzazione metrologica di digitalizzatore a basso costo basato su proiezione

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

www.andreatorinesi.it

www.andreatorinesi.it La lunghezza focale Lunghezza focale Si definisce lunghezza focale la distanza tra il centro ottico dell'obiettivo (a infinito ) e il piano su cui si forma l'immagine (nel caso del digitale, il sensore).

Dettagli

Università degli Studi di Messina

Università degli Studi di Messina Università degli Studi di Messina Guida alla Rendicontazione on-line delle Attività del Docente Versione della revisione: 2.02/2013-07 A cura di: Fabio Adelardi Università degli studi di Messina Centro

Dettagli

Corso di Realtà Virtuale

Corso di Realtà Virtuale Università degli Studi di Pisa Corso di Laurea Specialistica in Tecnologie Informatiche Corso di Realtà Virtuale Presentazione progetto: di Marco Fais Introduzione Realizzato come progetto per il corso

Dettagli

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE

Dettagli

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo

Dettagli

Microsoft Office XP. dott. ing. Angelo Carpenzano. acarpenzano@neoteksolutions.it. La suite Microsoft Office XP

Microsoft Office XP. dott. ing. Angelo Carpenzano. acarpenzano@neoteksolutions.it. La suite Microsoft Office XP Microsoft Office XP dott. ing. Angelo Carpenzano acarpenzano@neoteksolutions.it 1 La suite Microsoft Office XP Microsoft Word: elaboratore testi (word processor) Microsoft Excel: foglio di calcolo (spreadsheet)

Dettagli

1. Introduzione. 2. Simulazioni elettromagnetiche per la misura del SAR

1. Introduzione. 2. Simulazioni elettromagnetiche per la misura del SAR Relazione Tecnica Analisi simulative e misure con termocamera relative al confronto tra l utilizzo di un telefono smartphone in assenza e in presenza di dispositivo distanziatore EWAD Annamaria Cucinotta

Dettagli

Calcolo Focale. Ing. Vincenzo Falanga

Calcolo Focale. Ing. Vincenzo Falanga Calcolo Focale Calcolo Focale Sommario Calcolo Focale... 2 Installazione... 3 Installazione su dispositivi mobili (Tablet, smartphone, )... 3 Installazione su Pc... 3 Ottenere un codice di Attivazione...

Dettagli

ISTITUTO NAZIONALE DI FISICA NUCLEARE

ISTITUTO NAZIONALE DI FISICA NUCLEARE ISTITUTO NAZIONALE DI FISICA NUCLEARE Sezione di Roma INFN/code-xx/xxx 29 maggio 2006 CCR-06/06/P TEMP SENTRY: UN SISTEMA DI RILEVAZIONE DATI AMBIENTALI Alberto Guerra INFN-Sezione di Roma, P.le Aldo Moro,

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

Introduzione al sistema operativo Il file system: file, directory,...

Introduzione al sistema operativo Il file system: file, directory,... ,OVRIWZDUHGLVLVWHPD cosa vedremo: Introduzione al sistema operativo Il file system: file, directory,...... 223,OVRIWZDUHLQWURGX]LRQH L hardware da solo non è sufficiente per il funzionamento dell elaboratore

Dettagli

LA MISURAZIONE DEL CARATTERE

LA MISURAZIONE DEL CARATTERE TPO PROGETTAZIONE UD 03 GESTIONE DEL CARATTERE IL TIPOMETRO LA MISURAZIONE DEL CARATTERE A.F. 2011/2012 MASSIMO FRANCESCHINI - SILVIA CAVARZERE 1 IL TIPOMETRO: PARTI FONDAMENTALI Il tipometro è uno strumento

Dettagli

GEOGEBRA I OGGETTI GEOMETRICI

GEOGEBRA I OGGETTI GEOMETRICI GEOGEBRA I OGGETTI GEOMETRICI PROPRIETA : Finestra Proprietà (tasto destro mouse sull oggetto) Fondamentali: permette di assegnare o cambiare NOME, VALORE, di mostrare nascondere l oggetto, di mostrare

Dettagli

Antonio Guerrieri UTILIZZO DEL COMPUTER E GESTIONE DEI FILE IN MS WINDOWS

Antonio Guerrieri UTILIZZO DEL COMPUTER E GESTIONE DEI FILE IN MS WINDOWS Antonio Guerrieri UTILIZZO DEL COMPUTER E GESTIONE DEI FILE IN MS WINDOWS SISTEMA OPERATIVO SISTEMA OPERATIVO Per comunicare con l utente il computer deve essere dotato di un Sistema Operativo interfaccia

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa. La finestra di Excel è molto complessa e al primo posto avvio potrebbe disorientare l utente. Analizziamone i componenti dall alto verso il basso. La prima barra è la barra del titolo, dove troviamo indicato

Dettagli

Introduzione. Installare EMAS Logo Generator

Introduzione. Installare EMAS Logo Generator EMAS Logo Generator Indice Introduzione... 3 Installare EMAS Logo Generator... 3 Disinstallare EMAS Logo Generator... 4 Schermata iniziale... 5 Creare il Logo... 7 Impostazioni... 7 Colore...8 Lingua del

Dettagli

Reti e Internet: introduzione

Reti e Internet: introduzione Facoltà di Medicina - Corso di Laurea in Logopedia Corso di Informatica III anno Prof. Crescenzio Gallo Reti e Internet: introduzione c.gallo@unifg.it Reti e Internet: argomenti Tipologie di reti Rete

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

Sistema di diagnosi CAR TEST

Sistema di diagnosi CAR TEST Data: 30/09/09 1 di 7 Sistema di diagnosi CAR TEST Il sistema di diagnosi CAR TEST venne convenientemente utilizzato per: - verificare che la scocca di un veicolo sia dimensionalmente conforme ai disegni

Dettagli

Informazioni demografiche e socio-economiche sugli Enti Locali

Informazioni demografiche e socio-economiche sugli Enti Locali Informazioni demografiche e socio-economiche sugli Enti Locali Utilizzo e funzionalità: L applicativo cerca di essere il più flessibile ed intuitivo possibile. Spetta all utente, in base alle necessità,

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

Dettagli

Il moderno messaggio mediatico: l Ipertesto e l Ipermedia. Stefano Cagol

Il moderno messaggio mediatico: l Ipertesto e l Ipermedia. Stefano Cagol Il moderno messaggio mediatico: l Ipertesto e l Ipermedia Sommario Esercizio Creazione di un ipertesto o ipermedia Competenze Quali le capacità e le competenze? Elementi Caratteristiche peculiari dell

Dettagli

Specifiche tecniche e funzionali del Sistema Orchestra

Specifiche tecniche e funzionali del Sistema Orchestra Specifiche tecniche e funzionali del Sistema Orchestra Sommario 1. Il Sistema Orchestra... 3 2. Funzionalità... 3 2.1. Sistema Orchestra... 3 2.2. Pianificazione e monitoraggio dei piani strategici...

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

GIROSCOPIO. Scopo dell esperienza: Teoria fisica. Verificare la relazione: ω p = bmg/iω

GIROSCOPIO. Scopo dell esperienza: Teoria fisica. Verificare la relazione: ω p = bmg/iω GIROSCOPIO Scopo dell esperienza: Verificare la relazione: ω p = bmg/iω dove ω p è la velocità angolare di precessione, ω è la velocità angolare di rotazione, I il momento principale d inerzia assiale,

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

istruzioni per l uso 1. Che cos è Google Earth

istruzioni per l uso 1. Che cos è Google Earth istruzioni per l uso 1. Che cos è Google Earth Google Earth è un software che permette una navigazione virtuale della Terra. Il programma deve essere installato sul proprio computer e, per poterlo utilizzare

Dettagli

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro.

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro. PREMESSA: Anche intuitivamente dovrebbe a questo punto essere ormai chiaro

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

MANUALE D USO DELLA PIATTAFORMA ITCMS

MANUALE D USO DELLA PIATTAFORMA ITCMS MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di

Dettagli

CONTROLLO NUMERICO Z32

CONTROLLO NUMERICO Z32 CONTROLLO NUMERICO Z32 Meccaniche Arrigo Pecchioli Via di Scandicci 221-50143 Firenze (Italy) - Tel. (+39) 055 70 07 1 - Fax (+39) 055 700 623 e-mail: pear@pear.it - www.pear.it Hardware Cn Costruito su

Dettagli

CORSO DI INFOGRAFICA PROF. MANUELA PISCITELLI A.A.

CORSO DI INFOGRAFICA PROF. MANUELA PISCITELLI A.A. 9. Lettering Il presente file costituisce una SINTESI del materiale presentato nel corso delle lezioni. Tale sintesi non deve essere ritenuta esaustiva dell argomento, ma andrà integrata dallo studente

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

capitolo 8 LA CHECKLIST PER LA VALUTV ALUTAZIONEAZIONE TECNOLOGICA

capitolo 8 LA CHECKLIST PER LA VALUTV ALUTAZIONEAZIONE TECNOLOGICA capitolo 8 LA CHECKLIST PER LA VALUTV ALUTAZIONEAZIONE TECNOLOGICA 8.1 ISTRUZIONI PER IL VALUTATORE Campioni Il processo di valutazione tecnologica si basa su un campione del prodotto, precedentemente

Dettagli