Game Engine Programming -- Piccola Verifica Istruzioni:

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Game Engine Programming -- Piccola Verifica Istruzioni:"

Transcript

1 Game Engine Programming -- Piccola Verifica Istruzioni: ad ogni domanda, salvo dove diversamente indicato, una sola delle alternative è giusta (o perlomeno più sensata delle altre): sottolineala. Tempo necessario stimato per completare la prova: secondi ;-) Soluzioni sbagliate in testo semplice. Soluzioni corrette in grassetto. Commenti in verde. Correzioni al testo originale in azzurro. Ad un nodo di uno scenegraph si associa: un reference frame / una gerarchia / una camera Cioè un sistema di riferimento (origine e tre assi), che costituisce lo spazio oggetto dell oggetto in questione Ad un arco di uno scenegraph si associa: un fattore di scala / una trasformazione / un oggetto Ovviamente una trasformazione può anche contenere un fattore di scala. I vertici di una mesh hanno una posizione definita in: spazio mondo / spazio oggetto / spazio vista Le XYZ di un vertice sono coordianate espresse nel sistema di riferimento privato di quella mesh. Mesh di un gatto: coordinate espresse nel sist di riferimento gatto (lo spazio oggetto dell oggetto gatto ). Sarà poi la trasformazione di modellazione a tradurre queste coordinate nel sistema di riferimento comune al tutta scena ( spazio mondo ), e poi quella di vista a tradurre queste nel sistema di riferimento relativo alla camera virtuale ( spazio vista ). Le normali di una mesh sono attributi definiti: per faccia / per vertice / per edge come tutti gli altri attributi (almeno, nei games). Per quanto in altri contesti a volte gli attributi siano memorizzati (per es) per faccia, nelle strutture dati usate nei games sono invariabilmente memorizzati per vertice. D altronde, se le normali fossero memorizzate per faccia, il rendering engine potrebbe offrire solo flat shading che non si usa praticamente mai (casomai, si simula con hard edges). Il rendering con shading smooth richiede invece normali per vertice (shading a volte detto phong / goreaud, a seconda di se si interpola la normale o il lighting risultante, ma sono termine desueti). Gli attributi dentro una faccia sono: costanti / linearmente interpolati / quadraticamente interpolati / dipende dall attributo L interpolazione lineare degli attributi (a prescindere da quali siano!) all interno delle facce è una di quelle features universali della CG basata su GPU e rasterizzazione (cioè TUTTA la cg dei games). Durante il rendering, tale funzionalità è implementata nel rasterizzatore, ed è completamente hard wired. Le strutture dati si limitano a rispecchiare questa scelta obbligata basata sul funzionamento delle GPU. Per mappare una tessitura su una mesh è necessario: uno skinning / un uv-mapping / le normali / la trasformazione di modellaz. Le altre risposte sono non-sense. (UV-map = assegnamento coordinate UV ad ogni vertice). Le tangent space normal maps sono utili per rendere la tessitura indipendete da: l orientamento della superfice a cui si applica / l oggetto a cui si applica / il tiling della tessitura Per quanto una Tangent Space normal map possa anche applicarsi ad oggetti diversi, ed anche in modo tiled, la proprietà più generale (da cui le altre conseguono) consiste nella capacità di applicazione indipendentemente dall orientamento delle facce texturate. Questo rende le normal map di questo tipo tanto flessibili quando, per es, le RGB maps ( si possono attaccare ovunque ). In un certo senso, questo tipo di normal map codifica, in ogni punto, non una normale da zero, ma in che modo la normale di default debba essere modificata per ottenere quella finale. Di contro, le object space normal map definiscono le normali da zero, che sostituiscono (e non: modificano) quelle di default; e quindi, per es, la texture da applicarsi alla parete nord di un castello non si puo applicare alla parete sud e viceversa. Le tangent space normal map richiedono di mandare a GPU: normali e direzioni tangenti / direzioni tangenti ma non le normali / normali e basta / nessuno di questi attributi Le dir tangenti (per vertice) servono per sapere in che dir modificare le normali per vertice. Tutte e tre sono necessarie. Le object space normal map richiedono di mandare a GPU: normali e direzioni tangenti / direzioni tangenti ma non le normali / normali e basta / nessuno di questi attributi perché le normali lette dalla tessitura sostituiscono quelle eventualmente definite sui vertici, di cui dunque non c è alcun bisogno. Gli attributi sulla superficie di una mesh, a meno di seams: variano sempre con continutà ma con derivata discontinua sugli edge / variano sempre con continuità di secondo grado / non variano ovviamente, essendo appunto una interpolazione lineare. Derivata (spaziale): costante per faccia. Fra una faccia e l altra, nel caso generale, c e una discontinuità di derivata.

