Loading
Note di Apprendimento
Study Reminders
Support
Text Version

Introduzione alle tecniche di rappresentazione oggetti

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Ciao e benvenuto a lezione numero cinque nella grafica del corso.
Ripercogliamo ciò che abbiamo imparato sulla pipeline grafica, come potrete riscuotere ci sono sostanzialmente, 5 tappe della pipeline. Nella prima fase abbiamo la rappresentazione di oggetti, in altre parole, in questa fase, quello che facciamo, cerchiamo essenzialmente di rappresentare gli oggetti che costituiranno la scena.
Ora gli oggetti rappresentati sono definiti nel loro sistema di coordinate locali. Nella seconda tappa si combinano questi oggetti insieme per formare una scena. Così, quella tappa è chiamata fase di trasformazione modellistica. E qui quello che facciamo, eseguiamo essenzialmente una trasformazione dal sistema di coordinate locali o oggetti al sistema di coordinate mondiali.
E alla fine otteniamo una scena nel sistema di coordinate mondiali. Nella terza tappa abbiamo assegnato colori, colori ai punti di superficie oggetto. Così, l'assegnazione dei colori avviene nel sistema di coordinate mondiali. Nella quarta tappa realizziamo una serie di trasformazioni oltre ad alcune altre operazioni. Così, trasferiamo gli oggetti dal mondo si coordinano a un sistema di coordinate della vista attraverso una trasformazione chiamata visualizzazione trasformazione. Quindi, questa è essenzialmente una trasformazione tra mondo per visualizzare il riferimento di coordinate.
Ora, dopo averlo fatto, eseguiamo un'operazione chiamata clipping, che facciamo nella vista coordinare lo spazio. Questo è seguito da un'altra operazione chiamata rimozione della superficie nascosta, che si svolge nuovamente nella visualizzazione dello spazio di coordinate. Dopo di che, eseguiamo una trasformazione dal sistema di coordinate 3D view a sistema di coordinate 2D. Questa trasformazione è chiamata trasformazione di proiezione.
E infine, eseguiamo un'altra trasformazione che è finestra per visualizzare la trasformazione della porta, dove trasferiamo il contenuto da sistema di coordinate 2D a sistema di coordinate del dispositivo. Quindi, tutte queste trasformazioni e operazioni insieme costituiscono la quarta tappa, che si chiama visualizzazione della fase pipeline.
E poi c'è uno stato finale chiamato conversione o rendering di scansione, che è la quinta tappa in questa fase. Rendiamo la scena nel dispositivo si coordina a un'immagine sullo schermo coordinati in modo che la trasformazione avvenga in questa ultima e ultima fase della pipeline. Tra queste cinque tappe, oggi, inizieremo la nostra discussione sulla prima fase che è rappresentata dall'oggetto.
Come tutti sappiamo, o probabilmente possiamo indovinare, che in un'immagine sintetizzata dove stiamo eseguendo la sintesi usando un computer, probabilmente ci occupiamo di oggetti di forme e dimensioni diverse.
E che forme e dimensioni diverse possono variare ampiamente. Potremmo occuparci di minuscoli fiocchi di neve per creare una scena o potremmo affrontare personaggi complessi, personaggi di animazione per creare un film o un'animazione e tutte le forme e le dimensioni possibili degli oggetti in mezzo.
Ora, come si può capire, un fiocco di neve, per esempio, non è un oggetto semplice, ha una forma elegante e a meno che non riproduciamo quell' elegante forma non sarà in grado di riprodurre un'immagine o una scena realistica. Quindi, idealmente i fiocchi di neve non dovrebbero essere rappresentati con semplice sfera.
Analogamente, un carattere animato deve essere raffigurato con le sue complessità associate in modo che sembri realistico. Non dovremmo cercare di semplificarlo usando semplici poligoni o semplici forme geometriche.
Ora, per generare una scena con tutti questi oggetti disparati, ciò di cui abbiamo bisogno, abbiamo bisogno di qualche modo per rappresentarli in modo che i computer possano capire e elaborare quegli oggetti. E come ho detto prima, qualsiasi rappresentazione non funzionerà. Quindi, non possiamo rappresentare un fiocco di neve con una sfera che ridurrà la sensazione realistica dell'immagine generata.
Ora, ci sono due domande fondamentali relative alla rappresentazione degli oggetti; come possiamo rappresentare oggetti diversi con le loro caratteristiche caratteriali, in modo che quelli possano essere resi realisticamente in un ambiente sintetizzato? Quindi, quello che ci dice che dobbiamo rappresentare oggetti diversi, preservando le loro complessità intrinseche in modo che quando vengono resi sullo schermo otteniamo la sensazione di realismo nell'immagine sintetizzata.
L'altra domanda è, come possiamo avere una rappresentazione che renda efficiente il processo di rendering? In altre parole, possiamo eseguire le operazioni delle diverse fasi della pipeline in modi che ottimizzano la complessità spaziale e temporale? Così, una domanda si occupa di creare effetti realistici e come abbiamo discusso nelle nostre lezioni introduttive, creando effetti realistici comporta lotti di elaborazioni e lotti di elaborazione dati che richiedono lo storage.
Quindi, l'altra domanda fondamentale legata alla rappresentazione degli oggetti è che abbiamo a disposizione alcune risorse di calcolo che coinvolgono storage e processori. Ora, potremmo voler utilizzare rappresentazioni molto complesse per creare effetti più realistici, ma se le nostre risorse disponibili supporteranno tali rappresentazioni, che saranno utilizzate nelle successive fasi della pipeline? Anche questo dobbiamo tenere a mente mentre andiamo per una particolare rappresentazione. Quindi, c'è un interscambio commerciale; uno è il realismo, uno è risorse disponibili e dobbiamo bilanciare il tradeoff.
Ora, per bilanciare questo scambio, sono state sviluppate una pletora di tecniche per rappresentare oggetti e oggi passeremo attraverso alcune di quelle tecniche in breve e i dettagli saranno discussi nelle successive lezioni.
Tutte queste tecniche possiamo categorizzare in genere in quattro tipi, la prima è la rappresentazione del campione di punti. La seconda è la rappresentazione di confine. La terza è il partizionamento dello spazio. E la quarta è la rappresentazione sweep. Abbiamo quindi un gran numero di tecniche e tutte queste tecniche possono categorizzare in quattro tipi; sample point, rappresentazione di confine, partizionamento dello spazio e rappresentazione sweep.
Vediamo cosa è, qual è l'inizio con la rappresentazione del campione di primo punto della categoria. Per creare una scena 3D possiamo prima catturare dati greli come colore, superficie normale e profondità di informazioni di punti diversi sulla scena. Come possiamo catturare quelli? Possiamo utilizzare vari dispositivi come scanner di gamma 3D, range finder o utilizzando semplici tecniche di fotocamera e computer vision. Quindi, utilizzando quei dispositivi e le tecniche, possiamo catturare informazioni crude su una scena 3D, ovvero le informazioni sul colore o le informazioni normali di superficie o le informazioni di profondità in diversi punti della scena.
Ora, visto che abbiamo già ottenuto queste informazioni, quindi non abbiamo bisogno di calcolarle e possiamo rendere direttamente questi punti su uno schermo. Quindi, possiamo elaborare questi punti successivamente per generare la scena, quindi qui il focus è sulla cattura dell'informazione piuttosto che l'elaborazione dei valori, allora qual è la rappresentazione?
La rappresentazione è una serie di punti dati grezza, per ogni punto dati abbiamo catturato alcuni valori come colore, profondità, superficie normale, vettore. Questi sono i suoi attributi. Quindi, la nostra rappresentazione comporta la serie di punti dati così come alcuni valori di attributo per ciascuno, e che si chiama rappresentazione sample point. Quindi, essenzialmente rappresentiamo la scena 3D in termini di punti campionati in diverse località.
La prossima è la rappresentazione di confine. Ci sono anche una serie di tecniche che rappresentano un oggetto rappresentando le singole superfici oggetto. Ora queste superfici possono essere poligonali o curate. Per esempio, vedi la figura qui, qui sul lato sinistro della figura vediamo sei superfici. Denominate A, B, C, D, E e F. Ora queste superfici hanno definito il cubo mostrato sul lato destro dell'immagine. Quindi, si sta rappresentando il cubo, che è un oggetto in termini di queste superfici, che sono dei rettangoli interconnessi da A a F. Così, cioè la rappresentazione di confine. Quindi, rappresentiamo il cubo in termini di superfici di bounding o di confine.
Ci sono altre tecniche in cui, non rappresentiamo oggetti in termini di confini. Invece, quello che facciamo, usiamo lo spazio 3D occupato dall'oggetto per rappresentarlo. Ora dividiamo lo spazio in diverse regioni disgiunte, regioni disgiunte o non sovrapposte. Qualsiasi punto all'interno dell'oggetto si trova esattamente in una delle regioni, quindi la divisione viene fatta in modo tale che qualsiasi punto all'interno dell'oggetto risieda esattamente in una delle regioni.
Così, quando rappresentiamo oggetti in questo modo. Poi stiamo essenzialmente rappresentando in termini di spazio occupato dall'oggetto piuttosto che le superfici di bounding, quindi quelle tecniche in cui tali approcci vengono utilizzati sono chiamati metodi di partizionamento dello spazio o rappresentazioni. E tali rappresentazioni sono spesso create in modo gerarchico. Il che significa spazio occupato dall'oggetto è diviso in sub - regioni. E questo meccanismo di divisione viene applicato in modo ricorsivo ad ogni sub - regione fino ad arrivare ad alcune dimensioni predefinite della sub - regione.
Ora, queste rappresentazioni gerarchiche possono essere raffigurate in modi diversi. Un modo comune è quello di formare un albero o di mostrare la rappresentazione sotto forma di albero, che spesso viene definito alberi di partizionamento spaziale. Questo è un modo comune di rappresentare un oggetto in termini di spazio occupato da esso.
E infine, abbiamo la rappresentazione spazzatrice. Ora, ci sono due tecniche di rappresentazione sweep ampiamente utilizzate nella grafica. Una è la rappresentazione superficiale e la superficie della rappresentazione della rivoluzione.
Cerchiamo di capire la rappresentazione della superficie sweep. In questo tipo di rappresentazione 3Dsurfaces si ottengono traversando un'entità come un punto, linea, poligono o curva lungo un percorso nello spazio in modo specificato. Per esempio, guarda la figura qui abbiamo questo rettangolo e il rettangolo viene spostato in una traiettoria specifica. Per creare questo oggetto complessivo di interesse.
Quindi, l'oggetto qui è questo, intera cosa creata spostando un rettangolo lungo il percorso specificato.
Questo tipo di rappresentazione dove non rappresentiamo in realtà un oggetto in termini di sua superficie di bounding o lo spazio occupato da esso, piuttosto, lo stiamo rappresentando in termini di un processo in cui l'input è una superficie primitiva e il percorso che ne consegue. E abbiamo specificato il modo di percorrere quel percorso. Quel tipo di rappresentazione si chiama superfici sweep.

