Metodi numerici per la grafica: Mesh data structures

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Metodi numerici per la grafica: Mesh data structures"

Transcript

1 Metodi numerici per la grafica: Mesh data structures Duccio Mugnaini Università degli Studi dell Insubria

2 Outline 1) Mesh poligonali :: Definizioni; :: Geometria. 2) Strutture dati :: Point clouds; :: Polygon soup; :: Triangle base data structure; :: Node based data structure; :: Winged-edge; :: Half-edges; 3) Algoritmi sulle mesh :: Consolidazione; :: Semplificazione; :: Smoothing; 4) OpenMesh tutorial :: OpenMesh e Visual Studio; :: Half-edge; :: Operazioni di base; :: Esempio di smoothing;

3 Mesh poligonali Introduzione Mesh poligonali - Definizioni e Geometria

4 Mesh poligonali Introduzione Una mesh poligonale, detta anche maglia poligonale, è una collezione di vertici, spigoli e facce che definiscono la forma di un oggetto poliedrico nella computer grafica 3D e nella modellazione solida. Le facce consistono, di solito, di rettangoli, triangoli, o altri semplici poligoni convessi, dal momento che ciò semplifica il rendering. Lo studio di mesh poligonali è un grande sotto-campo della computer grafica. Le rappresentazioni con mesh poligonali sono utilizzate per diverse applicazioni e con diverse finalità. Di solito, le mesh rappresentano esplicitamente solo la superficie (il volume è implicito).

5 Mesh poligonali Definizioni Definizioni Una mesh poligonale consiste in tre tipi di elementi: vertice - è una posizione nello spazio e ha informazioni relative al colore e al vettore normale; lato (edge) - è una connessione tra due vertici; faccia - un insieme chiuso di lati, ad esempio una faccia triangolare avrà tre lati e una faccia quadrangolare avrà quattro lati. Un poligono è un insieme complanare di facce.

6 Mesh poligonali Definizioni Definizioni Connettività e Geometria sono le informazioni che descrivono la mesh; Connettività della mesh, o topologia, descrive la relazione di incidenza tra gli elementi della mesh; Geometria della mesh specifica la posizione e altra caratteristiche geometriche di ogni vertice.

7 Mesh poligonali Definizioni Definizioni Una mesh è un manifold se: :: ogni lato è incidente soltanto ad una o due facce; :: la faccia incidente al un vertice forma un ventaglio aperto o chiuso; L orientamento di una faccia è un ciclo ordinato di vertici incidenti; L orientamento di due facce adiacenti è compatibile se i due vertici del lato comune sono in ordine opposto; Un mesh manifold è orientabile se ogni coppia di facce adiacenti hanno un orientamento compatibile; Se ogni vertice ha un ventaglio chiuso, il relativo manifold è privo di bordo. Un lato si definisce di bordo se è incidente ad una sola faccia. Tali lati definiscono il confine del manifold; Il confine, se esiste, consiste in uno o più loop di lati.

8 Mesh poligonali Definizioni Definizioni Una mesh è un manifold se: :: ogni lato è incidente soltanto ad una o due facce; :: la faccia incidente al un vertice forma un ventaglio aperto o chiuso; L orientamento di una faccia è un ciclo ordinato di vertici incidenti; L orientamento di due facce adiacenti è compatibile se i due vertici del lato comune sono in ordine opposto; Un mesh manifold è orientabile se ogni coppia di facce adiacenti hanno un orientamento compatibile; Se ogni vertice ha un ventaglio chiuso, il relativo manifold è privo di bordo. Un lato si definisce di bordo se è incidente ad una sola faccia. Tali lati definiscono il confine del manifold; Il confine, se esiste, consiste in uno o più loop di lati.

9 Mesh poligonali Definizioni Definizioni Una mesh è un manifold se: :: ogni lato è incidente soltanto ad una o due facce; :: la faccia incidente al un vertice forma un ventaglio aperto o chiuso; L orientamento di una faccia è un ciclo ordinato di vertici incidenti; L orientamento di due facce adiacenti è compatibile se i due vertici del lato comune sono in ordine opposto; Un mesh manifold è orientabile se ogni coppia di facce adiacenti hanno un orientamento compatibile; Se ogni vertice ha un ventaglio chiuso, il relativo manifold è privo di bordo. Un lato si definisce di bordo se è incidente ad una sola faccia. Tali lati definiscono il confine del manifold; Il confine è l unione di poligoni semplici. Se esiste consiste in uno o più loop di lati.

10 Mesh poligonali Definizioni Mesh Poligonali Una mesh poligonale può essere composta da differenti tipi di facce: Mesh triangolari; Mesh composte da quadrilateri (quad-mesh); Miste, triangolari-quadrangolari; Mesh composte da poligoni arbitrari; Alcune utility: Repository mesh (.off): shape.cs.princeton.edu/benchmark/ Lettore di file.off e.obj (costruzione della topologia): it.mathworks.com/matlabcentral/filee

11 Mesh poligonali Definizioni Esempi di mesh # vertici: 3051 # facce: 6052

12 Mesh poligonali Definizioni Esempi di mesh # vertici: 2376 # facce: 1998

13 Mesh poligonali Definizioni Esempi di mesh # vertici: 2904 # facce: 5084

14 Mesh poligonali Geometria Geometria :: Normale ::Normale del triangolo N T = (v j v i ) (v k v i ) (v j v i ) (v k v i ) ::Normale del vertice (solitamente la media pesata delle normali dei triangoli vicini) N vi = j TNbr i w ij N Tj j TNbr i w ij :: Uniform: w ij = 1; :: Angle: w ij = θ ij = Angle(T j, i); :: Area: w ij = Area(T j );

15 Mesh poligonali Geometria Geometria :: Curvatura Curvatura Misura quanto velocemente variano le direzioni delle normali. Può essere utilizzata per individuare regioni con elevata curvatura corrispondenti alla feature di una mesh. Mesh triangolari Esistono svariati metodi per calcolare la curvatura discreta di una mesh. Curvatura media; Curvatura gaussiana;... Per una trattazione più approfondita: M. Botsch, Polygon Mesh Processing, CRC Press, 2010 (Cap. 3 - Differential geometry).

16 Strutture dati Mesh poligonali e il calcolatore Strutture dati

17 Strutture dati Provenienza dei dati tridimensionali I dati tridimensioni possono avere diverse sorgenti: :: Input manuali; :: Programmi per la generazione di mesh; :: Modelli CAD; :: Digitalizzatori e scanner laser; :: Riconstruzioni da fotografie,... ::... I dati 3D sono richiesti per modellare la realtà e permettono una grande quantità di applicazioni. Organizzare e manipolare dati geometrici rimane una sfida e un vasto campo di ricerca.