2 La densità di tassellamento su una mesh: deve essere più costante possibile / deve variare in funzione della complessità geometrica / deve variare in funzione della frequenza dei dettagli di colore Non certo di colore! Perché nel mondo dei games praticamente tutto è texturato, e il segnale colore è controllato dalle tessiture RGB, non dal colore per vertice (che al massimo codifica il lighting baked, o altre variazioni del colore base). E non e affatto auspicabile che sia costante: le mesh devono avere risoluzione ADATTIVA: più poligoni dove c è più bisogno, meno dove la geometria è piatta (o poco importante). Ottimizzare tutto! Gli hard-edge su una mesh: sono computati dal motore di rendering durante il rendering / sono scelti dal modellatore e memorizzati nell asset / sono computati in fase di lettura dell asset E vero che, in mancanza di normali memorizzate nel modello, un game engine provvederà di solito a crearne (a partire dalla geometria). Ma nella maggior parte dei casi le normali sono controllate dall artista, sotto forma di scelta di quali edges siano hard e quali soft. In alcuni modellatori 3D, si usa la terminologia smoothing group : le facce vengono raggruppate dal modellatore in diversi smoothing groups, e gli edge di confine fra smoothing groups diversi sono considerati hard. Per ottenere un hard-edge su una struttura dati mesh: si replicano dei vertici / si assegnano due normali diverse ad un vertice / si usa uno shader apposito E un esempio di vertex seam, cioe di discontinutà del valore di un attributo (in questo caso, le normali) ottenuta duplicando dei vertici e assegnando valori di attributo diverso alle due copie (che, spazialmente, coincidono, cioè che hanno lo stesso valore di posizione x,y,z). Assegnare normali diverse ad un vertice va contro il principio di semplicità delle strutture dati (mettere una lista di lunghezza variabile ad ogni vertice? Lasciare a tutti i vertici la possibilità di definire due normali? Mannò!) Fa parte dei compiti di un game engine (selezionare *tutte* le giuste): la costruzione di UV mapping delle mesh / il computo delle trasformazioni cumulate di ogni nodo dello scene graph / il blending dei keyframe di una blend shape / il calcolo delle collisioni fra hit boxes / la semplificazione automatica delle mesh / interpretazione degli script di AI / trasferimento degli attributi da un modello a un altro / mixing degli effetti sonori / l interfacciamento col sistema operativo / rendere tileable le tessiture / il display degli elementi di HUD In pratica, tutto quello che avviene quando il gioco viene eseguito e durante la sua esecuzione. Le risposte sbagliate sono invece task degli artisti digitali, che preparano gli assets (attraverso game tools etc) durante lo sviluppo del gioco. Un UV-mapping 1:1 è necessario per (selezionare *tutte* le giuste): object space normal mapping / light baking / tessiture tileable / tangent space normal mapping / projection of detail from hi-res models / rgb textures / l applicazione di una qualsiasi tessitura / praticamente sempre / praticamente mai / effetti speciali come macchie di vernice che si accumulano dinamicamente sul modello (nota: 1:1 è per usato per semplicità: per essere più precisi: bisognerebbe dire iniettivo. Infatti un UV-map è assai raramente biettivo, perché alcune zone della tessitura sono inutilizzate gaps fra texture charts e sui bordi) Le risposte giuste sono tutti quei task che richiedono di memorizzare qualcosa di diverso in ogni punto della mesh. Così questo qualcosa può venir memorizzato nella tessitura, nel texel relativo a (solamente!) quel punto sulla mesh. Per es, se una tessirura è tiled (ripetuta tante volte sulla superficie), oppure se le simmetrie sono sfruttate (es, se una stessa parte di tessitura mappata sul lato dx e sul lato sx di un personaggio), allora come sarebbe possibile (nell ultimo task elencato) macchiare di vernice il lato dx dell oggeto, ma non quello sx? se scrivo rosso vernice su un punto della tessitura macchio entrambi i lati! Oppure macchiare un solo mattone di un muro, senza macchiarli tutti i mattoni corrispondenti. Gli altri esempi seguono questo principio. Light baking, per es Ambient Occlusion: se un mattone di un pattern ripetuto di mattoni riceve poca luce in una certa posizione, non è affatto detto che ne ricevano poca tutti gli altri mattoni uguali. Attenzione al normal mapping: quello object space, visto che la tessitura non si può applicare a punti orientati in modo diverso, richiede un mapping 1:1, ma non il tangent space normal mapping. La compressione di una tessitura in GPU: utilizza gli algoritmi di compressione delle immagini e ne eredita le caratteristiche / è più efficace di quella delle immagini generiche, ma anche più lossy / è meno efficace, pur deteriorando il segnale maggiormente / è lossless Reminder: le tessiture in GPU hanno bisogno di essere random accessible, le immagini generiche NO. Prendiamo un JPEG: prima scompatto TUTTA l immagine in un buffer, solo poi sono libero di chiedere che colore abbia il pixel a coordinate 34,51. Invece, quando la GPU quando fa un texture fetch (un accesso alla tessitura), ha bisogno di sapere al volo il valore rgb alle coordinate richieste, quindi lo schema di compressione delle tessiture deve consentire questo. Compressione di immagini e di tessiture, insomma, sono due cose completamente diverse. La memoria GPU è contesa principalmente da (selezionare tutte le giuste): trasformazioni dello scene graph* / modelli 3D / tessiture / tutti gli assets / animazioni scheletali / gli shaders* / i filmati / gli scripts / gli assets procedurali Le risposte astriscate sono solo mezzi errori, perché i dati in questione possono effettivamente essere memorizzati nella GPU, però la loro occupazione in memoria è trascurabile (la domanda chiedeva principalmente ). Asset procedurali: non sono certo dati che occupano memoria (ne in GPU ne nella main RAM)! Al max occupa il programma (ma quanto piccolo!) che li genera. Tutti gli assets: non abitano mica tutti in GPU, si pensi agli audio samples per es.

3 Il tiling di una tessitura è determinato da: coordiante tessitura al di fuori del quadrato canonico in un UV mapping / copie molteplici dell immagine nel buffer di texels / scalatura uniforme del modello su cui si applica Ad es, se voglio texturare un rettangolo con 3x4 copie di una tessitura tileable, dovrò assegnare ai quattro vertici le coord tessitura (0,0),(3,0),(3,4), (4,0). Infatti (0,0),(1,0),(0,1),(1,1) corripondono ai quattro angoli della tessitura, e i vertici al di fuori di questo quadrato unitario canonico sforano dall altra parte, per così dire, causando la ripetizione della tessitura. Questo meccanismo (detto texture wrapping ) è implementato a basso livello nell operazione di texture fetch eseguita dalla GPU. Queste fasi della determinazione di un uv-mapping sono tipicamente automatizzate dal algoritmi specifici (selezionare tutte le giuste): determinazione degli edge di taglio / minimizzazione dello stretch / packing dei charts Le altre risposte non sono errori gravi: infatti ci sono algoritmi (implementati in blender, maya, etc) che TENTANO di risolvere quei sottoproblemi. Ma, a differenza di quello evidenziato, i risultati di questi algoritmi sono solo un ausilio e il modellatore (addetto all UV-mapping) di solito li utilizza al più per avere una soluzione di partenza da migliorare a mano. I texture seams su una mesh sono necessari: se la tessitura è tiled / se l oggetto non è simmetrico / praticamente sempre Senza un po di tagli è impossibile aprire la mesh sul un piano tessitura. Per disporre una buccia di arancia su un tavolo piatto, o una pelle di mucca, da qualche parte la si deve pur tagliare la buccia o la pelle. L unica eccezione si ha quando il nostro modello 3D è topologicamente un disco, come per es una bandiera. Questo tipo di modelli 3D non ha bisogno di texture seams (e l uv può essere continuo su tutta la superficie). I texture seams su una mesh sono implementati: da una replicazione di alcuni vertici spazialmente coincidenti / attraverso una replicazione di alcune facce adiacenti / attraverso una coppia di shader specializzato / memorizzando gli attributi per ogni edge Anche questo caso (come per gli hard edge), si tratta del solito trucco per includere discontinuità sugli attributi. In questo caso, l attributo in questione è la posizione UV. Le normali di una mesh: vengono computate nel vertex shader / vengono computate dal motore di rendering / vengono di solito computate dal game engine in fase di caricamento / fanno di solito parte dell asset come memorizzato su disco. Vedi considerazioni sopra sugli hard edges. Sono responsabilità dell artista! Per il game engine, questo è solo un input. Di sicuro il vertex shader NON HA abbastanza informazioni per capire da solo la normale di un vertice, se non gliela passiamo noi. Infatti il vertex shader processa un vertice alla volta, senza sapere cosa ne e dei vertici vicini. Non vede le facce. a partire da: geometria + connettività / UV-mapping + connettività / nessuna delle due Come abbiamo visto, una volta determinati quali siano gli edge hard, un modo standard di determinare le normali (almeno, in prima approssimazione) e mediare sui vertici le normali geometriche computate su ogni faccia triangolare. Queste ultime dipendono dunque dalla geometria (le coord xyz dei vertici) e dalla connettività (quali facce legano quali vertici). Le direzioni tangenti di una mesh: vengono computate nel vertex shader / vengono computate dal motore di rendering / vengono di solito computate dal game engine in fase di caricamento / fanno di solito parte dell asset come memorizzato su disco. Infatti molte strutture dati mesh (quasi tutte) non prevedono neanche che si possano memorizare le direzioni tangenti (necessarie al normal mapping). Tanto queste non sono altro che i gradienti delle coordiante U e V sulla mesh. A partire dall assegnamento delle coordinate UV, si coputano i gradienti sulle facce, e si mediano sui vertici. a partire da: geometria + connettività / UV-mapping + connettività / nessuna delle due La connettività memorizzata ad half edge: è preferibile perché è più compatta / è più adatta ad operazioni di modelling che non al rendering / è obsoleta. E anzi molto piu prolissa. Ma consente di navigare sulla mesh. Di risovere al volo sotto-problemi come: quale faccia sta al di la di questo edge? Quale insieme di facce condivide questo vertice? Inoltre, consentono in modo naturale di memorizzare mesh non triangolari (di quad, miste, di poligoni ) che dal punto di vista del rendering sono inutili (la GPU conosce, cioe sa rasterizzare, solo i triangoli), ma sono utili per un modellatore. La struttura dati indexed è usata: dai comuni file formats per i modelli 3D / dalle strutture in GPU i modelli 3D / da entrambi Le strutture come vertex buffer objects sono indicizzate, come pure i formati come OBJ e altri formati comuni di mesh Un materiale è un asset che di solito comprende (barrare tutte le valide): shaders* / UV-mapping delle mesh / parametri di lighting / tessiture RGB* / peso specifico / normal maps* / hit boxes Omettere le risposte astriscate non è un errore grave, perché non tuttissimi i game engine o i software di modellazione la pensano così. Ma, in generale, per materiale si intende la descrizione di come un dato oggetto risponde alla luce ed è competenza del motore di rendering. E ortogonale al modello 3D, quindi UV-mapping non c entra. Le altre risposte sbagliate riguardano cose di competenza del motore fisico; insomma per materiale si intende di solito invece esclusivamente l aspetto ottico. Similmente, in altri contesti di CG (non games), materiale = una BRDF (vedi).

