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

Documenti analoghi
Grafica 3D Interattiva

Formati e compressioni

Le problematiche della grafica tridimensionale

Gerarchie e punti Pivot

Utilizzo delle Maschere in Microsoft Access

Grafica 3D Interattiva

METODI E TECNOLOGIE PER L INSEGNAMENTO DELLA MATEMATICA. Lezione n 11

Utilizzo delle Maschere in Microsoft Access

ATTACCAIMM. ATTACCAIMM (Riferimento rapido) Guida di riferimento dei comandi di AutoCAD 2008 > Comandi > A - Comandi > ATTACCAIMM >

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

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

Introduzione. Al termine della lezione sarai in grado di:

PROGRAMMAZIONE DI MATEMATICA 2016/2017

Modellazione Poligonale Avanzata

Gestione degli impegni Requisiti generali Si fissi come ipotesi che la sequenza di impegni sia ordinata rispetto al tempo,, e che ogni lavoratore abbi

La codifica dell informazione. Rappresentazione binaria. Rappresentazione posizionale in base 10

GEOMETRIA ANALITICA. Il Piano cartesiano

La codifica dell informazione

METODI E TECNOLOGIE PER L INSEGNAMENTO DELLA MATEMATICA. Lezione n 10

Le coordinate di mappatura

NURBS: curve e superfici

Sistemi Informativi Territoriali. Area di rispetto

Modellazione poligonale

CODIFICA IMMAGINI IN BIANCO E NERO

Video Scrittura (MS Word) Lezione 3 Formattazione e Stampa documenti

POLIGONI E NON POLIGONI: elementi caratteristici, proprietà e relazioni.