18 Strutture dati Provenienza dei dati tridimensionali I dati tridimensioni possono avere diverse sorgenti: :: Input manuali; :: Programmi per la generazione di mesh; :: Modelli CAD; :: Digitalizzatori e scanner laser; :: Riconstruzioni da fotografie,... ::... I dati 3D sono richiesti per modellare la realtà e permettono una grande quantità di applicazioni. Organizzare e manipolare dati geometrici rimane una sfida e un vasto campo di ricerca.

19 Strutture dati Point clouds Point Cloud Un point cloud è un insieme di punti nello spazio non dotato di informazioni topologiche (niente lati ne triangoli), proviente ad esempio da rilevazioni laser. Effetturare il rendering un point cloud è piuttosto semplice. È possibile infatti disegnare i vertici con 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.

20 Strutture dati Point clouds Point Cloud Un point cloud è un insieme di punti nello spazio non dotato di informazioni topologiche (niente lati ne triangoli), proviente ad esempio da rilevazioni laser. Trasformare un point cloud in una superfice mesh è altresì un argomento molto complesso. Point Cloud Library (PCL) - è una libreria open source per l elaborazione di point cloud. Contiene algoritmi quali ad esempio: :: feature estimation; :: surface reconstruction; :: model fitting; :: segmentation;

21 Strutture dati Polygon soup Polygon soup La Polygon soup è una lista di poligoni in cui ogni poligono contiene la posizione dei suoi vertici. Se il modello contiene soltanto triangoli è chiamato triangle soup. Il formato STereo Lithography (STL) è un esempio di polygon soup. Effettuare il rendering di un triangle soup è piuttosto semplice, basta semplicemente iterare sui vertici e richiedere ad OpenGL la visualizzazione.

22 Strutture dati Polygon soup Polygon soup - Drawbacks facet normal outer loop vertex vertex vertex endloop endfacet facet normal outer loop vertex vertex vertex endloop endfacet facet normal outer loop vertex vertex vertex endloop endfacet Main drawbacks :: un vertici è solitamente ripetuto più volte la cache per i vertici della GPU non ne trae nessun beneficio; :: Nessun informazioni riguardo alla uguagliaza tra vertici; :: Nessun informazioni riguardo all indice del triangolo che contiene uno specifico vertice; :: Nessun informazione riguardo all adiacenza fra triangoli....

23 Strutture dati Polygon soup Polygon soup - Soluzioni facet normal outer loop vertex vertex vertex endloop endfacet facet normal outer loop vertex vertex vertex endloop endfacet facet normal outer loop vertex vertex vertex endloop endfacet È possibile creare un insieme di facce con indicizzazione da una polygon soup: :: identificando i vertici identici (entro una certa tolleranza); :: enumerare i vertici in modo univoco; :: specificare la geometria utilizzando gli indici dei vertici insieme di facce con indicizzazione. Wavefront OBJ è un formato che rispetta questa logica....

24 Strutture dati Polygon soup Polygon soup - Soluzioni # cube.obj v v v v v v v v f 1//2 7//2 5//2 f 1//2 3//2 7//2 f 1//6 4//6 3//6 f 1//6 2//6 4//6 f 3//3 8//3 7//3 f 3//3 4//3 8//3 f 5//5 7//5 8//5 f 5//5 8//5 6//5 f 1//4 5//4 6//4 f 1//4 6//4 2//4 f 2//1 6//1 8//1 f 2//1 8//1 4//1 È possibile creare un insieme di facce con indicizzazione da una polygon soup: :: identificando i vertici identici (entro una certa tolleranza); :: enumerare i vertici in modo univoco; :: specificare la geometria utilizzando gli indici dei vertici insieme di facce con indicizzazione. Wavefront OBJ è un formato che rispetta questa logica.

25 Strutture dati Connettività Connettività Polygons soups contengono poche informazioni circa la struttura della mesh. È necessario specificare la connettività o topologia - le relazioni che intercorrono tra vertici, lati e facce - per organizzare e lavorare con le mesh. Tipiche query sulle mesh possono essere: :: accesso a vertici, lati e facce specifiche; :: attraversare una faccia; :: recuperare vertici o lati contenuti in una faccia; :: recuperare tutte le facce contenenti uno specifico lato o vertice; :: recuperare tutti i vicini di una faccia, lato o vertice; :: attraversare una mesh (interpretando la mesh come se fosse un grafo orientato o meno); Ci sono molti modi per organizzare una mesh poligonale. risultano necessarie strutture di alto livello.

26 Strutture dati Triangle based data structure Triangle based data structure Le strutture basate su triangoli consistono in liste di triangoli T i, i = 1... con puntatori ai triangoli adiacenti. Un triangolo [v i, v j, v k ] memorizza ulteriori tre campi, che consistono in tre puntatori ai triangolo adiacenti [t i, t j, t k ]. Convenzione comune: il vicino t i corrisponde al triangolo adiacente opposto a v i e quindi sul lato [v j, v k ]. Le query sulle mesh sono dirette, ad esempio: :: gettrianglenodes(t ) :: gettriangleneighbours(t ) :: getnodeneighbours(t ) ::...

27 Strutture dati Node based data structure Node based data structure Ogni nodo memorizza la lista dei suoi vicini. Vantaggio: :: formato estremamente compatto. Svantaggi: :: estremamente difficile da manipolare; node id : nodi vicini node #1 : n11, n12,... node #2 : n11, n12,... node #3 : n11, n12,... node #4 : n11, n12,... node #5 : n11, n12,... :: non esiste il concetto di triangolo esplicito; :: alcune query sono semplici (appunto getnodeneighbours()... ma altre sono molto complesse (ad esempio gettriangleneighbours())

28 Strutture dati Winged-edge Winged-edge Dato un lato della mesh l, i due triangoli T 1, T 2 adiacenti su l sono dette le sue wings (ali). Supponendo che le facce siano orientate in senso orario, ad ogni lato corrispondono 8 informazioni. Consideriamo il lato b, abbiamo: :: i 2 vertici X, Y ; :: le 2 facce incidenti 1, 2; :: il lato precedente a e il lato successivo c, rispetto alla faccia 1; :: il lato precedente e e il lato successivo d, rispetto alla faccia 2;

29 Strutture dati Winged-edge Winged-edge Dato un lato della mesh l, i due triangoli T 1, T 2 adiacenti su l sono dette le sue wings (ali). Supponendo che le facce siano orientate in senso orario, ad ogni lato corrispondono 8 informazioni. Consideriamo il lato b, abbiamo: :: i 2 vertici X, Y ; :: le 2 facce incidenti 1, 2; :: il lato precedente a e il lato successivo c, rispetto alla faccia 1; :: il lato precedente e e il lato successivo d, rispetto alla faccia 2;

