Loading
Note di Apprendimento
Study Reminders
Support
Text Version

Tecniche Di Rappresentazione Limite

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 benvenuti a lezione numero sei nel corso, computer grafica.
Così, abbiamo iniziato la nostra discussione sulla rappresentazione dell'oggetto 3D, che è la prima fase della pipeline grafica.
Per ricapitolarci, vediamo di nuovo la pipeline. Ci sono 5 tappe ampie. Come mostrato su questo schermo, la prima fase è la rappresentazione dell'oggetto, di cui stiamo attualmente discutendo, le altre tappe che ci occuperemo nelle successive lezioni, ovvero la trasformazione della modellazione, l'illuminazione, la pipeline di visualizzazione e la conversione della scansione.
Un punto che vorrei citare qui è che sebbene in questo corso seguo le fasi di pipeline nel modo indicato qui, in pratica, non è necessario avere questa esatta sequenza. Alcune tappe possono arrivare dopo alcune altre tappe. Ad esempio, l'illuminazione può essere effettuata dopo la visualizzazione della pipeline o in tra alcune delle trasformazioni della pipeline di visualizzazione e così via. Quindi, la sequenza che sto mostrando qui non deve essere seguita esattamente durante l'implementazione di un sistema di grafica. Questo è solo per la nostra comprensione delle fasi coinvolte e la sequenza può variare.
Ora, quello che abbiamo imparato nella lezione precedente, abbiamo ottenuto un'introduzione generale a varie tecniche di presentazione degli oggetti. Quali sono state quelle tecniche di cui abbiamo discusso? Una tecnica è il rendering del campione di punti, poi abbiamo la tecnica di rappresentazione di confine, le tecniche di partizionamento dello spazio e la tecnica di rappresentazione sweep. Queste sono le 4 ampie categorie da noi citate, ognuna delle quali ha una rappresentazione di limite delle sottocategorie, ha tre sottocategorie; rappresentazione di maglia, rappresentazione parametrica e rappresentazione implicita.
Il partizionamento dello spazio ha tre sottocategorie; rappresentazione di ottone, rappresentazione BSP e CSG. BSP spicca per il partizionamento dello spazio binario, mentre CSG spicca la geometria solida computazionale. Nella rappresentazione sweep abbiamo due tecniche; superfici spazzate e superficie di rivoluzione.
A parte queste 4 ampie categorie, abbiamo anche altre rappresentazioni. Alcuni sono specifici applicativi, ci sono alcune tecniche di rappresentazione avanzata generali, ovvero i grafici di scena, i modelli di scheletro, i modelli scheletrici e le tecniche avanzate di modellazione. Ora, nelle avanzate tecniche di modellazione abbiamo molte tecniche di questo tipo, la rappresentazione frattale, il rendering di punti campione, i sistemi di particelle e così via.
Oggi discuteremo nel dettaglio una di quelle tecniche, ovvero le tecniche di rappresentazione di confine. Abbiamo già visto che nelle tecniche di rappresentazione di confine rappresentiamo un oggetto in termini di superfici di bounding o di superfici che ne costituisce il confine. Ora, quelle superfici possono essere semplici poligoni o passaggi complessi.
Ci sono diversi modi per rappresentare queste superfici di bounding. Abbiamo citato tre sottocategorie di rappresentazione; rappresentazione di maglia, rappresentazione implicita e forme parametriche. Così oggi otterremo un'idea introduttiva a tutte queste tre tecniche di rappresentazione.
Iniziamo con la rappresentazione di maglia. Questa è la tecnica più basilare per rappresentare oggetti in una scena, dove usiamo poligoni per rappresentare le superfici. Ora i poligoni in termini sono rappresentati utilizzando liste vertex o edge che memorizzano informazioni su tutti i vertici o i bordi della superficie e il loro rapporto. Per esempio, consideriamo la figura qui, si sta rappresentando un cubo in termini di suoi vertici v1, v2 e così via fino a v7, quindi ci sono 8 vertici. E questa è la rappresentazione dove stiamo memorizzando i vertici con valori di coordinate e alcuni altri valori, catturando le relazioni.
Ad esempio, qui in questa prima fila, ci racconta che v0 è collegato a v1, v3 e v5. Allo stesso modo, ogni vertice memorizza gli altri vertici che, ha una connessione a, questa è una rappresentazione, ci possono essere altri modi per rappresentarlo.
Ora, a volte le superfici non devono essere polinomiali, ma nella rappresentazione di mesh, quello che possiamo fare è approssimare qualsiasi cosa alle maglie poligonali come la figura mostrata qui, qui, questa mano in realtà non contiene alcuna superficie poligonale. Ma questa superficie a mano riesco ad approssimarsi con questo tipo di maglie triangolari dove vengono utilizzati lotti di triangoli per approssimarlo. E ancora, queste maglie sono rappresentate utilizzando elenchi di vertex e edge.
Infatti, la rappresentazione di mesh è la forma più base di rappresentazione qualsiasi altra rappresentazione che potremmo utilizzare verrà infine convertita in mesh rappresentazione alla fine della pipeline prima che gli oggetti vengano resi. Quindi, dobbiamo tenerlo a mente. Quindi, qualunque sia la rappresentazione che usiamo e impareremo nelle discussioni successive, alla fine tutto viene convertito in una rappresentazione di mesh.
Ora c'è una questione importante. Ecco quanti poligoni dovremmo usare per approssimare le superfici? Questa è una domanda molto fondamentale.
Perché più il numero di poligoni, migliore è l'approssimazione, questo è ovvio. Tuttavia, più suddivisione implica anche più memorizzazione e calcolo. Quindi, se possiamo usare tre triangoli per rappresentare una superficie, che (()) (8.37) se usiamo 30 triangoli per rappresentare una superficie, quest' ultima rappresentazione, ovviamente, darà una migliore chiarezza visiva, migliore qualità visiva.
Tuttavia, dato che stiamo aumentando il numero di oggetti o di poligoni nella mesh, ci sarà un corrispondente aumento dello storage perché dobbiamo ora memorizzare vertici per 30 triangoli, che sono (()) (9.08) 3 triangoli oltre a computazioni, perché dobbiamo eseguire suddivisioni ricorsive per creare questa mesh, un numero maggiore di volte, che (()) (9.19) quando abbiamo meno numero di triangoli. Quindi, la creazione di mesh è di calcolo - intensivo e la memorizzazione delle informazioni mesh è anche intensiva di memorizzazione e se aumentiamo entrambi, allora entrambe le necessità devono essere prese in considerazione.
Quindi, c'è un trade-off e quello che dobbiamo fare è ottimizzare la complessità spazio e temporale mantenendo la qualità accettabile, qualità della rappresentazione accettabile. Ora come decidere come bilanciare questo tradeoff? La risposta dipende dall'applicazione e dalle risorse disponibili.
A seconda delle risorse e a seconda di ciò che dobbiamo rendere possiamo scegliere il giusto valore per il numero di suddivisioni richieste e così come il numero di poligoni. Saremo per approssimare una superficie con una maglia. Vale a dire la rappresentazione di mesh.
Successivamente passiamo alle altre due rappresentazioni, implicite e rappresentazioni parametriche.
Ora, sebbene dicessimo che la rappresentazione di mesh è il tipo di rappresentazione più fondamentale, per uno sviluppatore non è necessariamente una modalità di rappresentazione molto conveniente perché per le superfici complesse, prima di tutto, è molto difficile stabilire quanti poligoni debbano essere utilizzati per creare una mesh. In secondo luogo, è molto macchinoso enumerare tutti i vertici della maglia.
Se il numero di poligoni nella mesh o il numero di maglie che utilizziamo è grande, che è probabile che sia il caso in qualsiasi applicazione pratica. Quindi, quello che è richiesto è qualche compromesso e qualche modo per aiutare lo sviluppatore a definire gli oggetti senza disturbare troppo o passare troppo tempo a definire le maglie.
Così, designer o sviluppatori amano utilizzare rappresentazioni che mimico oggetto reale piuttosto che la sua approssimazione. Questo mette in scena alcune rappresentazioni di alto livello, tecniche di rappresentazione, per superfici curvi. Ora queste tecniche rischiano di rappresentare superfici curate più accuratamente e convenientemente per il progettista, queste non sono approssimazioni, piuttosto più vicine alle rappresentazioni reali.
Quindi, le rappresentazioni implicite e parametriche sono essenzialmente quelle tipo di rappresentazioni dove è più conveniente e rappresenta oggetti in modo più accurato piuttosto che approssimare gli oggetti. Ora, iniziamo con la rappresentazione implicita. Quindi, in questo caso le superfici sono definite in termini di forma funzionale implicita, alcune equazioni matematiche. In caso di rappresentazione parametrica, i punti di superficie sono definiti nello spazio euclideo in termini di alcuni parametri, di nuovo sotto forma di alcune equazioni matematiche.
Ora, vediamo qualche esempio che sono popolarmente utilizzati nella grafica. Iniziamo da superfici quadranti.
Si tratta di una classe di oggetti spesso utilizzati in grafica che sono rappresentati utilizzando il modulo implicito o parametrico. E questo termine superfici quadriche si riferisce a quegli oggetti, che o la cui superficie sono descritti con equazioni di secondo grado o equazioni quadratiche.
Ad esempio, le sfere, queste sono molto comunemente usate. In forma implicita possiamo rappresentare una superficie sferica con raggio r e, che è centrata all'origine come. Quindi, questa equazione possiamo usare per rappresentare implicitamente una sfera. La stessa sfera può essere rappresentata parametricamente anche utilizzando questo modulo dove gli angoli e i phi dei parametri che rappresentano gli angoli di latitudine e longitudine come mostrato in questa figura qui, questo è l'angolo di latitudine e questo è l'angolo longitudine. E questo p è un punto su questa sfera, che viene rappresentata utilizzando i parametri.
Analogamente, possiamo rappresentare ellissoide anche in forma implicita come mostrato qui o in forma parametrica come mostrato qui. Questa è un'altra superficie quadrata ampiamente utilizzata. Ci sono molti altri esempi come Tori, paraboloidi e iperboloidi. Alcune altre superfici quadriche ampiamente utilizzate nelle applicazioni grafiche.
Una classe interessante di oggetti sono chiamati oggetti blobby. Ci sono alcuni oggetti per i quali le loro forme mostrano un certo grado di fluidità o flessibilità, questo significa che la forma oggetto cambia durante il movimento o quando si avvicina ad altri oggetti. Generalmente questi oggetti hanno superfici curate, ma non possiamo usare forme standard come linee, polinomi o quadratari, equazioni quadratiche o quadranti per rappresentare queste forme perché queste equazioni o forme standard non riescono a rappresentare la fluidità superficiale in modo realistico. Quindi, abbiamo oggetti che mostrano una certa fluidità, le cui superfici sono rappresentate utilizzando alcune curve, ma quelle curve non possiamo rappresentare usando linea o polinomi o quadricipiti perché poi perderemo la natura fluidica.
Ora tali oggetti generalmente sono indicati come oggetti di blobby come le strutture molecolari, le goccioline di liquido e d'acqua, gli oggetti di fusione, le forme muscolari animali e umane e così via, questi sono alcuni esempi che ci sono anche molti altri esempi. Ci sono diversi metodi per rappresentare oggetti di blobby. In tutto, c'è un approccio comune essenzialmente per utilizzare una qualche funzione di distribuzione di oltre una regione dello spazio.
Un metodo è quello di utilizzare una combinazione di funzioni di densità gaussiana o talvolta chiamate bumps gaussiane. Un esempio viene mostrato qui di una funzione di densità gaussiana, è caratterizzato da due parametri, altezza e deviazione standard come mostrato nella figura. Ora, quando si combinano molte funzioni tali variando i due parametri, più alcuni altri parametri, otteniamo un oggetto blobby o possiamo rappresentare un oggetto blobby. Quindi, l'oggetto può essere rappresentato con una funzione del genere. Soggetto alla condizione qui indicata. Ora variando i parametri, ak e bk possiamo generare quantità desiderata di blobby-ness o fluidità che richiediamo. Ora, quando il bk diventa negativo, poi ci sono gli studenti invece di bumps e T è una qualche soglia specificata.
Un esempio viene mostrato qui dove abbiamo usato tre funzioni di densità gaussiana variando i parametri per creare una forma complessiva, una cosa del genere come mostrato in questa puntata. C'è un altro metodo interessante per usare gli oggetti blobby. Questo è anche abbastanza popolare dove si usa una funzione di densità quadratica invece di botti gaussiani.
Che assomiglia a qualcosa come questo b è il fattore scaling, r è il raggio dell'oggetto e d è il raggio massimo, d è il legato sulla diffusione dell'oggetto intorno al suo centro. Quindi fino a che punto l'oggetto è vincolato intorno al centro è specificato da d. Ecco, questi tre sono i parametri che utilizzano i quali possiamo definire un oggetto blobby in questo modello metaball.
Ecco, queste sono alcune tecniche che abbiamo discusso, tuttavia è molto difficile o addirittura impossibile rappresentare qualsiasi superficie arbitraria sia in forma implicita o parametrica. Le funzioni che abbiamo già visto sono piuttosto complesse in se stesse. Ma ancora, ci sono altre superfici che possono rivelarsi molto difficili, che sono effettivamente molto difficili da rappresentare utilizzando tali equazioni.
Così, per rappresentare tali superfici, utilizziamo un tipo speciale di rappresentazione parametrica chiamata spline rappresentazione o spline. Ora queste spline discuteremo in più dettagli nella prossima lezione.
Così oggi abbiamo ottenuto un'introduzione a varie tecniche di rappresentazione di confine, così abbiamo appreso della rappresentazione di mesh, abbiamo appreso dell'idea di base delle tecniche di rappresentazione implicita e parametrica con qualche discussione dettagliata su superfici quadriche e oggetti blobby.