4 Lo skinning di una mesh assegna ad ogni vertice della mesh: un keyframe di una animazione / l indice e il peso di un alcune ossa di un rig / una posizione finale per ogni keyframe. Nota: un numero molto limitato di ossa. Max 1, max 2, o max 4, nella maggior parte dei sistemi. Se max=1, allora ovviamente non c è bisogno di memorizzare pesi: sono tutti 1. Si possono applicare le stesse animazioni a personaggi articolati simili ma non identici: solo se hanno skinning costruiti per uno stesso scheletro / solo se hanno scheletri con un numero identico di arti / solo se le animazioni sono adattate a ciascuna delle mesh Chiaramente condividere lo scheletro è una condizione molto piu forte che non condividere solo il numero di arti. Ad es, umanoidi di struttura molto diversa hanno di solito scheletri ( rigs ) diversi. Una posa di un animazione skeletale consiste in: assegnamento di una trasformazione per ogni osso / una trasformazione di modellazione per ogni mesh associata / una struttura gerarchica (ad albero) di ossa e una animazione scheletale è una sequenza di pose. Per trasformazione, sistemi diversi intendono cose diverse, per es, una rototraslazione, una matrice affine, una rototraslazione + scala Un sistema di particelle viene renderizzato rappresentando ogni particella (barrare tutte le possibili): come point splats / come impostors rettangolari texturati / come istanze di mesh / attraverso visualizzazione volumetrica A parte la risposta non-sense (l ultima), sono tutte alternative usabili e usate. Sono anche in ordine di complessità, dalla più cheap alla più demanding. I LOD associati ad un oggetto sono costruiti: sempre attraverso algoritmi di semplificazione automatica / sempre attraverso una modellazione manuale di ogni livello / dipende dalla distanza a cui vengono visualizzati / dipende da altri fattori Come abbiamo visto anche in pratica, gli algoritmi di semplificazione automatica non riescono a ottenere gli stessi risultati di un bravo modellatore manuale, soprattutto quando il budget di poligoni è molto limitato. Tutti i keyframes di una blend shapes condividono (barrare tutte le valide): connettività / posizioni dei vertici / tutti gli attributi / normali / UV-mapping / skinning Esempio di condivisione di skinning: mettiamo di avere un face-morph guance gonfie e uno guance sgonfie. Sono ottenuti ciascuno modificando una mesh facciale di base. Se nella prima mesh alcuni vertici sono collegati all osso mandibola altri all osso teschio (altri ad un misto dei due), e evidente che anche nella seconda mesh varra la stessa divisione. Idem se ho un morph corpo grasso e uno corpo magro, skinned su di uno scheletro umano. I LOD vengono alternati dal motore di rendering a seconda : della distanza dell oggetto dalla camera / della posizione dell oggetto in spazio mondo / del livello di profondità nella gerarchia dello scene graph. e se ne occupa il rendering engine. In 3D, combinando insieme due rototraslazioni si ottiene sempre una rototraslazione: SI / NO / Dipende In 2D, combinando insieme due rototraslazioni si ottiene sempre una rototraslazione: SI / NO / Dipende In altre parole, la classe delle rototraslazioni (in qualunque dimensione!) è CHIUSA rispetto alla combinazione! Cioè: qualunque sequenza di mi ruoto e mi sposto la posso fare in un colpo solo ruotandomi una volta (di un certo tot) e spostandomi una volta (di un certo tot). L applicazione di una tessitura volumetrica procedurale richiede: UV mapping / spazio tangente / nessun attributo Dato un punto di coordinate xyz sulla superficie, la tessitura volumetrica determina il suo colore solo a partire da quell xyz. E il colore che quel punto avrebbe se l oggetto fosse stato scavato da un materiale rigido non uniforme, come legno o marmo. Che bisogno c è di UV-mappng? Nota: varrebbe anche per le tessiture volumetriche standard (rasterizzate su griglia 3D, non procedurali), ma nei games sono molto rare perché occupano troppa memoria. Mesh hi-res irregolari sono l output naturale di tecniche (barrare tutte le valide): di surface subdivision / di low poly editing / di scuplting / di acquisizione automatica / di tassellamento di superfici parametriche. Low-poly editing non produce mesh hi-res, (ovviamente!), e le altre (che cmq non abbiamo neanche visto da vicino) sono regolari (cioè hanno una connettività a griglia regolare ). Mesh hi-res irregolari sono, spesso, inutilizzabili direttamente, ma utili per (barrare tutte le valide): costruzione di piramidi LOD / sintesi di tessiture per modelli low-poly corrispondenti / guidare per la modellazione low poly / sintetizzare animazioni / servire da collision objects / UV-mapping dei modelli low-poly Vedere gli esempi sui lucidi. (questa domanda e la precedente sono state considerate corrette se è stata scelta una delle due risposte corrette)