30 Strutture dati Half-edge Half-edge Dato un lato e vi v j della mesh che connette il vertice v i al vertice v j, può essere splittato in due half-edge orientati he vi v j e he vj v i. Perciò se tutte le facce sono orientate in senzo antiorario, per memorizzare la struttura della mesh abbiamo bisogno delle seguenti informazioni: :: ogni vertice mantiene la referenza ad un half-edge uscente (1); :: ogni faccia memorizza la referenza a un half-edge che ne compone il perimetro (2); :: ogni half-edge mantiene la referenza a: :: il vertice a cui punta (3); :: la faccia a cui appartiene (4); :: l half-edge successivo (all interno della faccia) (5); :: l half-edge opposto (6); :: l half-edge precedente (all interno della faccia) (7);

31 Strutture dati Half-edge Half-edge Dato un lato e vi v j della mesh che connette il vertice v i al vertice v j, può essere splittato in due half-edge orientati he vi v j e he vj v i. Perciò se tutte le facce sono orientate in senzo antiorario, per memorizzare la struttura della mesh abbiamo bisogno delle seguenti informazioni: :: ogni vertice mantiene la referenza ad un half-edge uscente (1); :: ogni faccia memorizza la referenza a un half-edge che ne compone il perimetro (2); :: ogni half-edge mantiene la referenza a: :: il vertice a cui punta (3); :: la faccia a cui appartiene (4); :: l half-edge successivo (all interno della faccia) (5); :: l half-edge opposto (6); :: l half-edge precedente (all interno della faccia) (7);

32 Strutture dati Half-edge Attraversamento vertici vicini 1) Partenza dal vertice

33 Strutture dati Half-edge Attraversamento vertici vicini 1) Partenza dal vertice 2) Half-edge uscente

34 Strutture dati Half-edge Attraversamento vertici vicini 1) Partenza dal vertice 2) Half-edge uscente 3) Half-edge opposto

35 Strutture dati Half-edge Attraversamento vertici vicini 1) Partenza dal vertice 2) Half-edge uscente 3) Half-edge opposto 4) Half-edge successivo

36 Strutture dati Half-edge Attraversamento vertici vicini 1) Partenza dal vertice 2) Half-edge uscente 3) Half-edge opposto 4) Half-edge successivo 5) Half-edge opposto

37 Strutture dati Half-edge Attraversamento vertici vicini 1) Partenza dal vertice 2) Half-edge uscente 3) Half-edge opposto 4) Half-edge successivo 5) Half-edge opposto 6) Half-edge successivo

38 Algoritmi su mesh Manipolazione di mesh Algoritmi su mesh

39 Algoritmi su mesh Consolidazione Consolidazione La connettività (o topologia) descrive come i triangoli e i vertici si relazionano tra di loro. :: quali triangoli condividono un dato vertice; :: quali triangoli sono adiacenti; :: quali sono i vicini di un dato vertice; ::... La consolidazione è il processo per trovare e aggiustare la connettività della mesh. Algoritmi tipici: A1) Iterano su tutte le facce, collezionano le facce che condividono un lato (o un vertice); A2) Per ogni lato (o vertice), connettono i triangoli che lo condividono;

40 Algoritmi su mesh Consolidazione Consolidazione La connettività (o topologia) descrive come i triangoli e i vertici si relazionano tra di loro. :: quali triangoli condividono un dato vertice; :: quali triangoli sono adiacenti; :: quali sono i vicini di un dato vertice; ::... La consolidazione è il processo per trovare e aggiustare la connettività della mesh. Esempio: 1) Per ogni vertice, creare la lista delle facce che lo contengono (alternativamente, per ogni faccia, aggiungere il relativo identificativo alla lista dei sui vertici); 2) Per ogni lista, connetti le facce che condividono due vertici;

41 Algoritmi su mesh Semplificazione Semplificazione La maggior parte delle mesh nelle applicazioni reali sono enormi (millioni di triangoli!). tecniche si semplificazione risultano fondamentali. Possibili tecniche di semplificazione: :: Semplificazione statica: crea un livello di dettaglio separato prima che il rendering inizi; :: Semplificazione dinamica crea un livello di dettaglio continuo;

42 Algoritmi su mesh Semplificazione Semplificazione Sia la semplificazione dinamica che quella statica sono solitamente implementate utilizzando algoritmi incrementali: Rimuovere un vertice per volta e riparare il buco creato dopo la rimozione :: Semplificazione statica: rimuove un dato numero di vertici ad ogni livello di dettaglio; :: Semplificazione dinamica memorizza la sequenza di rimozione dei vertici; Obbiettivo Rimuovere il massimo numero di vertici affinchè la mesh risultante è ancora una buona appossimazione dell originale.

43 Algoritmi su mesh Semplificazione Semplificazione :: rimozione di un vertice Obbiettivo Rimovere un vertice p e riparare il buco creatosi con una corretta triangolazione. Se k triangoli/lati condividevano p, ci saranno k 1 triangoli e k 3 lati nella mesh riparata. Non ci sono molte scelte sul come triangolare il buco risultante.

44 Algoritmi su mesh Semplificazione Semplificazione :: collassamento di un lato Per effettuare l elimazione di un vertice e automaticamente riparare l eventuale buco, possiamo scegliere un lato e lasciarlo degenerare in un vertice. Questa operazione è conosciuta come collasamento di un lato. L operazione di collassamento di un lato prende due vertici vicini p e q e collassa il lato tra di loro in un nuovo punto r. Come risultato, due triangoli adiancenti al lato e p,q diventano degeneri e sono rimossi dalla mesh. Come determinare la posizione del nuovo nodo r?

45 Algoritmi su mesh Semplificazione Semplificazione :: collassamento di un half-edge Per ridurre il numero di scelte, il collassamento di un half-edge muove p verso q. Di nuovo due triangoli diventano degenere e quindi rimossi. Può essere pensato come un caso speciale del collassamento di un lato dove la nuova posizione r = q.

46 Algoritmi su mesh Semplificazione Semplificazione :: fold-over Consideriamo il collassamento dell half-edge p verso q. Il collassamento può portare ad un fold-over che piò rendere la mesh invalida (2D) o introdurre artefatti (3D). Individuare un fold-over in R 2 è piuttosto semplice, ma individuarlo in R 3 è difficile in a bullet-proof fashion. Una strategia consiste nell investigare le normali dei triangoli: Se un collassamento di half-edge produrrà triangoli in cui la normale di triangoli adiacenti differeriscoo troppo, allora il collassamento sarà illegale.

47 Algoritmi su mesh Semplificazione Semplificazione :: mantenere la topologia semplice Consideriamo la rimozione di v 0, lasciando un buco di 4 lati. Sarebbe corretto triangolare il buco connettendo v 1 e v 3. Non dovremmo comunque utilizzare l alternativa connettendo v 2 a v 4 in quanto v 2 e v 4 sono già vicini e quindi otterremmo 4 triangoli incidenti il lato e v2,v 4. Connettere v 2 a v 4 potrebbe portare a un grafo non semplice (un grafo è semplice se nessun paio di vertici appartiene a più di un lato). Non connettere due vertici che sono già connessi. Tali situazioni tendono a diventare più frequenti via via che si semplifica la mesh.

