Applicazioni progettuali di grafica computerizzata a.a. 2008/2009

Slides:



Advertisements
Presentazioni simili
Flusso Massimo Applicazione di algoritmi
Advertisements

Depth-first search Visita in profondità di un grafo Algoritmo Esempio
Il problema del cammino minimo tra 2 nodi in un grafo non cooperativo
Il problema del minimo albero ricoprente in un grafo non cooperativo
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Estendere i linguaggi: i tipi di dato astratti
Algoritmi e Strutture Dati
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Depth-first search Visita in profondità di un grafo Algoritmo Esempio
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 10/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Il problema del minimo albero ricoprente in un grafo con archi privati
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Visite di grafi Algoritmi e Strutture Dati. Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Un albero è un grafo.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Flusso Massimo Applicazione di algoritmi
Cammini minimi Algoritmo SPT.Acyclic
Flusso Massimo Applicazione Algoritmi Esercizio 1 Sia dato la seguente rete di flusso, in cui la sorgente è il nodo 1 e la destinazione è il nodo 6. I.
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Grafi.
Applicazioni progettuali di grafica computerizzata a.a. 2008/2009 Rendering grafico.
Applicazioni progettuali di grafica computerizzata a.a. 2008/2009 Trasformazioni affini.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi greedy Gli algoritmi greedy in genere non sono esatti, cioè determinano soluzioni non necessariamente ottime Per il problema dell’albero ricoprente.
Esercizi 5 Grafi.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi su grafi I grafi sono strutture dati che vengono usate estensivamente in informatica. Ci sono migliaia di problemi computazionali che sono importanti.
La via più breve Geodetiche nella geometria iperbolica
Prof. Cerulli – Dott.ssa Gentili
Prof. Cerulli – Dott.ssa Gentili
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 K 4 è planare? Sì!
Usi (meno scontati) della visita DFS
Componenti fortemente connesse
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 08/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Web Communities and their identificaton
Corso di Informatica 2 a.a. 2003/04 Lezione 6
Ordinamento topologico Cammino minimo dalla sorgente
Usi (meno scontati) della visita DFS. Informazioni utili: tenere il tempo clock=1 pre(v)=clock clock=clock+1 post(v)=clock; clock=clock+1 pre(v): tempo.
Usi (meno scontati) della visita DFS lezione basata sul capito 3 del libro Algorithms, di Dasgupta, Papadimitriou, Vazirani, McGraw-Hill.
INFORMATICA GRAFICA – SSD ING-INF/05 Sistemi di elaborazione delle informazioni a.a. 2007/2008 CAP 4 Primitive e strutture grafiche.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Ordinamento topologico
Olimpiadi di Informatica 2010 Giornate preparatorie
Redisposizione Genomica Gotzone Ortega Bioinformatica 2008/2009.
Algoritmi elementari su grafi
Ordinamento topologico
Flusso Massimo Applicazione di algoritmi
Componenti fortemente connesse
Capitolo 11 Visite di grafi Algoritmi e Strutture Dati.
Master Bioinformatica 2002: Visite di Grafi La struttura dati D è una PILA (STACK) Visita in profondità o Depth-First-Search (DFS)
Capitolo 13 Cammini minimi: Bellman e Ford Algoritmi e Strutture Dati.
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
PROBLEMI DI CLASSIFICAZIONE In una fissata categoria il “problema della classificazione” consiste nel problema dell’esistenza di un algoritmo capace di.
Algoritmi e Strutture Dati
Cammini minimi fra tutte le coppie:
Cammini minimi in grafi:
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Transcript della presentazione:

Applicazioni progettuali di grafica computerizzata a.a. 2008/2009 Primitive e strutture grafiche

A 2-manifold is a type of mathematical object, like a sphere, that looks like a plane if you zoom in far enough on it. Some other manifolds are a plane, the surface of a torus. A cone is NOT a 2-manifold, because it has a pointy part and no matter how much you zoom in on that point, the point won't start to look like a regular plane.

G=0 G=0 G=0 G=0 G=0

Genere geometrico di una superficie Il genere di una superficie è il numero più grande di curve chiuse semplici (senza nodi) e non intersecate che possono essere disegnate sulla superficie senza separarla in due parti non connesse Una sfera ha genere 0: non ha buchi e ogni curva chiusa tracciata su di essa la separa in due calotte sferiche; un toro ha genere 1: è possibile tagliare il toro lungo una curva chiusa che segue una delle due circonferenze generatrici, ottenendo in ogni caso un cilindro connesso; ogni altro taglio supplementare otterrebbe due superfici sconnesse; la bottiglia di Klein ha genere 2

Esempio di 8-Klein bottle

Esempio di edge flipping

Grafi gerarchici della scena Un modello gerarchico, definito induttivamente come un assemblaggio di parti componenti, è descritto facilmente da un multigrafo orientato aciclico, spesso chiamato grafo della scena o struttura gerarchica nella computer grafica. L’operazione principale con gli assemblaggi (o assiemi) gerarchici è l’algoritmo di visita (o traversal), che trasforma ogni componente da coordinate locali a coordinate globali, chiamate anche coordinate mondo.

Coordinate locali e trasformazione di modellazione Per modellare il database della scena si usa un multigrafo orientato gerarchico. Ciascun nodo potrà essere considerato un contenitore di oggetti geometrici Proprietà: Gli oggetti geometrici contenuti in un nodo a saranno definiti usando un sistema di coordinate locale ad a. Ogni arco (a, b) è associato con una trasformazione affine di coordinate. Nei casi più semplici si usa la trasformazione identica. La trasformazione affine associata all’arco (a, b) é usata per trasformare gli oggetti contenuti nel nodo b nel sistema di coordinate associato al nodo a. Nei sistemi grafici standard, come GKS, Phigs e VRML, e nelle librerie grafiche come Open Inventor e Java 3D sono usati vari tipi di assiemi gerarchici.

Algoritmo di visita La visita di una struttura gerarchica consiste in una Depth First Search (DFS) del suo multigrafo aciclico Ogni arco è visitato solo una volta Lo scopo dell’algoritmo di visita è di linearizzare una rete di strutture, trasformando tutte le sue sottostrutture dalle loro coordinate locali alle coordinate del nodo radice, assunte come coordinate mondo E` mantenuta una matrice chiamata matrice di trasformazione corrente (CTM). La CTM è data dal prodotto delle matrici associate agli archi del cammino corrente dalla radice al nodo corrente L’algoritmo di visita è implementato usando una pila di matrici CTM

Algoritmo di visita proc TraverseArc (a = (n,m) : arc) { algorithm Traversal ((N,A, f) : multigraph) { CTM := matrice identità; TraverseNode (root) } proc TraverseNode (n : node) foreach object in n do fai qualcosa…( CTM * object ) foreach a di A uscente da n do TraverseArc (a); proc TraverseArc (a = (n,m) : arc) { Stack.push (CTM); CTM := CTM * a.mat; TraverseNode (m); CTM := Stack.pop() }