5 Nelle animazioni scheletali, le pose vengono interpolate: mai, non è possibile farlo / nel passaggio da un keyframe al successivo / nel passaggio smooth da una animazione all altra / in entrambi questi casi Entrambe le operazioni sono basate sulla capacità di interpolare fra due pose, che a sua volta è definito dall interpolazione 1 a 1 di tutte le trasformazioni che le definiscono. Nelle blend shapes, le pose vengono interpolate: mai, non è possibile farlo / nel passaggio da un keyframe al successivo / per effettuare dei morph fra un due shapes / per effettuare un morph fra un numero qualunque di shapes (è la risposta corretta perché è la più generale. Le due precedenti sono casi particolari.) Si sceglie gonfiare ritmicamente il petto per rendere il respiro affannato di un personaggio durante una corsa. Meglio usare: blend shapes per la respirazione, e contemporaneamente animazioni scheletali per la corsa / animazioni scheletali per entrambi gli effetti, perché non è possibile coniugare le due tecniche / blend shapes per entrambi gli effetti, perché non è possibile coniugare le due tecniche Certo che è possibile coniugare le due tecniche! La prima presuppone una replicazione della geometria (una coord XYZ per vertice diversa per ogni morph target), la seconda è un assegnamento di attributi (lo skinning) per ogni vertice, condivisi da tutti i morph targets) Un geometry proxy viene utilizzato per (scegliere tutte le giuste): computo dell illluminazione globale / detection delle collisioni nel motore fisico / calcolo delle risposte alla collisioni nel motore fisico / computo di visibilità e occlusione per l AI / computo della massa degli oggetti / computo delle rifrazioni e riflessioni ottiche La collision response (nel motore fisico) si avvale delle normali del punto di contatto, che sono determinati dal geometry proxy (bounding spheres, capsule, etc). In partica, se hai fini del motore di rendering l oggetto è modellato dalla mesh, ai fini del motore fisico (e, quando necessario, dall AI), l oggetto e modellato internamente dal suo proxy geometrico. Il painting delle tessiture deve seguire (e non precedere) la sintesi dell UV mapping: mai / sempre / non è detto A volte, la tessiura nasce per prima e l UV mapper deve rispettarla (anche se più spesso l UV map nasce prima, e la tessitura viene riempita in seguito, dal texture painter, dipingendo per es sul modello 3D) L editing dell animazione scheletale per un personaggio deve seguire (e non precedere) la sua modellazione 3D: mai / sempre / non è detto Gli animatori costruiscono le animazioni 3D dello scheletro, a prescindere dai modelli che sono (o saranno) skinned su quello scheletro. Idem per le animazioni che sono motion captured. L editing dell animazione scheletale un personaggio deve seguire (e non precedere) la scelta del suo rig: mai / sempre / non è detto L animazione scheletale è fatta sul rig (lo scheletro), non sulla mesh stessa Lo skinning un personaggio deve seguire (e non precedere) la scelta del suo rig: mai / sempre / non è detto Vedi la definizione di rigging e skinning Una normal map è inutile, rispetto ad un baked lighting: su oggetti che fanno parte di una scena statica / se l illuminazione e la sua direzione in spazio oggetto è costante / se l illuminazione è costante in spazio vista La prima non è corretta: anche se il prop è fermo (per es, un muro), reagirà dinamicamente all ambiente di illuminazione, quando è questa a variare. Circa la riposta giusta: l esempio più semplice di luce ferma in spazio oggetto è quando sia il prop sia le luci sono statici. Un esempio più fantasioso si ha quando la luce fosse fissata montata sull oggetto. Esempio dell ultimo caso: una torcia fissata sulla testa del personaggio controllato dal giocatore, in un first person shooter. Chiaramente la luce è in movimento rispetto a tutti gli oggetti della scena, che traggono appieno i vantaggi offerti dalla normal map (reilluminazione dinamica). La sintesi dei livelli di MIP-map oltre al primo: è sempre demandato al game engine / è sempre demandato all artista / dipende Anche se i livelli di MIP-map oltre al primo sono spesso semplicemente dei ricampionamenti pre-filtrati del livello zero, a volte gli artisti vogliono controllare questo processo. Infatti i formati standard delle tessiture (a differenza di quelli delle immagini) prevedono la possibilità di memorizzare tutti i livelli di MIP-mapping, che diventano così una parte integrante dell asset. L intera struttura di livelli di MIP-map occupa, in memoria RAM, rispetto alla tessitura originale: un terzo / la metà / altrettanto / una volta e mezzo / il doppio / dipende 1/4 + 1/16 + 1/64 + (somma su tutti gli i da 1 a N -- o anche infinito -- di 1/i^2). Il livello di MIP-map viene scelto dal rendering engine: per ogni mesh / per ogni faccia / per ogni vertice / per ogni frammento E una parte integrante (e hard-wired ) dell operazione di texture fetch, che avviene per frammento. Se una mesh triangolare ha X vertici, tipicamente avrà un numero di facce approssimativamente pari a: X/3, X/2, X, 2X, 3X La si può vedere come regola empirica. Spiegazione intuitiva: è facile immaginare che la risposta sarebbe X su un grigliato regolare di quadrilateri (es su un toro), caso che approssima grossomodo quello medio. Ma ogni quadrilatero si divide in DUE triangoli (per chi fosse davvero curioso: cercare formula di eulero per una stima esatta invece che quella approssimata).

Texture maps come assets