48 Algoritmi su mesh Semplificazione Semplificazione :: criteri di rimozione Approccio Greedy Rimuovere i vertici di minor importanza sequenzialmente, basandosi su un certo criterio. Il criterio potrebbe essere basato su: :: Errore di appossimazione - la distanza tra la mesh precedente e quella nuova. :: Densità dei vertici - anche se molti vertici sono necessari in regioni curve.

49 Algoritmi su mesh Smoothing Smoothing Obbiettivo Cambiare la posizione dei vertici per ottenere una mesh migliore eliminando il rumore. Sfide :: preservazione del volume e dei lineamenti; :: smoothing scale; :: indipendenza dalla topologia.

50 Algoritmi su mesh Smoothing Smoothing su una curva Un problema facile Come smussare una curva? Soluzione Discretizzazione alle differenze divise della seconda derivata Operatore di Laplace in una dimensione. L(p i ) = 1 2 (p i+1 p i ) (p i 1 p i ) Algoritmo Ripeti per m iterazioni: p i = p i + λl(p i ) Per quale λ? 0 < λ < 1

51 Algoritmi su mesh Smoothing Smoothing Laplaciano su una mesh Un problema facile Come smussare una mesh? Soluzione Con la stessa tecnica di smoothing per le curve Algoritmo Ripeti per m iterazioni: Cos è p i? p (t+1) i = p (t) i + λ p (t) i p i = 1 N i j N i p j p i

52 Metodi numerici per la grafica: Mesh data structures Algoritmi su mesh Smoothing Smoothing Laplaciano :: Dipendenza dalla triangolazione Il risultato dipende dalla dimensione della triangolazione.

53 Metodi numerici per la grafica: Mesh data structures Algoritmi su mesh Smoothing Smoothing Laplaciano :: Dipendenza dalla triangolazione Soluzione: cotangent weights Ref.: U. Pinkall, Computing discrete minimal surfaces and their conjugates, Experimental Mathematics, 1993.

54 Algoritmi su mesh Smoothing Smoothing Laplaciano :: Shrinkage - Ripetute iterazioni dello smoothing Laplaciano collassano la mesh.

55 Algoritmi su mesh Smoothing Smoothing Laplaciano :: Shrinkage - Ref.: J. Vollmer, Improved Laplacian Smoothing of Noisy Surface Mesh, Eurographics 99.

56 OpenMesh e Visual Studio OpenMesh tutorial OpenMesh - Visual Studio e C++

57 OpenMesh e Visual Studio OpenMesh e Visual Studio OpenMesh OpenMesh è una generica ed efficiente struttura dati per la rappresentazione e la manipolazione di mesh poligonali. OpenMesh è sviluppata dal Computer Graphics Group, RWTH Aachen. È stata fondata dal German Ministry for Research and Education. Obbiettivi di OpenMesh: :: Flessibilità - fornisce una base per vari algoritmi senza necessità di ulteriori adattamenti; :: Efficienza - massimizza il tempo di efficienza mantenendo l utilizzo della memoria al minimo possibile; :: Facilità di utilizzo - la complessa struttura interna è resa disponibile attraverso una interfaccia di facile utilizzo.

58 OpenMesh e Visual Studio OpenMesh e Visual Studio Visual Studio Visual Studio è un ambiente di sviluppo integrato (Integrated development environment o IDE) sviluppato da Microsoft, che supporta attualmente diversi tipi di linguaggio, quali C, C++, C#, F#, Visual Basic.Net, Html e JavaScript, e che permette la realizzazione di applicazioni, siti web, applicazioni web e servizi web.

59 OpenMesh e Visual Studio - 1): Download OpenMesh installazione.

60 OpenMesh e Visual Studio - 2): Nuovo progetto Proprietà Impostare i path di OpenMesh

61 OpenMesh e Visual Studio - 2): Nuovo progetto Proprietà Impostare i path di OpenMesh

62 Pointers Pointers OpenMesh Visual Studio Mesh Smoothing (1) J. Vollmer, Improved Laplacian smoothing of noisy surface mesh, Eurographics 99. Mesh Smoothing (2) Y. Ohtake, Mesh regularization and adaptive smoothing, Computer Aided Design, Mesh Simplification - Decimation (1) H. Hoppe, Progressive Meshes, Preoceeding SIGGRAPH, Mesh Simplification - Decimation (2) G. Pengdong, Adaptive mesh simplification using vertex clustering with topology preserving, International Conference on Computer Science and Software Engineering, Feature detection (1) A. Hubeli, Multiresolution feature extraction for unstructured meshes, Proceedings of the conference on Visualization, 2001.

Rappresentazione di oggetti 3D

Rappresentazione di oggetti 3D Rappresentazione di oggetti 3D 1 Modellazione geometrica La modellazione geometrica riguarda le tecniche di rappresentazione di curve e superfici Surface modeling Rappresentazione della superficie di un

Dettagli

Modellazione 3D in RHINOCEROS docente Calvano Michele

Modellazione 3D in RHINOCEROS docente Calvano Michele Modellazione 3D in RHINOCEROS docente Calvano Michele Metodi di modellazione oggi in usso Modellazione numerica o DISCRETA (Mesh) VISUALIZZAZIONE RENDERING PROTOTIPAZIONE Modellazione matematica o CONTINUA

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

Una breve introduzione all implementazione in C di algoritmi su grafo

Una breve introduzione all implementazione in C di algoritmi su grafo Una breve introduzione all implementazione in C di algoritmi su grafo A cura di Gianmaria Leo Introduzione La lezione è un introduzione a concetti e strumenti che permettono l implementazione di algoritmi

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 12 Grafi e visite di grafi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione Un grafo G=(V,E) consiste in: - un insieme V di vertici (o nodi) - un insieme

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

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica (IN0 Fondamenti) Grafi e alberi: introduzione Marco Liverani (liverani@mat.uniroma.it)

Dettagli

Triangolazione di Delaunay

Triangolazione di Delaunay Triangolazione di Delaunay Francesco Visentin Dottorato di Ricerca in Informatica - XXVIII Ciclo Università degli Studi di Verona 13 Maggio 2013 Triangolazione Presentazione Divisione di una superficie

Dettagli

Autodesk Map parte II topologie

Autodesk Map parte II topologie Autodesk Map parte II topologie Marco Negretti e-mail: marco.negretti@polimi.it http://geomatica.como.polimi.it V 5.1 15/10/2008 Definizione delle Topologie La topologia descrive le modalità di connessione

Dettagli

RUOLO DELLA MODELLAZIONE GEOMETRICA PARTE IN QUESTA LEZIONE E LIVELLI DI MODELLAZIONE. Prof. Daniele Regazzoni