Cineprese e luci. Cineprese. Informatica Grafica ][ Cineprese. Cineprese. Cineprese. Cineprese

FONDAMENTI DI INFORMATICA Lezione n. 11

La trilaterazione. Obiettivi di apprendimento: Definizione di trilaterazione Risoluzione di un terreno a piano quotato

Le primitive tridimensionali

La codifica delle immagini

1 Disegnare e spostare punti

Elementi 2D e modificatori

Sistemi di Elaborazione delle Informazioni 6 CFU

Presenta: I Poligoni e loro proprietà

Ordinamento. Lorenzo Donatiello,Moreno Marzolla Dip. di Scienze dell'informazione Università di Bologna

PROGRAMMAZIONE DIDATTICA PER COMPETENZE. Modulo A : INSIEMI

PRG OL. Comune di Este. Manuale operativo. Padova 13 luglio 2009

Introduzione alla programmazione Esercizi risolti

Grafica Computazionale

Modularizzazione del software

Strutture dati e loro organizzazione. Gabriella Trucco

ASSI CARTESIANI: Esercizio n 80: Date le seguenti terne di punti, disegnare il triangolo corrispondente (C3 il perimetro e l area:

S.C.S. - survey CAD system Tel. 045 /

L'animazione 3D. Le basi dell'animazione 3D. Informatica Grafica per le arti. Le basi dell'animazione 3D. Le basi dell'animazione 3D

Programmazione: variabili e operatori. Variabili

Sistemi di Elaborazione delle Informazioni 6 CFU

Effetti speciali. Informatica Grafica I. I fondali. I fondali. I fondali. I fondali. I fondali

I Clip Filmato. I marker. Informatica Grafica per le arti. I marker. I marker. I marker. I marker. gotoandplay("inizio");

Video Scrittura (MS Word) Lezione 1 Funzioni di base

CONCETTI e ENTI PRIMITIVI

Liceo Scientifico G. Galilei Trebisacce Anno Scolastico Prova di Informatica : Codifica delle informazioni Alunno: Classe: 1 C

SISTEMI DI RIFERIMENTO SU UNA RETTA E SU UN PIANO

Funzioni, Stack e Visibilità delle Variabili in C

Approfondimento A3.1 Le linee di richiamo in ambiente autocad 1

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

Interfaccia seriale per LM709SW

Modulo 6. Strumenti di Presentazione

TRASFORMAZIONE PRIMA SELEZIONE SELEZIONE SUCCESSIVA

PIANO DI LAVORO ANNUALE ANNO SCOLASTICO 2011/2012

RIVENDICAZIONI. 1. Metodo per associare una immagine a una sequenza di. pressioni di tasti inserita tramite una tastiera (2) avente

Fondamenti di Informatica T-1. Classi & vettori

Le immagini. Parametri importanti sono:

Lavorare con le superfici NURBS

Architettura hardware

Printer Driver. Questa guida descrive la configurazione del driver stampante per Windows 7, Windows Vista, Windows XP e Windows 2000.

Capitolo 4: Tabelle. y(x) = x 3 ì 2x. Capitolo 4: Tabelle 67. Nota: le tabelle non sono disponibili nel modo di rappresentazione grafica 3D.

Dispositivi di output

Kangourou Italia Gara del 17 marzo 2016 Categoria Student Per studenti di quarta e quinta della scuola secondaria di secondo grado

Lezione 19: Grafica in tempo reale. I problemi del Real Time. I problemi del Real Time. I problemi del Real Time. I problemi del Real Time


LA RETTA. La retta è un insieme illimitato di punti che non ha inizio, né fine.

FREQUENZIMETRO FQ-16S3-800

Rappresentazione digitale delle informazioni

Kangourou Italia Gara del 20 marzo 2003 Categoria Student Per studenti di quarta o quinta superiore. I quesiti dal N. 1 al N. 10 valgono 3 punti

Parte 1/4: Formazione delle immagini

LA FORMATTAZIONE Impostare la pagina, i paragrafi e il corpo del testo

Computer Graphics. La disciplina fornisce metodi per creare elaborare memorizzare visualizzare. immagini di oggetti o scene mediante un computer

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

Il teorema di Pitagora al centro della didattica della geometria nella scuola secondaria di primo grado di Luciano Porta

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

1 Esercizio - caso particolare di ottimalità

GeoPortale Regione Lazio. Manuale utente

Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA

ISTITUTO SCOLASTICO COMPRENSIVO MINEO

1.3d: La Codifica Digitale dei Video

ESERCIZI PER IL RECUPERO DEL DEBITO FINALE. Esercizio n.1

ESERCITAZIONE SULLA SEZIONE AUREA MACRO IN GEOGEBRA. Va consegnato un unico file chiamato cognome.sezione.aurea.

Creare superfici. Le superfici. Informatica Grafica ][ Le superfici. Le superfici. Le superfici. Le superfici

I punti di inizio e di fine della spezzata prendono il nome di estremi della spezzata. lati

1 L'omotetia. 2 Il teorema del rapporto dei perimetri e delle aree di due triangoli simili

Geometria analitica. coppia di numeri equazione di 2 grado. delle equazioni

Finestra di dialogo Riferimento esterno

Costruzioni geometriche. (Teoria pag , esercizi )

Corso di Fisica. Lezione 2 Scalari e vettori Parte 1

CIRCONFERENZA E CERCHIO

Poligoni Un poligono è la parte di piano delimitata da una linea spezzata, semplice e chiusa.

Manuale d'uso (E8000)

CORSO BASE SULL USO DELLA LAVAGNA INTERATTIVA MULTIMEDIALE

I QUIZ di Tecnologie Informatiche in

Transcript:

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 lo Z-Buffer. Marco Gribaudo marcog@di.unito.it Cominciamo ad aumentare il numero di vertici da memorizzare. With Triangle(0).X = -1:.Y = -1:.z = 0.color = &HFFFF0000 Definiamo quindi 3 nuovi triangoli, spostando di 0.5 unita' la coordinata Z di ogni nuova figura, e variandone il colore. With Triangle(3).X = -1:.Y = -1:.z = 0.5.color = &HFF00FF00 With Triangle(6).X = -1:.Y = -1:.z = -0.5.color = &HFF0000FF With Triangle(9).X = -1:.Y = -1:.z = 1.color = &HFFFF00FF With Triangle(1).X = 1:.Y = -1:.z = 0.color = &HFFFF0000 With Triangle(4).X = 1:.Y = -1:.z = 0.5.color = &HFF00FF00 With Triangle(7).X = 1:.Y = -1:.z = -0.5.color = &HFF0000FF With Triangle(10).X = 1:.Y = -1:.z = 1.color = &HFFFF00FF With Triangle(2).X = -1:.Y = 1:.z = 0.color = &HFFFF0000 With Triangle(5).X = -1:.Y = 1:.z = 0.5.color = &HFF00FF00 With Triangle(8).X = -1:.Y = 1:.z = -0.5.color = &HFF0000FF With Triangle(11).X = -1:.Y = 1:.z = 1.color = &HFFFF00FF Modifichiamo infine la procedura di visualizzazione in modo che disegni 4 triangoli invece che 1. L'applicazione mostra ora 4 triangoli, ma l'ordine di visualizzazione e' scorretto: esso rispetta infatti l'ordinamento di scrittura su video, e non quello spaziale

Affinche l'ordine di visualizzazione dei poligoni sullo schermo sia corretto, occorre attivare lo Z-Buffer Per abilitare lo Z-Buffer, bisogna innanzi tutto richiedere alla scheda video di riservarne lo spazio necessario. memorizza, oltre al colore dei Pixel, anche la distanza dei punti dall'osservatore. Sfruttando questa informazione, la libreria grafica puo' decidere se visualizzare o no un nuovo tirangolo, in base alla sua minore o maggiore distanza dal punto di osservazione. Quindi biosogna impostare la libreria in modo che lo sfrutti. Ed infine occorre modificare - all'interno del ciclo di rendering - il comando di cancellazione dello schermo in modo che ripulisca anche lo Z-Buffer I 4 triangoli verranno quindi visualizzati nel modo corretto, indipendentemente dal loro ordine di scrittura a video. Gli oggetti in grafica tridimensionale, come visto in precedenza, vengono suddivisi in triangoli prima di essere visualizzati. Il compito piu' difficile nella visualizzazione di un triangoli in 3D e' determinare le proiezioni dei sui vertici. Le librerie grafiche mettono a disposizione delle "scorciatoie" per ridurre il lavoro necessario a visualizzare triangoli adiacenti.

Due triangoli sono caratterizzati da 6 vertici. 2 4 5 Ma se questi sono adiacenti (condividono un lato), 4 vertici possono essere sufficienti a definirli entrambi. 2 4 1 3 6 1 3 Le librerie DirectX codificano i triangoli che compongono le primitive grafiche, memorizzandone i vertici in un array. Quindi, attraverso una strategia di collegamento, uniscono i vertici presenti nell'array, in modo da definire un numero elevato di triangoli. Ogni primitiva, prevede la specifica della strategia di collegamento e del numero di triangoli che si vogliono rappresentare. Strategia di collegamento Numero di Triangoli DirectX prevede 3 differenti strategie di collegamento: Liste di triangoli Ventagli di triangoli

Liste di Triangoli Le liste di triangoli codificano un insieme di triangoli disgiunti. Liste di Triangoli 3 vertici consecutivi dentro l'array definiscono un triangolo. N triangoli, sono codificati con 3N vertici. Vengono utilizzate per codificare figure complesse dove non vi siano condivisioni di spigoli. v1 v2 v3 v4 v6 v5 Liste di Triangoli Le Liste di Triangoli sono la strategia di collegamento piu' potente, in quanto meno restrittiva. Sono pero' anche quelle piu' dispendiose in quanto necessitano la definizione esplicita di tutti vertici. Le liste strisce di triangoli, codificano un insieme di triangoli che condividono due spigoli (tranne il primo col secondo, e l'ultimo con il penultimo che ne condividono uno solo). N triangoli, sono codificati con N + 2 vertici. Vengono utilizzate per codificare figure a forma di "Striscia", dove i triangoli si ripetono in sequenza. I primi 3 vertici definiscono un triangolo. Il quarto definisce il triangolo costituito dai vertici 2, 3 e 4; il quinto definisce il triangolo costituito dai vertici 3,4 e 5; e cosi' via. Le Striscie di Triangoli sono una strategia piuttosto potente, che riesce a definire oggettti complessi con pochi punti.

Ventagli di Triangoli I ventagli di triangoli, definiscono un insieme di triangoli adiacenti che condividono un vertice. N triangoli, sono codificati con N + 2 vertici. Vengono appunto utilizzati per definire oggetti a forma di ventaglio. Ventagli di Triangoli Il primo vertice definisce il centro del ventaglio. I vertici seguenti identificano la parte piu' esterna del ventaglio. Ventagli di Triangoli I ventagli di triangoli vengono principalmente utilizzati per definire poligoni regolari, o per approssimare circonferenze. Il comando delle DirectX che visualizza una primitiva e' DrawPrimitiveUP. I suoi parametri sono la strategia di collegamento, l'array contenente i vertici, il numero di triangoli da disegnare, e per ultimo la dimensione degli elementi dell'array. Quest'ultimo argomento e' necessario poiche', come visto in precedenza, i vertici possono essere specificati con formati di lunghezza differente. Strategia di collegamento: D3DPT_TRIANGLELIST D3DPT_TRIANGLESTRIP D3DPT_TRIANGLEFAN Lista di triangoli Striscia di triangoli Ventaglio di triangoli Il comando DrawPrimitiveUP e' anche in grado di disegnare oggetti non tridimensionali, attraverso altre tre strategie di collegamento: Liste di punti Liste di segmenti Strisce di segmenti Array dei vertici Dimensione dei vertici Numero di triangoli

Le liste di punti (D3DPT_POINTLIST), codificano un insieme di punti sullo schermo. Ogni vertice rappresenta un punto differente. Le liste di segmenti (D3DPT_LINELIST), codificano un insieme di segmenti disgiunti. Ogni coppia di vertici consecutivi rappresenta un nuovo segmento. Le strisce di segmenti (D3DPT_LINESTRIP), codificano un insieme di segmenti consecutivi. Ogni vertice viene collegato al precedente attraverso un nuovo segmento. Il loro funzionamento e' analogo alle primitive tridimensionali. In questo caso pero' il numero di primitive indica il numero di punti (per le liste di punti), oppure il numero di segmenti (per le liste o le strisce di segmenti)