Texture maps come assets Texture mapping Ogni texel è Un colore RGB (color map, RGB map, diffuse map) Una normale (bump map, o normal map) Il coefficiente speculare (specular map) Un fattore di trasparenza (alpha map, o cutout

Dettagli

Texture maps assets e Mesh assets

Texture maps assets e Mesh assets Texture maps assets e Mesh assets Non necessariamente 1:1 1:N -- vari texture «sheets» associati ad una mesh N:1 -- più meshes sullo stesso sheet (bene) esempio di struttura per : ogni mesh associata a

Dettagli

Tipi di animazioni scripted

Tipi di animazioni scripted Tipi di animazioni scripted di oggetti composti di parti rigide anche con giunti: robot, macchine animazioni cinematiche / forward kinematics animations (mutamenti delle trasformaz di modellazione) di

Dettagli

Game Dev Insubria 2014/ /10/2015. Funzione matematica prende punti 3D / vettori 3D restituisce punti 3D / vettori 3D

Game Dev Insubria 2014/ /10/2015. Funzione matematica prende punti 3D / vettori 3D restituisce punti 3D / vettori 3D Game Dev 2015/2016 Univ Insubria Scene composite: lo scene graph Marco Tarini Recap: trasformazioni spaziali Funzione matematica prende punti 3D / vettori 3D restituisce punti 3D / vettori 3D Es: traslazioni,

Dettagli

I Modelli 3D più comuni: Mesh poligonali

I Modelli 3D più comuni: Mesh poligonali Modellazione 3D 3D Models for interactive applications Marco Tarini I Modelli 3D più comuni: Mesh poligonali Di triangoli, o mista (quadrilateri + triangoli) Struttura dati per modellare oggetti 3D GPU

Dettagli

Caveat. Sintesi di Immagini. Sintesi di Immagini. Rendering: Approccio Fisico

Caveat. Sintesi di Immagini. Sintesi di Immagini. Rendering: Approccio Fisico Sintesi di Immagini Metafora fondamentale Object vs viewer Object (scene): rappresentazione digitale (forma e caratteristiche) di un oggetto reale tridimensionale Viewer: strumento che permette di otternere

Dettagli

Novità di 3ds max 5. 3ds max 5.0 MIGLIORAMENTI IN ANIMAZIONE 3ds max 5

Novità di 3ds max 5. 3ds max 5.0 MIGLIORAMENTI IN ANIMAZIONE 3ds max 5 Novità di 3ds max 5 3ds max 5.0 MIGLIORAMENTI IN ANIMAZIONE 3ds max 5 Caratteristiche CHARACTER NODE Il Character Node permette agli animatori di definire ogni gruppo di oggetti indicandolo come Character

Dettagli

1.3d: La Codifica Digitale dei Video

1.3d: La Codifica Digitale dei Video Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno 1.3d: La Codifica Digitale dei Video Informatica Generale (Corso di

Dettagli

Modulo 1: Le I.C.T. UD 1.3d: La Codifica Digitale dei Video

Modulo 1: Le I.C.T. UD 1.3d: La Codifica Digitale dei Video Modulo 1: Le I.C.T. : La Codifica Digitale dei Video Prof. Alberto Postiglione Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli Studi di Salerno

Dettagli

Modelli per i materiali

Modelli per i materiali Texture mapping 1 Modelli per i materiali Il realismo visivo può essere ottenuto mediante i modelli di illuminazione e dei materiali Per modellare i materiali si possono utilizzare delle immagini dette

Dettagli

Animazioni nei games. Animazioni nei games. Tipi di animazioni scripted. Uni Verona - Master Game Dev Game Engines - Marco Tarini

Animazioni nei games. Animazioni nei games. Tipi di animazioni scripted. Uni Verona - Master Game Dev Game Engines - Marco Tarini Master Game Dev 2016 Game Engines Animations Marco Tarini Animazioni nei games Scripted Un assets! Controllo da parte degli artisti / creatori (dramatic effects!) Non interattiva Realismo dipende dall

Dettagli

Rappresentazione generale del problema e fasi di progettazione

Rappresentazione generale del problema e fasi di progettazione D-003-2015-10-18 MATERIA DATA OGGETTO Informatica 18/10/2015 Progettazione degli algoritmi: strategia top-down Rappresentazione generale del problema e fasi di progettazione In generale, la risoluzione

Dettagli

Computer Graphics. 3D Rendering. Digital representation of 3D objects. Scena 3D rendering image. Geometry of a 3D object. 3D Model

Computer Graphics. 3D Rendering. Digital representation of 3D objects. Scena 3D rendering image. Geometry of a 3D object. 3D Model Computer Graphics 3D Rendering Università dell Insubria Digital representation of 3D objects Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2014/15 Scena 3D rendering image

Dettagli

Texture mapping. Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica a.a. 2014/2015

Texture mapping. Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica a.a. 2014/2015 Texture mapping Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica a.a. 2014/2015 Texturing Modifica dell'apparenza di una superficie Tramite informazioni

Dettagli

Corso Autodesk Maya. consulteklab.com CELL. 349/8/ web: (Effetti speciali 3d per film e animazioni)

Corso Autodesk Maya. consulteklab.com CELL. 349/8/ web: (Effetti speciali 3d per film e animazioni) LAB Corso Autodesk Maya (Effetti speciali 3d per film e animazioni) Autodesk Maya - Introduzione Breve panoramica sui software di editing 3D Creazione di primitive geometriche Gestione delle primitive

Dettagli

Sistemi Informativi Territoriali. Area di rispetto

Sistemi Informativi Territoriali. Area di rispetto Paolo Mogorovich Sistemi Informativi Territoriali Appunti dalle lezioni Area di rispetto Cod.721 - Vers.E4R 1 Area di rispetto - Definizione 2 Area di rispetto - Costruzione 3 Geometria dell'area di rispetto

Dettagli

Funzioni di un GIS Analisi spaziale

Funzioni di un GIS Analisi spaziale Sistemi Informativi Funzioni di un GIS Analisi spaziale Come per ogni Sistema Informativo le funzioni di un SIT sono : acquisizione gestione analisi rappresentazione Funzioni di un SIT dei dati (territoriali)

Dettagli

Master in Character Animation per Film / TV e videogames. A chi è rivolto

Master in Character Animation per Film / TV e videogames. A chi è rivolto Master in Character Animation per Film / TV e videogames A chi è rivolto Il master è rivolto ad animatori 2D, educatori, stop motion animator, animatori Flash, direttori dell'animazione, animatori 3D,

Dettagli

Modelli 3D: come ottenerli

Modelli 3D: come ottenerli Come tutti gli asset, possible aquistarli Modellazione digitale manuale Lavoro dei modellatori digitali 2D concept artist 2D concepts / Sketches 3D modeller (modellatore digitale 3D) 3D low poly mesh 2015/2016

Dettagli

Introduzione al Many/Multi-core Computing

Introduzione al Many/Multi-core Computing Introduzione al Many/Multi-core Computing Sistemi Operativi e reti 6 giugno 2011 Outline del corso Introduzione Definizioni Motivazioni Storia Architettura Framework Algoritmica Parte I Introduzione Definizioni

Dettagli

Introduzione al Metodo agli Elementi Finiti (FEM) (x, y) Γ Tale formulazione viene detta Formulazione forte del problema.

Introduzione al Metodo agli Elementi Finiti (FEM) (x, y) Γ Tale formulazione viene detta Formulazione forte del problema. Introduzione al Metodo agli Elementi Finiti (FEM) Consideriamo come problema test l equazione di Poisson 2 u x 2 + 2 u = f(x, y) u = f y2 definita su un dominio Ω R 2 avente come frontiera la curva Γ,

Dettagli

Livello di approfondimento della lezione. Texture mapping di solito spiegato in corsi di CG di base

Livello di approfondimento della lezione. Texture mapping di solito spiegato in corsi di CG di base Texture mapping Davide Gadia, Daniele Marini Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2013/2014 Livello di approfondimento della lezione

Dettagli

1. Qual è la posizione dell immagine fornita da uno specchio piano? Di che tipo di immagine si tratta?

1. Qual è la posizione dell immagine fornita da uno specchio piano? Di che tipo di immagine si tratta? Specchi piani MPZ 1. Qual è la posizione dell immagine fornita da uno specchio piano? Di che tipo di immagine si tratta? Disponi il cilindro giallo dietro lo specchio, in modo che coincida con l immagine

Dettagli

CODIFICA IMMAGINI IN BIANCO E NERO

CODIFICA IMMAGINI IN BIANCO E NERO Rappresentazione delle immagini Anche le immagini possono essere codificate mediante una sequenza di 0 e 1., questa operazione si chiama digitalizzazione. La prima cosa da fare è dividere l immagine in

Dettagli

Partiamo da un informazione comune a tutti gli alunni della scuola italiana: La somma degli angoli interni di un triangolo è 180.

Partiamo da un informazione comune a tutti gli alunni della scuola italiana: La somma degli angoli interni di un triangolo è 180. 1 Partiamo da un informazione comune a tutti gli alunni della scuola italiana: La somma degli angoli interni di un triangolo è 180. Come giustificare questo fatto? Con delle prove sperimentali, ad esempio.

Dettagli

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D)

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D) ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI () Calibrazione intrinseca Spesso risulta utile calibrare la sola componente intrinseca di un sistema di visione (matrice K), e non si dispone di oggetti di forma

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni Università degli Studi di Messina Policlinico G. Martino - Sistemi di Elaborazione delle Informazioni A.A. 26/27 Università degli Studi di Messina Policlinico G. Martino - Sistemi di Elaborazione delle

Dettagli

Proprietà Base delle Superfici

Proprietà Base delle Superfici Proprietà Base delle Superfici Quando un immagine viene renderizzata, sono molti i fattori che influenzano l aspetto di una superficie. Questi fattori determinano, ad esempio, se la luminosità ed il colore

Dettagli

Segnale analogico. Analogico vs digitale. Segnale digitale. Trasformazione da analogico a digitale

Segnale analogico. Analogico vs digitale. Segnale digitale. Trasformazione da analogico a digitale LEZIONI 2 e 3 Rappresentazione dell informazione 53 Analogico vs digitale LEZIONI 2 e 3 Rappresentazione dell informazione 54 Segnale analogico Il computer può lavorare soltanto con grandezze di tipo digitale

Dettagli

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso INDICI PER FILE Strutture ausiliarie di accesso 2 Accesso secondario Diamo per scontato che esista già un file con una certa organizzazione primaria con dati non ordinati, ordinati o organizzati secondo

Dettagli

Introduzione alla Computer Graphics

Introduzione alla Computer Graphics Introduzione alla Computer Graphics Informatica Grafica CdLS a ciclo unico in Ingegneria Edile-Architettura a.a. 2008/09 Computer Graphics e Image Processing Image processing Insieme di teorie ed algoritmi

Dettagli

Indice degli appunti:

Indice degli appunti: Indice degli appunti: Funzionalità di base di un CAD Introduzione alla modellazione solida: - concetto di feature geometrica - disegno di profili - parametrizzazione della forma del profilo attraverso

Dettagli

Il Metodo Scientifico

Il Metodo Scientifico Unita Naturali Il Metodo Scientifico La Fisica si occupa di descrivere ed interpretare i fenomeni naturali usando il metodo scientifico. Passi del metodo scientifico: Schematizzazione: modello semplificato

Dettagli

In quanto segue ci interesseranno particolarmente le forme che si comportano come l esempio del quadrato A qui sopra. Le chiameremo forme di tipo A.

In quanto segue ci interesseranno particolarmente le forme che si comportano come l esempio del quadrato A qui sopra. Le chiameremo forme di tipo A. I MOSAICI E IL CONCETTO DI GRUPPO (triennio sc.sec II grado) Qui sotto avete una griglia, che rappresenta una normale quadrettatura, come quella dei quaderni a quadretti; nelle attività che seguono dovrete

Dettagli

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi 0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore

Dettagli

STIME SECONDO IL METODO DI ARGELANDER

STIME SECONDO IL METODO DI ARGELANDER STIME SECONDO IL METODO DI ARGELANDER La stima della magnitudine di una variabile con il metodo di Argelander si basa, come per gli altri metodi (metodo frazionario, metodo di Pogson) sul confronto della

Dettagli

BLENDER LEZIONI DI LABORATORIO

BLENDER LEZIONI DI LABORATORIO BLENDER LEZIONI DI LABORATORIO Lezione 2 http://www.onlinetutorial.it/2019/creiamoun-bicchiere-con-blender.html Luci e ombre L illuminazione Nel rendering l illuminazione è fondamentale per dare realismo

Dettagli

CALCOLO DEI VOLUMI DI STERRO E RIPORTO

CALCOLO DEI VOLUMI DI STERRO E RIPORTO CALCOLO DEI VOLUMI DI STERRO E RIPORTO http://www.geodis-ale.com/ita/ 1. Premessa Il programma software ALE Advanced Land Editor esegue il calcolo dei volumi di scavo e rinterro su un'area circoscritta

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

Le immagini digitali

Le immagini digitali Le immagini digitali Formati e caratteristiche di digitalizzazione Processo complessivo 1. Documento originale (eventuale restauro del supporto) Argomento della lezione 2. Scansione 3. Oggetto digitale

Dettagli

Tecniche di enfatizzazione

Tecniche di enfatizzazione Tecniche di enfatizzazione Cosa è l enfatizzazione delle immagini L enfatizzazione o enhancement delle immagini è un insieme di tecniche che vengono utilizzate per migliorare l aspetto delle immagini al

Dettagli

7 Disegni sperimentali ad un solo fattore. Giulio Vidotto Raffaele Cioffi

7 Disegni sperimentali ad un solo fattore. Giulio Vidotto Raffaele Cioffi 7 Disegni sperimentali ad un solo fattore Giulio Vidotto Raffaele Cioffi Indice: 7.1 Veri esperimenti 7.2 Fattori livelli condizioni e trattamenti 7.3 Alcuni disegni sperimentali da evitare 7.4 Elementi

Dettagli

Kangourou della Matematica 2006 finale nazionale italiana Mirabilandia, 8 maggio 2006

Kangourou della Matematica 2006 finale nazionale italiana Mirabilandia, 8 maggio 2006 LIVELLO ÉCOLIER E1. (5 punti ) Qual è il multiplo di 11 più vicino a 1000? E2. (7 punti ) Le lettere della parola ELA sono tutte distinte fra loro. Fa corrispondere ad ogni lettera di questa parola una

Dettagli

Le immagini digitali

Le immagini digitali Le immagini digitali immagini raster immagini vettoriali Immagini raster Dette pittoriche o pixel oriented dividono l immagine in una griglia uniforme. Ciascuna cella della griglia ha uguale dimensione.

Dettagli

Rappresentazione digitale delle informazioni

Rappresentazione digitale delle informazioni Rappresentazione digitale delle informazioni Informazione oggi Informatica: disciplina che studia l elaborazione automatica di informazioni. Elaboratore: sistema per l elaborazione automatica delle informazioni.

Dettagli

3.4 Metodo di Branch and Bound