RUOLO DELLA MODELLAZIONE GEOMETRICA PARTE IN QUESTA LEZIONE E LIVELLI DI MODELLAZIONE. Prof. Daniele Regazzoni RUOLO DELLA MODELLAZIONE GEOMETRICA E LIVELLI DI MODELLAZIONE PARTE 2 Prof. Daniele Regazzoni... IN QUESTA LEZIONE Modelli 2D/3D Modelli 3D/3D Dimensione delle primitive di modellazione Dimensione dell

Dettagli

Grafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill)

Grafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill) Grafi: visite Una breve presentazione Visite di grafi Scopo e tipi di visita Una visita (o attraversamento) di un grafo G permette di esaminare i nodi e gli archi di G in modo sistematico Problema di base

Dettagli

La modellazione tridimensionale

La modellazione tridimensionale La modellazione tridimensionale Uso delle tecniche di grafica al calcolatore (Computer Graphics) per rappresentare in modo tridimensionale un oggetto o manufatto. 1/31 La rappresentazione 3D e la simulazione

Dettagli

Strutture dati per insiemi disgiunti

Strutture dati per insiemi disgiunti Strutture dati per insiemi disgiunti Servono a mantenere una collezione S = {S 1, S 2,..., S k } di insiemi disgiunti. Ogni insieme S i è individuato da un rappresentante che è un particolare elemento

Dettagli

Coverage. Visto che il coverage si basa su aree dell ambiente che vengono monitorate non è

Coverage. Visto che il coverage si basa su aree dell ambiente che vengono monitorate non è L. Pallottino, Sistemi Robotici Distribuiti - Versione del 10 Dicembre 2015 393 Coverage Si consideri ora il problema di coordinare una squadra di robot con dei sensori omnidirezionali in modo da garantire

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

Il Processore. Informatica di Base -- R.Gaeta 27

Il Processore. Informatica di Base -- R.Gaeta 27 Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

JSON for Linked Data JSON-LD

JSON for Linked Data JSON-LD JSON for Linked Data JSON-LD Giuseppe Santaniello Giuseppe Pietravalle Web Semantico A.A. 2015/2016 Linked Data Insiemi di dati interconnessi sul Web Esempio: DBpedia DBpedia contiene i dati di Wikipedia

Dettagli

Lezione 11: Solidi, superfici e proiezioni. Le proiezioni. Le proiezioni. Le proiezioni. Le proiezioni. Le proiezioni

Lezione 11: Solidi, superfici e proiezioni. Le proiezioni. Le proiezioni. Le proiezioni. Le proiezioni. Le proiezioni Le proiezioni Lezione 11: Solidi, superfici e proiezioni Lo schermo del calcolatore e' in grado di visualizzare immagini bidimensionali. In grafica 3D si modellano oggetti in tre dimensioni. Le proiezioni

Dettagli

DECLINAZIONE COMPETENZE SCUOLA PRIMARIA: MATEMATICA CLASSI 1 a 2 a 3 a

DECLINAZIONE COMPETENZE SCUOLA PRIMARIA: MATEMATICA CLASSI 1 a 2 a 3 a DECLINAZIONE COMPETENZE SCUOLA PRIMARIA: MATEMATICA CLASSI 1 a 2 a 3 a COMPETENZE 1. Operare con i numeri nel calcolo scritto e mentale CONOSCENZE CONTENUTI A. I numeri da 0 a 20 B. I numeri da 20 a 100

Dettagli

ELABORAZIONE DELLE IMMAGINI:

ELABORAZIONE DELLE IMMAGINI: Università degli Studi di Catania Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica, Secondo Livello ELABORAZIONE DELLE IMMAGINI: EDGE DETECTION Corso di Analisi Numerica

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

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

Modellazione poligonale

Modellazione poligonale Informatica Grafica per le arti Marco Gribaudo marcog@di.unito.it Modellazione poligonale La modellazione consente di modificare la geometria di un oggetto, definendo la posizione dei suoi vertici, spigoli

Dettagli

SCUOLA PRIMARIA MATEMATICA (Classe 1ª)

SCUOLA PRIMARIA MATEMATICA (Classe 1ª) SCUOLA PRIMARIA MATEMATICA (Classe 1ª) Operare con i numeri nel calcolo scritto e mentale Leggere e scrivere numeri naturali in cifre e lettere. Contare in senso progressivo e regressivo. Raggruppare,

Dettagli

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI LE BASI DI DATI Prima parte Premesse introduttive I MODELLI DEI DATI MODELLAZIONE DEI DATI Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la natura

Dettagli

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009 UML Il linguaggio UML e ArgoUML 30/09/2009 Ingegneria dei sistemi software 2009/2010 manuel.comparetti@iet.unipi.it UML Unified Modeling Language una famiglia di notazioni grafiche standardizzate* orientata

Dettagli

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente Routing Introduzione Il livello 3 della pila ethernet ha il compito di muovere i pacchetti dalla sorgente attraversando più sistemi Il livello di network deve quindi: Scegliere di volta in volta il cammino

Dettagli

Grafi: definizioni e visite

Grafi: definizioni e visite Grafi: definizioni e visite Grafi (non orientati) Grafo (non orientato): G = (V, E) V = nodi (o vertici) E = archi fra coppie di nodi distinti. Modella relazioni fra coppie di oggetti. Parametri della

Dettagli

Modelli: formati, strutture dati, processing della mesh

Modelli: formati, strutture dati, processing della mesh Modelli: formati, strutture dati, processing della mesh Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2013/2014 Outline Modelli

Dettagli

Modellizzazione di dati geografici