In un modo simile c'è un'altra rappresentazione chiamata superficie della rivoluzione, come suggerisce il nome qui quello che facciamo, definiamo un'entità 2D che ruota attorno ad un asse. Specifichiamo anche l'asse.
Allora allora l'oggetto risultante è quello che ci interessa. Per esempio, qui di nuovo se consideriamo dire il rettangolo e questo è il percorso o il percorso di rotazione intorno all'asse x, allora otteniamo questo oggetto complessivo, che è il nostro oggetto desiderato.
Quindi, ancora qui, non stiamo effettivamente specificando l'oggetto in termini di superfici di bounding o di spazio occupato da esso, ma in termini di oggetto primitivo, in questo caso, rettangolo e asse e direzione della rivoluzione. Quindi, questo tipo di rappresentazione è conosciuta come la superficie della rivoluzione.
Ora, alcune di queste categorie hanno anche delle sottocategorie. Ad esempio, le tecniche di rappresentazione di confine hanno tre tipi di tecniche secondarie, una è la rappresentazione di mesh, che è più comune. Abbiamo una rappresentazione parametrica e la terza è rappresentazione implicita.
In caso di metodi di partizionamento dello spazio ci sono di nuovo diverse tecniche secondarie, sottocategorie come i metodi di ottone, gli alberi BSP, la geometria solida costruttiva o CSG. Ora, a parte queste ampie categorie e sottocategorie, ci sono alcune altre tecniche che non rientrano in nessuna di queste ampie categorie, che sono categorie in sé. Sono principalmente la rappresentazione di oggetti fotorealistici specifici o complessi. Quindi, ora complessa rappresentazione di oggetti fotorealistici indica che quelle tecniche sono usate per rappresentare effetti realistici in modo molto complesso.
Vediamo qualche esempio. Esiste una tecnica chiamata rappresentazione frattale. Per esempio, vedere questa figura dell'albero qui se si guarda da vicino ad ogni ramo dell'albero, si vedrà che la struttura complessiva è replicata in ogni ramo. Così tutta la struttura ad albero viene replicata in ogni ramo e all'interno di questo ramo, i sub - rami replicano di nuovo questa struttura ad albero. Quindi, si tratta di una struttura autoripetente, che viene rappresentata utilizzando notazioni frattali. Quindi la rappresentazione frattale è una rappresentazione utile e in natura riusciamo a vedere molti oggetti che in realtà si auto - ripetono, dove la rappresentazione frattale è molto utile.
Un'altra tecnica di rappresentazione anticipata è la rappresentazione del sistema di particelle, dove cerchiamo di simulare la fisica effettiva, ad esempio, se vogliamo creare questa cascata in modo molto realistico. Poi la rappresentazione del sistema di particelle sarebbe più appropriata di qualsiasi altra rappresentazione che abbiamo utilizzato finora dove saremo in grado di imitare realmente il modo in cui questo acqua scorre a causa della gravità e scende da una posizione superiore a quella inferiore e le collisioni e come si disperdono, tutte queste cose possono essere catturate usando la rappresentazione del sistema di particelle.
Terza tecnica è la rappresentazione del modello scheletrico. Se vogliamo creare un personaggio come questo, possiamo rappresentare il carattere utilizzando una forma scheletrica, che viene mostrata in questa figura laterale sinistra. E il modo in cui viene definita questa forma scheletrica, quindi ogni volta che questo carattere si muove, anche il movimento dello scheletro è proporzionato. Quindi, le considerazioni cinematiche sono prese in considerazione mentre definiamo una rappresentazione scheletrica. Queste sono solo alcune delle tante possibili rappresentazioni che vengono effettivamente utilizzate nella generazione di una scena realistica.
Così, in sintesi, quello che possiamo dire è che abbiamo a disposizione un gran numero di tecniche per rappresentare oggetti 3D. Sostanzialmente ci sono quattro tecniche. Uno è il rendering di esempio del punto dove invece di cercare artificialmente di creare oggetti di forme, in realtà catturiamo alcuni valori, ovvero il colore, la profondità, la superficie normale in diversi punti di una scena e poi semplicemente riproduciamo quelli sullo schermo, cioè rendering di esempio.
Altra tecnica è la rappresentazione di confine, che ha molte sottocategorie come la rappresentazione di mesh, la rappresentazione parametrica e le rappresentazioni superficiali implicite. Nelle tecniche di rappresentazione di confine rappresentiamo oggetti in termini di sue superfici di bounding dove queste superfici di arrotondamento possono essere linee, curve, poligoni, qualsiasi cosa.
La terza tecnica è il metodo di partizionamento spaziale qui, invece di rappresentare un oggetto in termini di limite, quello che facciamo è rappresentare lo spazio occupato da questo oggetto. E tipicamente, usiamo qualche rappresentazione gerarchica sotto forma di alberi, che è più popolarmente chiamato albero partizionamento distanziato. E ci sono molte sottocategorie di tali rappresentazioni, ovvero metodo octree, metodo BSP o metodo di partizionamento binario, metodo di geometria solida costruttiva o metodi CSG.
La quarta tecnica è la rappresentazione sweep, dove non rappresentiamo l'intero oggetto.
Rappresentiamo invece gli oggetti in termini di forma primitiva e di qualche percorso di movimento o di traiettoria. Sono disponibili due tecniche di rappresentazione così spazzate; superficie sweep e superficie di rivoluzione. Un punto interessante su questo tipo di rappresentazione è che qui la rappresentazione stessa contiene un approccio piuttosto che oggetti.
L'approccio è come spostare la superficie primitiva lungo un percorso o intorno ad un asse. Ora, al di là di queste ampie quattro categorie, ci sono altre rappresentazioni disponibili che sono applicative specifiche, a volte sono possibili anche alcune tecniche specifiche, ovvero i grafici di scena, il modello scheletrico e la modellazione avanzata, ovvero i frattali o i sistemi di particelle.
Ora, tra queste categorie nelle lezioni successive, discuteremo nel dettaglio queste due categorie; la rappresentazione di confine e la rappresentazione di partizionamento spaziale. Nelle tecniche di rappresentazione di confine discuteremo in qualche dettaglio tutte queste tre sottocategorie, mentre nel metodo di partizionamento dello spazio discuteremo in qualche dettaglio queste tre sottocategorie.
E nella rappresentazione di confine impareremo una tecnica di rappresentazione specifica, ovvero la rappresentazione spline, molto popolare nel rappresentare forme complesse nella grafica.
Qualunque cosa abbia discusso oggi è solo l'introduzione alle tecniche di rappresentazione degli oggetti, varie tecniche disponibili a rappresentare oggetti. In seguito, poche lezioni saranno dedicate ai dettagli di queste tecniche.