3.4 Metodo di Branch and Bound 3.4 Metodo di Branch and Bound Consideriamo un generico problema di Ottimizzazione Discreta dove X è la regione ammissibile. (P ) z = max{c(x) : x X} Metodologia generale di enumerazione implicita (Land

Dettagli

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di

Dettagli

Rappresentazione binaria. Laboratorio di Informatica. Calcolatori digitali. N: numeri naturali. La codifica binaria. I primi 16 numeri binari

Rappresentazione binaria. Laboratorio di Informatica. Calcolatori digitali. N: numeri naturali. La codifica binaria. I primi 16 numeri binari Rappresentazione binaria Rappresentazioni diverse per: Rappresentazione delle informazioni Numeri naturali Numeri interi relativi Numeri reali Pagina 1 Pagina 4 Calcolatori digitali tutte le informazioni

Dettagli

Assumendo 1 u = 1 cm, calcola il perimetro e l area del quadrilatero ABCD.

Assumendo 1 u = 1 cm, calcola il perimetro e l area del quadrilatero ABCD. Esercizio 1a Disegna un piano cartesiano ortogonale ed in esso inserisci i punti che seguono, poi uniscili nell ordine dato: Secondo te che tipo di quadrilatero hai ottenuto? Perché? Quali sono le sue

Dettagli

GEOGRAPHICAL INFORMATION SYSTEM PER L ANALISI AMBIENTALE. Nicola Gilio. Dott. Nicola Gilio

GEOGRAPHICAL INFORMATION SYSTEM PER L ANALISI AMBIENTALE. Nicola Gilio. Dott. Nicola Gilio Nicola Nicola Gilio Gili GEOGRAPHICAL INFORMATION SYSTEM PER L ANALISI AMBIENTALE Dott. Nicola Gilio Un sistema informatizzato in grado di immagazzinare dati descrittivi della superficie terrestre Definizioni

Dettagli

ESPERIENZE CON GLI SPECCHI PIANI

ESPERIENZE CON GLI SPECCHI PIANI 1. Qual è la posizione dell immagine fornita da uno specchio piano? Di che tipo di immagine si tratta? Disponi il cilindro giallo dietro lo specchio, in modo che coincida con l immagine riflessa del cilindro

Dettagli

Modelli 3D: come ottenerli

Modelli 3D: come ottenerli Modellazione digitale manuale Lavoro dei modellatori digitali 2D concept artist 2D concepts / Sketches 3D modeller (modellatore digitale 3D) 3D low poly mesh Tecniche di modellazione digitale di modelli

Dettagli

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento

Dettagli

Capitolo 6 Interazione luce-materia

Capitolo 6 Interazione luce-materia Capitolo 6 Interazione luce-materia Modelli di illuminazione Modello di illuminazione: formulazione matematica dell equazione del trasporto dell energia luminosa L equazione che risolve questo problema:

Dettagli

Modulo 1 Concetti di base della Tecnologia dell Informazione

Modulo 1 Concetti di base della Tecnologia dell Informazione Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette

Dettagli

15 luglio Soluzione esame di geometria - Ing. gestionale - a.a COGNOME... NOME... N. MATRICOLA... ISTRUZIONI

15 luglio Soluzione esame di geometria - Ing. gestionale - a.a COGNOME... NOME... N. MATRICOLA... ISTRUZIONI 15 luglio 01 - Soluzione esame di geometria - Ing. gestionale - a.a. 01-01 COGNOME.......................... NOME.......................... N. MATRICOLA............. La prova dura ore. ISTRUZIONI Ti sono

Dettagli

Texturing. Modello digitale texturizzato di di un soffitto ligneo. Schema di proiezione delle texture

Texturing. Modello digitale texturizzato di di un soffitto ligneo. Schema di proiezione delle texture Texturing Modello digitale texturizzato di una mensola lignea del XIV secolo. Il texturing è stato ottenuto attraverso all assegnazione alla superficie mesh di una bitmap composta da tre immagini affiancate.

Dettagli

La situazione è rappresentabile così:

La situazione è rappresentabile così: Forze Equivalenti Quando viene applicata una forza ad un corpo rigido è importante definire il punto di applicazione La stessa forza applicata a punti diversi del corpo può produrre effetti diversi! Con

Dettagli

LA GEOMETRIA DELLA TARTARUGA

LA GEOMETRIA DELLA TARTARUGA LA GEOMETRIA DELLA TARTARUGA CAPITOLO 4 Tracciare figure Iniziamo con una figura semplice: il QUADRATO. Certamente sai che un quadrato ha tutti i lati uguali e gli angoli uguali. Dopo aver avviato Logo

Dettagli

La Pipeline Grafica. Vediamo come avviene il rendering, ovvero la visualizzazione di oggetti. Introduzione. La Pipeline Grafica.

La Pipeline Grafica. Vediamo come avviene il rendering, ovvero la visualizzazione di oggetti. Introduzione. La Pipeline Grafica. La Pipeline Grafica Vediamo come avviene il rendering, ovvero la visualizzazione di oggetti. Introduzione La Pipeline Grafica Spazio vista Spazio 3D-screen Shading Rasterizzazione Rimozione delle facce

Dettagli

Analogico vs digitale

Analogico vs digitale Analogico vs digitale Informazione classificatoria e più che classificatoria Informazione classificatoria: è questo, ma avrebbe potuto essere quest altro altro. Informazione più che classificatoria: riconoscere

Dettagli

Distribuzione Gaussiana - Facciamo un riassunto -

Distribuzione Gaussiana - Facciamo un riassunto - Distribuzione Gaussiana - Facciamo un riassunto - Nell ipotesi che i dati si distribuiscano seguendo una curva Gaussiana è possibile dare un carattere predittivo alla deviazione standard La prossima misura

Dettagli

TRIGONOMETRIA E COORDINATE

TRIGONOMETRIA E COORDINATE Y Y () X O (Y Y ) - α X (X X ) 200 c TRIGONOMETRI E OORDINTE ngoli e sistemi di misura angolare Funzioni trigonometriche Risoluzione dei triangoli rettangoli Risoluzione dei poligoni Risoluzione dei triangoli

Dettagli

Numeri interi. Laboratorio di Calcolo Paola Gallo

Numeri interi. Laboratorio di Calcolo Paola Gallo Numeri interi Alfabeto binario anche il segno può essere rappresentato da 0 o 1 è indispensabile indicare il numero k di bit utilizzati Modulo Modulo e segno 1 bit di segno (0 positivo, 1 negativo) k 1

Dettagli

La rappresentazione cartografica è una forma di descrizione del territorio fondata sulla restituzione delle relazioni spaziali di elementi geografici

La rappresentazione cartografica è una forma di descrizione del territorio fondata sulla restituzione delle relazioni spaziali di elementi geografici Cartografia digitale e modelli di dati spaziali modelli vettoriali e modelli raster La descrizione cartografica La rappresentazione cartografica è una forma di descrizione del territorio fondata sulla

Dettagli

Corso: Autodesk 3D Studio Max Codice PCSNET: AUTO-6 Cod. Vendor: - Durata: 5

Corso: Autodesk 3D Studio Max Codice PCSNET: AUTO-6 Cod. Vendor: - Durata: 5 Corso: Autodesk 3D Studio Max Codice PCSNET: AUTO-6 Cod. Vendor: - Durata: 5 Obiettivi Rendere operativi sulle funzionalità di base e di comune interesse del prodotto. Dare una informativa sulle funzionalità

Dettagli

Corso di Visione Artificiale. Texture. Samuel Rota Bulò

Corso di Visione Artificiale. Texture. Samuel Rota Bulò Corso di Visione Artificiale Texture Samuel Rota Bulò Texture Le texture sono facili da riconoscere ma difficili da definire. Texture Il fatto di essere una texture dipende dal livello di scala a cui si

Dettagli

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015 1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)

Dettagli

FUNZIONI BOOLEANE. Vero Falso

FUNZIONI BOOLEANE. Vero Falso FUNZIONI BOOLEANE Le funzioni booleane prendono il nome da Boole, un matematico che introdusse un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono

Dettagli

Corso di elettrotecnica Materiale didattico: i grafi

Corso di elettrotecnica Materiale didattico: i grafi Corso di elettrotecnica Materiale didattico: i grafi A. Laudani 12 ottobre 2005 I grafi costituiscono uno strumento matematico che permette di descrivere e schematizzare una grande varietà di problemi

Dettagli

Lezione 6. Visibilità degli identificatori e tempo di vita degli oggetti

Lezione 6. Visibilità degli identificatori e tempo di vita degli oggetti Lezione 6 Visibilità degli identificatori e tempo di vita degli oggetti Programmazione I Paolo Valente - 2009/2010 Ripasso dichiarazioni oggetti Finora abbiamo scritto le dichiarazioni di variabili e costanti

Dettagli

Cos è una wavelet? Applicazioni della trasformata wavelet. Analisi multirisoluzione

Cos è una wavelet? Applicazioni della trasformata wavelet. Analisi multirisoluzione Cos è una wavelet? Applicazioni della trasformata wavelet Analisi multirisoluzione Tre tecniche: Piramidi di immagine Trasformata di Haar Codifica per sottobande Il numero totale di pixel nel caso di una

Dettagli

Ingegneria degli Algoritmi (II parte pratica)

Ingegneria degli Algoritmi (II parte pratica) Ingegneria degli Algoritmi (II parte pratica) Correzione prova pratica Ing. Domenico Spera domenico.spera@students.uniroma2.eu Premessa Sono stati richiesti i seguenti task: Implementare la versione in-order

Dettagli

Capitolo 3: Ottimizzazione non vincolata parte III. E. Amaldi DEI, Politecnico di Milano