Modellizzazione di dati geografici Paolo Zatelli Dipartimento di Ingegneria Civile e Ambientale Università di Trento 1/51 Dato geografico aspetto spaziale (geometria/topologia) coordinate+primitive geometriche (sist. di rif.+proiez.+scala

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics Grafica al calcolatore - Computer Graphics 4 - Modellazione 20/10/12 Grafica 2013 1 Geometria Ci interessa definire nello spazio le figure geometriche importanti dal punto di vista della modellazione grafica

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di

Dettagli

Modelli Digitali del Terreno (DTM)

Modelli Digitali del Terreno (DTM) Modelli Digitali del Terreno (DTM) Rappresentazione digitale del terreno, adatta all elaborazione automatica con il calcolatore Descrizione numerica dell andamento altimetrico del terreno Insieme di coordinate

Dettagli

Primitive 3D. Lo Z-Buffer. Informatica Grafica ][ Lo Z-Buffer. Lo Z-Buffer. Lo Z-Buffer. Lo Z-Buffer

Primitive 3D. Lo Z-Buffer. Informatica Grafica ][ Lo Z-Buffer. Lo Z-Buffer. Lo Z-Buffer. Lo Z-Buffer Informatica Grafica ][ Primitive 3D Fino ad ora abbiamo utilizzato solamente triangoli singoli. In questa lezione vedremo come disegnare primitive composte da piu' triangoli. Prima pero' dovremo attivare

Dettagli

MATEMATICA - Curricolo verticale scuola primaria - Istituto comprensivo statale di Mestrino

MATEMATICA - Curricolo verticale scuola primaria - Istituto comprensivo statale di Mestrino MATEMATICA - Curricolo verticale scuola primaria - Istituto comprensivo statale di Mestrino TRAGUARDI per lo sviluppo delle COMPETENZE Al termine della classe PRIMA l alunno L alunno si muove nel calcolo

Dettagli

Introduzione ai grafi

Introduzione ai grafi TFA A048 Anno Accademico 2012-13 Outline Cenni storici sui grafi Nozioni introduttive: cammini, connessione, alberi, cicli Cammini di costo minimo Origini storiche La nascita della teoria dei grafi risale

Dettagli

Grafica al calcolatore. Computer Graphics. 4 - Modellazione 21/10/13

Grafica al calcolatore. Computer Graphics. 4 - Modellazione 21/10/13 Grafica al calcolatore Computer Graphics 4 - Modellazione 1 Modellazione Definiamo ora possibili strutture dati per modellare gli oggetti nello spazio. Poi vedremo come modellare anche la formazione delle

Dettagli

INTRODUZIONE INTRODUZIONE TABELLE HASH FUNZIONE HASH

INTRODUZIONE INTRODUZIONE TABELLE HASH FUNZIONE HASH INTRODUZIONE INTRODUZIONE Una tabella hash è una struttura dati che permette operazioni di ricerca e inserimento molto veloci: in pratica si ha un costo computazionale costante O(1). Si ricorda che la

Dettagli

Organizzazione Fisica dei Dati (Parte II)

Organizzazione Fisica dei Dati (Parte II) Modello Fisico dei Dati Basi di Dati / Complementi di Basi di Dati 1 Organizzazione Fisica dei Dati (Parte II) Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Modello Fisico

Dettagli

Modellazione poligonale avanzata

Modellazione poligonale avanzata Informatica Grafica ][ Modellazione poligonale avanzata Marco Gribaudo marcog@di.unito.it Uno oggetto poligonale puo' essere costituito da una o piu' componenti connesse. Una componente connessa e' un

Dettagli

Algoritmi e Strutture Dati Geometria Computazionale. Daniele Loiacono

Algoritmi e Strutture Dati Geometria Computazionale. Daniele Loiacono Algoritmi e Strutture Dati Geometria Computazionale Riferimenti 2 T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein Introduction to Algorithms, Second Edition Queste trasparenze sono disponibili su http://dei.polimi.it/upload/loiacono

Dettagli

Modulo 3. Rappresentazione di solidi mediante forntiera e strutture dati collegate.

Modulo 3. Rappresentazione di solidi mediante forntiera e strutture dati collegate. Modulo 3. Rappresentazione di solidi mediante forntiera e strutture dati collegate. Nel precedente modulo abbiamo presentato le modalità di rappresentazione di un solido mediante enumerazione o mediante

Dettagli

Capitolo 6. I poligoni. (Ob. 4, 5, 6, 7, 9, 11, 12, 14, 15)

Capitolo 6. I poligoni. (Ob. 4, 5, 6, 7, 9, 11, 12, 14, 15) (Ob. 4, 5, 6, 7, 9, 11, 12, 14, 15) (vertici, lati, diagonali, convessità, angoli, perimetro) 6.2 I triangoli 6.3 I quadrilateri 6.4 I poligoni regolari 6.5 Le altezze 6.6 Le aree Un poligono è la parte

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

L' ADT grafo è un contenitore di elementi memorizzati nelle posizioni del grafo (vertici e archi)

L' ADT grafo è un contenitore di elementi memorizzati nelle posizioni del grafo (vertici e archi) L' ADT grafo è un contenitore di elementi memorizzati nelle posizioni del grafo (vertici e archi) le informazioni possono essere memorizzate sia sui vertici sia sugli archi del grafo Metodi fondamentali

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

Indice. Prefazione. 3 Oggetti e Java 53 Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware

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

FemCode: libreria Matlab per FEM

FemCode: libreria Matlab per FEM FemCode: libreria Matlab per FEM F. Zama Caratteristiche generali Codici matlab per gli esempi trattati in: Understanding and Implementing the Finite Element Method by Mark S. Gockenbach (SIAM, 2006) Nel

Dettagli

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati Sommario - Progettazione di un database - Join - Valore NULL - Operatori aggregati Progettazione di un database - In un database c'è una marcata distinzione tra i valori in esso contenuti e le operazioni

Dettagli

Geometria euclidea. Alessio del Vigna

Geometria euclidea. Alessio del Vigna Geometria euclidea Alessio del Vigna La geometria euclidea è una teoria fondata su quattro enti primitivi e sulle relazioni che tra essi intercorrono. I quattro enti primitivi in questione sono il punto,

Dettagli

Corso di INFORMATICA GRAFICA. Modulo 2 (CAD) Stefano Cinti Luciani. Altre applicazioni informatiche per la progettazione

Corso di INFORMATICA GRAFICA. Modulo 2 (CAD) Stefano Cinti Luciani. Altre applicazioni informatiche per la progettazione Corso di INFORMATICA GRAFICA Modulo 2 (CAD) Stefano Cinti Luciani Altre applicazioni informatiche per la progettazione Progettazione come ciclo iterativo REQUISITI/OBIETTIVO IDEA INIZIALE MODIFICHE FORMALIZZAZIONE

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma

Dettagli

XCModel 3.0. An academic modeling/rendering. system. Università di Bologna. Giulio Casciola. Roberto Sottile. Eurographics Italian Chapter

XCModel 3.0. An academic modeling/rendering. system. Università di Bologna. Giulio Casciola. Roberto Sottile. Eurographics Italian Chapter Eurographics Italian Chapter Milano, 11-12 12 luglio 2002 XCModel 3.0 An academic modeling/rendering system Giulio Casciola Roberto Sottile Università di Bologna Introduzione Cos è XCModel XCModel è il

Dettagli

CURRICOLO DI MATEMATICA SCUOLA SECONDARIA DI PRIMO GRADO

CURRICOLO DI MATEMATICA SCUOLA SECONDARIA DI PRIMO GRADO CURRICOLO DI MATEMATICA SCUOLA SECONDARIA DI PRIMO GRADO Nuclei tematici Il numero Traguardi per lo sviluppo della competenza - Muoversi con sicurezza nel calcolo anche con i numeri razionali e stimare

Dettagli

CALCOLO NUMERICO. Prof. Di Capua Giuseppe. Appunti di Informatica - Prof. Di Capua 1

CALCOLO NUMERICO. Prof. Di Capua Giuseppe. Appunti di Informatica - Prof. Di Capua 1 CALCOLO NUMERICO Prof. Di Capua Giuseppe Appunti di Informatica - Prof. Di Capua 1 INTRODUZIONE Quando algoritmi algebrici non determinano la soluzione di un problema o il loro «costo» è molto alto, allora

Dettagli

11.4 Chiusura transitiva

11.4 Chiusura transitiva 6 11.4 Chiusura transitiva Il problema che consideriamo in questa sezione riguarda il calcolo della chiusura transitiva di un grafo. Dato un grafo orientato G = hv,ei, si vuole determinare il grafo orientato)

Dettagli

Introduzione ai GIS. Potenzialità e limiti Software in commercio. Cartografia numerica e GIS

Introduzione ai GIS. Potenzialità e limiti Software in commercio. Cartografia numerica e GIS Introduzione ai GIS Potenzialità e limiti Software in commercio Cartografia numerica e GIS Cos è un GIS (Geographic Information System)? [SIT Sistema Informativo Territoriale] [LIS Land Information System]

Dettagli

Corso di Informatica di Base

Corso di Informatica di Base Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere

Dettagli

Corso di Basi di Dati Spaziali. Modelli logici. Definizioni e notazioni - 1. Il modello relazionale. Definizioni e notazioni - 3

Corso di Basi di Dati Spaziali. Modelli logici. Definizioni e notazioni - 1. Il modello relazionale. Definizioni e notazioni - 3 Corso di Basi di Dati Spaziali Modello logico per dati spaziali Modelli logici Permettono una rappresentazione astratta dei dati La maggior parte dei sistemi di basi di dati oggi sul mercato si basa sul

Dettagli

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni

Dettagli

Modellazione poligonale

Modellazione poligonale Informatica Grafica ][ Modellazione poligonale La tecnica di modellazione poligonale permette di costruire oggetti tridimensionali basati su poligoni. Malgrado gli oggetti poligonali siano spigolosi per

Dettagli

Informatica e Produzione Multimediale. Introduzione

Informatica e Produzione Multimediale. Introduzione Informatica e Produzione Multimediale Introduzione Il Docente Umberto Castellani (PhD) Ricercatore del Dipartimento di Informatica Università di Verona VIPS (Vision, Image Processing & Sound) (http://vips.sci.univr.it)

Dettagli

Triangolazione di Delaunay. Confronto raster GRID - TIN. Applicazioni di un TIN

Triangolazione di Delaunay. Confronto raster GRID - TIN. Applicazioni di un TIN I N D I C E Il modello TIN Componenti di un TIN Triangolazione di Delaunay Confronto raster GRID - TIN Applicazioni di un TIN CdL Riassetto del Territorio e Tutela del Paesaggio Università degli Studi

Dettagli

CURRICOLO VERTICALE PER COMPETENZE DISCIPLINARI Scuola Primaria - MATEMATICA - COMPETENZA CHIAVE EUROPEA: COMPETENZA MATEMATICA

CURRICOLO VERTICALE PER COMPETENZE DISCIPLINARI Scuola Primaria - MATEMATICA - COMPETENZA CHIAVE EUROPEA: COMPETENZA MATEMATICA CURRICOLO VERTICALE PER COMPETENZE DISCIPLINARI Scuola Primaria - MATEMATICA - COMPETENZA CHIAVE EUROPEA: COMPETENZA MATEMATICA Classe Prima Profilo dello studente al termine del Primo ciclo d Istruzione:

Dettagli

Il valore di flusso che si ottiene è

Il valore di flusso che si ottiene è 1) Si consideri un insieme di piste da sci e di impianti di risalita. Lo si modelli con un grafo orientato che abbia archi di due tipi: tipo D (discesa e orientato nel senso della discesa) e tipo R (risalita

Dettagli

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! G R A F I 1 GRAFI Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! 2 cip: cip: Pallogrammi Pallogrammi GRAFI: cosa sono I grafi sono una struttura matematica fondamentale: servono

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

Cicli di lavorazione sistemi AFR

Cicli di lavorazione sistemi AFR Andrea Francesconi, Gianluca Matteucci, Maurizio Pagni, Michele Lanzetta Dipartimento di Ingegneria Meccanica, Nucleare e della Produzione, Università di Pisa Cicli di lavorazione sistemi AFR Automatic

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

La memoria principale

La memoria principale La memoria principale DRAM (Dynamic RAM) il contenuto viene memorizzato per pochissimo tempo per cui deve essere aggiornato centinaia di volte al secondo (FPM, EDO, SDRAM, RDRAM) SRAM (Static RAM) veloce

Dettagli

Introduzione ai grafi. Introduzione ai grafi p. 1/2

Introduzione ai grafi. Introduzione ai grafi p. 1/2 Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G é costituito da una coppia di insiemi (V,A) dove V é detto insieme dei nodi e A é detto insieme di archi ed é un sottinsieme di tutte

Dettagli

Gestione della produzione e della supply chain Logistica distributiva

Gestione della produzione e della supply chain Logistica distributiva Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Convergenza dell algoritmo Se non

Dettagli

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente

Dettagli

FREEFEM++ Marcello Bellomi. 18 Aprile Università di Verona FREEFEM++

FREEFEM++ Marcello Bellomi. 18 Aprile Università di Verona FREEFEM++ 18 Aprile 2013 Indice 1) Introduzione 2) Esempio base 3) Sintassi 4) Esempio Part I Indroduzione Dettagli iniziali Risolve problemi in 2D e 3D, creato principalmente per risolvere problemi variazionali

Dettagli

Progetto Matlab N 2. Calcolo Numerico 6 CFU. Corso di Laurea in Ingegneria delle Comunicazioni 31/05/2014

Progetto Matlab N 2. Calcolo Numerico 6 CFU. Corso di Laurea in Ingegneria delle Comunicazioni 31/05/2014 Progetto Matlab N 2 Calcolo Numerico 6 CFU Corso di Laurea in Ingegneria delle Comunicazioni 31/05/2014 Procedimento 1. Scrivere una function che implementi il prodotto matrice-vettore AX con A matrice

Dettagli

Modelli di recupero. Modello di recupero booleano

Modelli di recupero. Modello di recupero booleano Modelli di recupero L obiettivo è recuperare i documenti che sono verosimilmente rilevanti all interrogazione. Vi sono vari modelli di recupero, che possono essere suddivisi in due grandi famiglie: exact

Dettagli

Algoritmi in C++ (seconda parte)

Algoritmi in C++ (seconda parte) Algoritmi in C++ (seconda parte) Introduzione Obiettivo: imparare a risolvere problemi analitici con semplici programmi in C++. Nella prima parte abbiamo imparato: generazione di sequenze di numeri casuali

Dettagli

Database Modulo 4 RELAZIONI TRA TABELLE

Database Modulo 4 RELAZIONI TRA TABELLE Database Modulo 4 RELAZIONI TRA TABELLE PERCHÉ DEFINIRE LE RELAZIONI Dopo avere definito le tabelle corrispondenti alle entità individuate nel progetto del database, è necessario indicare il modo per ricollegare

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 Edge - Loop