Capitolo 3: Ottimizzazione non vincolata parte III. E. Amaldi DEI, Politecnico di Milano Capitolo 3: Ottimizzazione non vincolata parte III E. Amaldi DEI, Politecnico di Milano 3.4 Metodi di ricerca unidimensionale In genere si cerca una soluzione approssimata α k di min g(α) = f(x k +αd k

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics Grafica al calcolatore - Computer Graphics 8 Pipeline di rasterizzazione - 2 24/11/12 Grafica 2013 1 Riepilogo Operazioni geometriche Pixel processing 24/11/12 Grafica 2013 2 Rasterizzazione/scan connversion

Dettagli

2.6 Calcolo degli equilibri di Nash

2.6 Calcolo degli equilibri di Nash 92 2 Giochi non Cooperativi Per queste estensioni di giochi non finiti si possono provare risultati analoghi a quelli visti per i giochi finiti. Rimandiamo alla bibliografia per uno studio più approfondito

Dettagli

Prof. Pagani Corrado HTML

Prof. Pagani Corrado HTML Prof. Pagani Corrado HTML IPERTESTI E MULTIMEDIALITÀ Un ipertesto è un insieme di documenti messi in relazione tra loro per mezzo di parole chiave sensibili (link). Può essere visto come una rete; i documenti

Dettagli

1 La traslazione. 2 La composizione di traslazioni. 3 La rotazione

1 La traslazione. 2 La composizione di traslazioni. 3 La rotazione 1 La traslazione Per poter applicare una traslazione ad una generica figura geometrica si deve: ± creare il vettore di traslazione AB mediante il comando Vettore tra due punti; ± cliccare con il mouse

Dettagli

Prodotto scalare e prodotto vettoriale. Elisabetta Colombo

Prodotto scalare e prodotto vettoriale. Elisabetta Colombo Corso di Approfondimenti di Matematica Biotecnologie, Anno Accademico 2010-2011, http://users.mat.unimi.it/users/colombo/programmabio.html Vettori Vettori 1 2 3 4 di di Ricordiamo il in R n Dati a = (a

Dettagli

Modello 3D = Mesh poligonale. Di triangoli, o mista (quadrilateri + triangoli) Struttura dati per modellare oggetti 3D

Modello 3D = Mesh poligonale. Di triangoli, o mista (quadrilateri + triangoli) Struttura dati per modellare oggetti 3D Game Development Modelli 3D Marco Tarini Modelli 3D Modello 3D = Mesh poligonale Di triangoli, o mista (quadrilateri + triangoli) Struttura dati per modellare oggetti 3D GPU friendly Risoluzione (potenzialmente)

Dettagli

Introduzione alla modellazione 3d

Introduzione alla modellazione 3d Introduzione alla modellazione 3d 1 Geometria solida Viene chiamata geometria solida quella branca della geometria che si interessa dei solidi, ovvero delle figure geometriche formate da punti tutti compresi

Dettagli

Massimi e minimi vincolati

Massimi e minimi vincolati Massimi e minimi vincolati Data una funzione G C 1 (D), dove D è un aperto di R 2, sappiamo bene dove andare a cercare gli eventuali punti di massimo e minimo relativi. Una condizione necessaria affinché

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

Dettagli

Lezione 8. Visibilità degli identifcatori e tempo di vita degli oggetti

Lezione 8. Visibilità degli identifcatori e tempo di vita degli oggetti Lezione 8 Visibilità degli identifcatori e tempo di vita degli oggetti Programmazione I Paolo Valente - 2014/2015 Ripasso dichiarazioni oggetti Finora abbiamo scritto le dichiarazioni di variabili e costanti

Dettagli

Programmazione dinamica

Programmazione dinamica Programmazione dinamica Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Programmazione

Dettagli

METODO DEGLI ELEMENTI FINITI

METODO DEGLI ELEMENTI FINITI Barlow Points In teoria potremmo valutare tensioni e deformazioni, o i gradienti per altri tipi di analisi, in qualsiasi punto interno all elemento. Tuttavia le tensioni e le deformazioni previste dal

Dettagli

Modellazione Poligonale Avanzata

Modellazione Poligonale Avanzata Informatica Grafica I Modellazione Poligonale Avanzata Il (FFD) inserisce un oggetto in una gabbia (a forma di parallelepipedo o di cilindro). Spostando i vertici della gabbia si deforma il solido in esso

Dettagli

APPLICAZIONE 3D: VIRTUAL TOUR DAL SITO WEB

APPLICAZIONE 3D: VIRTUAL TOUR DAL SITO WEB APPLICAZIONE 3D: VIRTUAL TOUR DAL SITO WEB 26/08/20 16 Fornire sul sito web un applicazione che all interno di una normale pagina consente agli utenti di visitare una ricostruzione 3D interattiva con texure

Dettagli

PROGRAMMAZIONE STRUTTURATA

PROGRAMMAZIONE STRUTTURATA PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:

Dettagli

Autorità per le Garanzie nelle Comunicazioni

Autorità per le Garanzie nelle Comunicazioni Autorità per le Garanzie nelle Comunicazioni METODO PER IL RENDERING DEI DIAGRAMMI DI IRRADIAZIONE VERTICALI BASATO SUI DATI PREVISTI DALLE SPECIFICHE DI FORMATO DEL CATASTO AGCOM 1. Premessa Per calcolare

Dettagli

Grafica computazionale Lezione 2

Grafica computazionale Lezione 2 Grafica computazionale Lezione 2 (slide parzialmente basate su Computer Graphics - MIT Opencourseware Grafica Computazionale - Massimiliano Corsini Università di Siena) 1 Interazione luce-materia Cosa

Dettagli

3 Omotetie del piano. 4 Omotetie del piano. Fondamenti e didattica della matematica B. Geometria delle similitudini. k = 3.

3 Omotetie del piano. 4 Omotetie del piano. Fondamenti e didattica della matematica B. Geometria delle similitudini. k = 3. 1 2 Fondamenti e didattica della matematica B 5 marzo 2007 Geometria delle similitudini Marina Bertolini (marina.bertolini@mat.unimi.it) Dipartimento di Matematica F.Enriques Università degli Studi di

Dettagli

Matematica Discreta e Algebra Lineare (per Informatica)

Matematica Discreta e Algebra Lineare (per Informatica) Matematica Discreta e Algebra Lineare (per Informatica) Docente: Alessandro Berarducci Anno accademico 2016-2017, versione 14 Marzo 2017 Tipiche domande d esame La seguente lista di domande non intende

Dettagli

Strutture dati e loro organizzazione. Gabriella Trucco

Strutture dati e loro organizzazione. Gabriella Trucco Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi

Dettagli

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito

Dettagli

Le cose da sapere prima di iniziare a creare un videogioco. Game Making e dintorni - Fabrizio Mascheroni 1

Le cose da sapere prima di iniziare a creare un videogioco. Game Making e dintorni - Fabrizio Mascheroni 1 Le cose da sapere prima di iniziare a creare un videogioco Game Making e dintorni - Fabrizio Mascheroni 1 Contenuti 1. Introduzione 2. Cos è un videogioco 3. Com è Fatto un Videogioco 4. Cenni sulla Pipeline

Dettagli

Un modo semplice per calcolare pi greco π di Nunzio Miarelli [miarelli[at]interfree.it]

Un modo semplice per calcolare pi greco π di Nunzio Miarelli [miarelli[at]interfree.it] Un modo semplice per calcolare pi greco π di Nunzio Miarelli [miarelli[at]interfree.it] Tutti conosciamo l esistenza della costante matematica definita come pi greco ( π ) che stabilisce il rapporto fra

Dettagli

asse fuoco vertice direttrice Fig. D3.1 Parabola.

asse fuoco vertice direttrice Fig. D3.1 Parabola. D3. Parabola D3.1 Definizione di parabola come luogo di punti Definizione: una parabola è formata dai punti equidistanti da un punto detto fuoco e da una retta detta direttrice. L equazione della parabola

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics Grafica al calcolatore - Computer Graphics 5 - Rendering 29/10/12 Grafica 2013 1 Rendering Il termine rendering indica la serie di algoritmi, geometrici e non, a cui si sottopone una data descrizione di

Dettagli

Lez. 7 Immagini Digitali. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Lez. 7 Immagini Digitali. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Lez. 7 Immagini Digitali Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli

Dettagli