Modellazione Edge - Loop Informatica Grafica per le arti Modellazione Edge - Loop In animazione 3D, si e' constato che le figure costituite unicamente da quadrilateri si deformano piu' facilmente rispetto a quelle formate da poligoni

Dettagli

Modellazione poligonale

Modellazione poligonale Informatica Grafica per le arti Modellazione poligonale Ogni solido rappresentato in un programma di grafica 3D, viene visualizzato mediante un insieme di triangoli. Un insieme di triangoli adiacenti prende

Dettagli

CONCETTI e ENTI PRIMITIVI

CONCETTI e ENTI PRIMITIVI CONCETTI e ENTI PRIMITIVI Sono Concetti e Enti primitivi ciò che non può essere definito in modo più elementare, il significato è noto a priori, cioè senza alcun'altra specificazione. es. es. movimento

Dettagli

COMPETENZE ABILITA CONOSCENZE

COMPETENZE ABILITA CONOSCENZE SCUOLA PRIMARIA PIANI DI STUDIO MATEMATICA ANNO SCOLASTICO 2010/2011 CLASSE PRIMA Utilizzare le tecniche e le procedure del Associare la quantità al numero: simbolo e Aspetto cardinale e ordinale. calcolo

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

PointCloud 5.0 Anno 2009

PointCloud 5.0 Anno 2009 PointCloud 5.0 Anno 2009 Compatibilità con AutoCAD 2010 e sistemi operativi a 64 bit Entità cilindro-kubit - un oggetto nuovo ed interno di PointCloud (entità personalizzata) con molteplici funzioni -

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Due esempi di simmetria

Due esempi di simmetria Due esempi di simmetria Giugno 2002 1 Le simmetrie del triangolo equilatero 1.1 Il triangolo equilatero è una figura dotata di simmetria. Cosa significa questa affermazione? In cosa consiste la sua simmetria?

Dettagli

Capitolo 6 LE MESH. Fig 355

Capitolo 6 LE MESH. Fig 355 Capitolo 6 Lezione 6.1 Le Mesh piane LE MESH Esaminiamo in questa lezione l utilizzo di uno strumento importante: le Mesh. Seleziona il comando MESH dalla barra degli strumenti e apri la finestra dei settaggi:

Dettagli

LabVIEW (Laboratory Virtual Instrument Engineering Workbench)

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) LabVIEW (Laboratory Virtual Instrument Engineering Workbench) Linguaggio di programmazione sviluppato da National Instruments Nato per Mac (1986), per Windows dal 1992, per Linux dal 1999 Adatto per realizzare

Dettagli

NUMERI ED OPERAZIONI indicatori descrittori valutazione

NUMERI ED OPERAZIONI indicatori descrittori valutazione NUMERI ED OPERAZIONI indicatori descrittori valutazione classe 1^ e consapevolezza del numero e dei simboli matematici sa confrontare e ordinare gruppi di oggetti in relazione alla quantità sa riconoscere

Dettagli

Cosa è l Informatica?

Cosa è l Informatica? Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore

Dettagli

Il sistema operativo deve fornire una visione astratta dei file su disco e l'utente deve avere la possibilità di:

Il sistema operativo deve fornire una visione astratta dei file su disco e l'utente deve avere la possibilità di: Il File System Il sistema operativo deve fornire una visione astratta dei file su disco e l'utente deve avere la possibilità di: identificare ogni file con un nome (filename) astraendo completamente dalla

Dettagli

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. ACCESS Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. Database Relazionale: tipo di database attualmente più diffuso grazie alla

Dettagli

Routing IP. IP routing

Routing IP. IP routing Routing IP IP routing IP routing (inoltro IP): meccanismo per la scelta del percorso in Internet attraverso il quale inviare i datagram IP routing effettuato dai router (scelgono il percorso) Routing diretto

Dettagli

24/03/2012 APPUNTI DI GEOMETRIA EUCLIDEA LEZIONE 2-3. definizione 26-29/3/2012

24/03/2012 APPUNTI DI GEOMETRIA EUCLIDEA LEZIONE 2-3. definizione 26-29/3/2012 PPUNTI DI GEOMETRI EULIDE LEZIONE 2-3 26-29/3/2012 definizione un triangolo è un insieme di punti del piano costituito da una poligonale chiusa di tre lati e dai suoi punti interni un triangolo è un l

Dettagli

AMBIENTE VIRTUALE. Moduli logici di un Ambiente Virtuale. Modellazione. Management Rendering Interazione. Sintesi. Comportamenti.

AMBIENTE VIRTUALE. Moduli logici di un Ambiente Virtuale. Modellazione. Management Rendering Interazione. Sintesi. Comportamenti. Moduli logici di un Ambiente Virtuale Sintesi Campionamento Comportamenti Proprietà AMBIENTE VIRTUALE Management Rendering Interazione UTENTE È il processo che porta alla descrizione di un oggetto (modello),

Dettagli

La teoria dei grafi permette di esprimere in modo sistematico le LKT e LKC con i metodi della

La teoria dei grafi permette di esprimere in modo sistematico le LKT e LKC con i metodi della Grafi La teoria dei grafi permette di esprimere in modo sistematico le LKT e LKC con i metodi della topologia combinatoria. Definizione intuitiva di grafo: Un Grafo è un insieme di nodi (rappresentabili

Dettagli

Reti Complesse Biologiche

Reti Complesse Biologiche Reti Complesse Biologiche Corso di Modelli di Sistemi Biologici II Università di Roma Sapienza Anno Accademico 2008/2009 Fabrizio De Vico Fallani, PhD Dipartimento di Fisiologia Umana e Farmacologia fabrizio.devicofallani@uniroma1.it

Dettagli

Catalogazione e ricerca di oggetti tridimensionali RICCARDO SCATENI UNIVERSITÀ DI CAGLIARI

Catalogazione e ricerca di oggetti tridimensionali RICCARDO SCATENI UNIVERSITÀ DI CAGLIARI Catalogazione e ricerca di oggetti tridimensionali RICCARDO SCATENI UNIVERSITÀ DI CAGLIARI Sommario INTRODUZIONE TESTO IMMAGINI SUONI OGGETTI TRIDIMENSIONALI DESCRITTORI DI FORMA ARCHIVIAZIONE E RICERCA

Dettagli

Disegno di Macchine. corso per I anno della laurea in ing. meccanica Docente: ing. Francesca Campana

Disegno di Macchine. corso per I anno della laurea in ing. meccanica Docente: ing. Francesca Campana Disegno di Macchine corso per I anno della laurea in ing. meccanica Docente: ing. Francesca Campana Lezione n 9 Sistemi di Computer Aided Design (CAD) Introduzione Il Computer ha un ruolo molto importante

Dettagli