• Non ci sono risultati.

Capitolo 2: MODELLAZIONE DI AMBIENTI URBANI VIRTUALI

N/A
N/A
Protected

Academic year: 2021

Condividi "Capitolo 2: MODELLAZIONE DI AMBIENTI URBANI VIRTUALI"

Copied!
25
0
0

Testo completo

(1)

Capitolo 2:

MODELLAZIONE DI AMBIENTI URBANI

VIRTUALI

Uno dei problemi principali nello sviluppo di un modello tridimensionale urbano è costituito dalla fase di analisi dei requisiti e, di conseguenza, dal processo di analisi delle possibili tecniche da adottare. Questo aspetto riveste una grande importanza in quanto obbliga nelle fasi successive al mantenimento di una linea generale che difficilmente può essere cambiata nelle fasi che seguono.

Le tecniche di modellazione in computer grafica hanno subito una significativa evoluzione negli ultimi anni: i modelli poligonali, costituiti dalla combinazione di elementi semplici come linee e punti, si trovano ad un livello di astrazione troppo basso per la rappresentazione di oggetti complessi ed articolati (di cui gli ambienti urbani sono un esempio) e quindi si sono sviluppate tecniche a più alto livello in grado di effettuare astrazioni a livello superiore. Lo scopo di questo tipo di tecniche è quello di fornire un efficiente, flessibile e controllabile meccanismo per modellare oggetti complessi, ricreando ambienti di larga scala. In letteratura esistono diversi approcci per la modellazione di ambienti urbani [STAMOS1], [STAMOS2], [TADA]

che vengono classificati a seconda dell’entità dell’apporto manuale al processo:

• Tecniche di modellazione manuali, in cui il modellatore deve preventivamente raccogliere una serie di dati (fotografici, video, planimetrici) al fine di generare il modello tridimensionale

• Tecniche di modellazione semi-automatiche, in cui il modellatore, a partire da dati in input, crea il modello incrociando dati reali con altri, realistici, generati

(2)

• Tecniche di modellazione automatiche, secondo le quali l’applicazione, unicamente con l’ausilio dei dati iniziali e di una serie di regole, riesce a generare il modello finale.

Sul web, il principale punto di riferimento per la modellazione di ambienti urbani è il Virtual Terrain Project (VTP), il quale sin dal 1998 ospita articoli, immagini e strumenti software per “promuovere la creazione di strumenti che permettano la creazione di ambienti reali digitalizzati in 3D” [VTP]. Questo progetto richiede quindi l’uso di strumenti CAD, GIS, e Realtà Virtuale. VTP raccoglie informazioni e tiene traccia dei progressi in aree quali la costruzione procedurale di scene, l’estrazione di informazioni, e una serie di algoritmi di rendering. Inoltre ospita e supporta un insieme di strumenti software fra cui spicca un runtime environment interattivo. Le applicazioni e il relativo codice sorgente vengono condivisi liberamente per accelerare il processo di sviluppo delle tecnologie necessarie. VTP si occupa inoltre della generazione e del rendering di vegetazione e virtual terrains. Una sezione speciale si occupa della generazione procedurale di edifici e blocchi condominiali. Attualmente il progetto è ancora lontano dal proporre un approccio globale che racchiuda tutte le idee, gli algoritmi e gli applicativi prodotti. Comunque sia, al momento VTP rimane uno dei più interessanti progetti in questo settore.

Di seguito, viene presentata una panoramica degli approcci presentati in letteratura riconducibili al problema della modellazione degli ambienti urbani. Di ciascuna tecnica vengono presentate le linee generali ed alcuni esempi degli algoritmi proposti in letteratura per la loro implementazione.

2.1. Tecniche manuali di modellazione

In questo insieme vengono raggruppate quelle tecniche che fanno uso in generale di strumenti software di CAD 3D presenti in commercio. Il modellatore, scegliendo questo tipo di approccio, deve essere in grado di reperire tutta una serie di dati in modo da poter riprodurre fedelmente gli oggetti reali. In [ROTH] viene indicato come la tipologia dei dati da reperire è tanto più varia quanto più è vasta l’area da riprodurre e può essere raggruppata in:

(3)

• Dati 2D, come fotografie, video, planimetrie o dati catastali che servono a dare un’impronta generale al modello e ad estrapolare le texture che verranno successivamente mappate sugli oggetti

• Dati 3D, come rilievi aerei tridimensionali o scansioni con laser 3D di edifici che servono a creare in modo particolareggiato i singoli elementi che andranno a comporre il modello finale.

Se da una parte, quindi, il processo di acquisizione dei dati è molto complesso e deve essere effettuato in maniera estremamente precisa [BERAL], rendendo talvolta necessaria la catalogazione le informazioni ottenute in strutture complesse ed articolate come le basi di dati, dall’altra i risultati del processo di modellazione possono essere anche molto vicini alla realtà, ma al prezzo della difficile gestione del modello, per la mole di dati memorizzati. Queste caratteristiche ne rendono molto spesso proibitivo l’uso in applicazioni distribuite tra utenti in remoto. In [figura 2.1] sono schematizzate le fasi del processo di modellazione manuale. Si noti come la fase di acquisizione dei dati costituisca un input sia per la fase di generazione del modello dal punto di vista geometrico, sia per la fase di acquisizione e di generazione delle texture.

Quest’ultimo stadio infatti si occupa di estrapolare e/o di generare, attraverso procedure di vario genere, le texture che andranno mappate sul singolo oggetto tridimensionale. Nell’’ultima fase ci si occupa di contestualizzare l’oggetto ottenuto all’interno di una scena preesistente o creata ex-novo.

(4)

2.1.1.

Metodologie di acquisizione dei dati

Per poter disporre di modelli digitali tridimensionali che rappresentino fedelmente la forma e le caratteristiche di colore di oggetti reali (ad esempio nella modellazione di opere architettoniche, ma anche in svariati altri contesti) è di fondamentale importanza utilizzare un insieme di strumentazioni che permettano l’acquisizione di questo tipo di dati. Gli approcci utilizzati in questo campo possono essere classificati in:

• Tecniche di acquisizione tradizionali

• Tecniche di acquisizione tramite scannerizzazione

Nella prima tipologia di tecniche rientrano tutte quelle metodologie che fanno uso di strumenti tradizionali, come ad esempio macchine fotografiche o videocamere, in grado di acquisire dati bidimensionali. Nella seconda classe di tecniche invece rientrano strumenti che permettono la rilevazione mediante principi di riflessione e di specularità, facendo uso di tecnologie più avanzate, ad esempio basate sul laser. Le classiche tecniche di modellazione assistita (CAD) sono state affiancate negli ultimi anni da una metodologia semi-automatica, detta comunemente 3D scanning [figura 2.2], che ha cambiato l’usuale approccio alla modellazione grazie all’introduzione di questa nuova classe di dispositivi di rilevazione automatica delle caratteristiche di forma e, talvolta, di colore.

(5)

Il principale svantaggio apportato dall’utilizzo di strumenti facenti parte della prima classe è quello rappresentato dal fatto che risulta necessario introdurre una fase precedente a quella di raccolta dei dati che consiste nella calibrazione degli strumenti stessi. Successivamente alla fase di acquisizione poi occorre inserire un’ulteriore fase in cui si opera una fusione dei dati ottenuti e si procede manualmente a generare i dati tridimensionali. Nel caso degli scanner invece queste fasi non fanno parte del processo di acquisizione dei dati, in quanto questa avviene in modo automatico senza bisogno di interventi da parte di operatori esterni.

2.1.2.

Metodologie di modellazione manuale

La fase di modellazione vera e propria è un’attività di progetto che è normalmente assistita da strumenti software [MACMAHON]. Una possibile classificazione tra questi si può effettuare in base alla metodologia di gestione dei modelli geometrici.

a – Archicad b – Autodesk Revit

figura 2.3 - Esempi di applicazioni CAD

Le due principali classi di modellatori 3D secondo questa classificazione, sono quelli denominati poligonali, che fanno uso di mesh triangolari e quelli che fanno uso di NURBS (Non Uniform Rational B-Splines). Le NURBS sono una classe di curve geometriche utilizzate in computer grafica per rappresentare curve e superfici. [PIEGL]

La prima metodologia consiste nell'usare come primitive fondamentali dei reticoli poligonali (mesh) che vengono usati per il rendering, l'animazione o il design concettuale. Sebbene i modellatori poligonali offrano modelli di alto livello per la creazione di elementi curvi (solidi

(6)

come le sfere, cilindri o anche NURBS), in realtà di fatto tali modelli vengono convertiti in mesh. Le mesh sono intrinsicamente inaccurate per la modellazione di superfici curve, dato che sono costituite da una collezione di triangoli piani. Questa metodologia è adatta nella maggior parte dei rendering, delle animazioni e dei giochi ma non per la produzione industriale.

La seconda metodologia si avvale invece delle NURBS [figura 2.4]. La maggior parte dei programmi CAD (Computer Aided Design) rappresentano forme free-form (oggetti le cui superfici non appartengono a classi facilmente categorizzabili come superfici piane o quadriche) mediante NURBS. I prodotti che usano le NURBS possono potenzialmente rappresentare delle forme free-form con una accuratezza sufficiente per qualunque applicazione, anche la più esigente, qualora l'implementazione delle NURBS sia opportuna. Se l'obiettivo primario di un'applicazione è il design meccanico e non la creazione di forme free- form, è possibile che l'implementazione NURBS sia meno robusta di quella richiesta nel caso in cui si debbano creare forme free-form. Ciò è tipico nei modellatori di solidi parametrici basati su caratteristiche a medio raggio e che sono attualmente molto popolari.

figura 2.4 - Esempio di modellazione NURBS

Un’altra possibile classificazione dei sistemi CAD di modellazione di oggetti tridimensionali si basa sui tipi di rappresentazione del solido. Essi possono essere infatti descritti tramite una rappresentazione CSG o una rappresentazione B-Rep. Tali rappresentazioni sono differenti tra loro sia nell’approccio al modello sia nella struttura del database generato.

(7)

La rappresentazione CSG (Constructive Solid Geometry) ha un approccio al modello di tipo geometrico, definendolo attraverso la forma, le dimensioni e la posizione nello spazio di entità geometriche solide elementari denominate primitive canoniche. Su tali primitive canoniche è possibile eseguire operazioni booleane di unione, intersezione, sottrazione [figura 2.5] che permettono di combinare opportunamente le primitive geometriche tra loro per ottenere modelli composti; le operazioni, denominate eventi, sono memorizzati in una struttura gerarchica ad albero (event tree). La modellazione CSG, pur essendo intuitiva da realizzarsi e computazionalmente leggera, risulta tuttavia limitata nella creazione di forme non definibili attraverso primitive canoniche. Nella rappresentazione B-Rep (Boundary Representation) il solido viene definito attraverso gli elementi di contorno racchiudenti il volume: ciò si ottiene rappresentando separatamente le entità geometriche e le entità topologiche. Le entità topologiche possono essere distinte in entità primarie, associate a entità geometriche, ed entità secondarie, costituite da collezioni di entità primarie tra loro in relazione.

figura 2.5 - Esempi di modellazione CSG: intersezione, unione e sottrazione di una sfera e di un cilindro

Un approccio che non rientra nelle precedenti classificazioni è la modellazione CAD parametrica, presentata in [BOULANG]. Essa permette al designer d'incorporare, nel progetto, un’ampia tipologia d'informazioni, durante il processo d’elaborazione. In effetti, l'azione progettuale diviene simile alla costruzione di un database di "azioni". Queste, conservate nello “storico” del progetto, possono essere rimaneggiate e modificate facilmente. Le modalità di connessione tra le diverse informazioni consentono, infatti, la rielaborazione e la revisione continua del processo progettuale, facendo del CAD parametrico uno strumento più duttile rispetto a quelli tradizionali. L'ambito in cui, originariamente, fu introdotto questo tipo di CAD, è quello del disegno industriale (la progettazione meccanica) ed è inutile sottolineare come la trasposizione di tecniche da una disciplina all'altra (per esempio dal disegno

(8)

industriale all'architettura), richieda un certo tempo e notevoli sforzi. Nel complesso la principale conseguenza delle evoluzioni tecniche sopra descritte sembra riguardare un approccio nuovo alla progettazione, improntato verso la simulazione come struttura concettuale, invece di una definizione dello spazio principalmente indirizzata verso la geometria.

figura 2.6 - Esempio di CAD parametrico: T-FLEX

2.2. Tecniche di modellazione semiautomatiche

In questa categoria rientrano le tecniche che sono caratterizzate dalla fusione di fasi proprie della modellazione manuale con fasi automatizzate di elaborazione dei dati per la generazione del modello finale. Anche in questo caso il processo elaborativo può essere suddiviso in fasi sequenziali:

• Fase di raccolta (con ausili disomogenei: videocamere, macchine fotografiche, scanner 3D ecc)

• Analisi delle informazioni ottenute e creazione manuale di un primo modello

• Fase di raffinamento e generazione del modello finale

Questo tipo di tecniche hanno come vantaggio la riduzione della mole di informazioni da raccogliere ed elaborare durante la prima fase sopra descritta. Questa caratteristica è dovuta al fatto che il sistema sarà in grado, nelle fasi successive, di ricreare l’ambiente seguendo una

(9)

serie di regole e vincoli che vengono introdotti proprio allo scopo di creare un certo automatismo nel processo di riproduzione dell’ambiente.

In letteratura vi sono numerosi esempi di tecniche semi-automatiche per la generazione di modelli tridimensionali relativi ad ambienti urbani. Vermeij introduce ad esempio, una procedura [VERMEIJ] per la ricostruzione di edifici, ad uso sia abitativo che commerciale, a partire da immagini aeree e da un Digital Terrain Model (DTM) [par. 3.4.2].

a b

figura 2.7 - Fasi successive del sistema sviluppato da Vermeij

La metodologia proposta è basata sulla disposizione manuale dei punti essenziali della singola costruzione (vertici dei tetti e delle facciate) attraverso il sistema Softplotter [figura 2.7 a] e, successivamente, sull’elaborazione automatica della forma completa della costruzione stessa [figura 2.7 b]. L’aspetto saliente dell’applicazione è il modulo software che si occupa della ricostruzione tridimensionale a partire dai dati inseriti. La parte manuale del processo consiste, quindi, nella misurazione degli angoli tra i vertici inseriti, mentre la parte automatica è costituita sia dalla proiezione di questi punti, tenendo conto del DTM, sia della costruzione delle varie facciate del modello.

Shum [SHUM], invece, ha sviluppato un lavoro che presenta un sistema per la modellazione interattiva di modelli 3D a partire da un insieme di mosaici di immagini panoramiche. Un mosaico di immagini panoramiche è formato da un insieme di immagini prese intorno allo stesso punto di vista e dalla matrice associata ad ognuna di esse.

(10)

figura 2.8 - Esempio di fotografie utilizzate nel sistema sviluppato da Shum

Una volta raccolte le immagini relative allo stesso punto di vista, queste vengono unite formandone un’unica di grandi dimensioni. Il sistema per prima cosa recupera la posizione della camera relativa ad ogni mosaico a partire dalle direzioni e dai vertici ottenuti e, successivamente, costruisce il modello 3D usando tutte le informazioni ed i vincoli geometrici estrapolati dai mosaici stessi. I vincoli vengono classificati in vincoli hard e soft a seconda della loro importanza. I primi vincoli, infatti, dettano delle forti condizioni sulla generazione e sullo sviluppo del modello tridimensionale (possono essere rappresentati ad esempio la presenza nell’area urbana considerata di un fiume o dall’attraversamento di una rete ferroviaria), mentre i vincoli del secondo tipo sono considerati di tipo meno restrittivo (ad esempio la presenza di parchi ed aree verdi che in generale però possono essere eliminate per lasciare posto ad aree edificabili).La principale innovazione di questo lavoro è rappresentata dall’uso di immagini a tutto campo invece di tante piccole immagini.

(11)

figura 2.9 - Modello 3D generato e texturizzato a partire dalle fotografie precedenti

Il metodo di modellazione semi-automatica proposta da Koch [KOCH] opera attraverso una sequenza di immagini monoculari non calibrate. Per costruire il modello tridimensionale dell’ambiente non è necessaria nessuna conoscenza a priori della scena o delle proprietà riguardanti la camera che raccoglie le viste. Le uniche assunzioni fatte sono relative alla rigidità degli oggetti che compongono la scena e all’opacità delle superfici che li compongono. Il sistema di modellazione usa un approccio composto da tre fasi essenziali:

• Posizionamento della camera e calibratura dei parametri intrinseci dettando le caratteristiche salienti della sequenza di immagini da riprendere

Unione delle immagini relative allo stesso punto di vista ed elaborazione delle mappe di corrispondenza per l’area considerata. Le mappe di corrispondenza servono a rappresentare in modo schematico le relazioni che legano gli oggetti appartenenti alla determinata porzione di ambiente urbano.

• Unione delle mappe di corrispondenza relative ai vari punti di vista al fine di creare una visione completa della scena, tanto da generare una serie di mesh di triangoli che vengono in un secondo momento texturizzate per ottenere un aspetto fotorealistico del modello.

Un esempio originale di applicazione di tecniche semi- automatiche è stato sviluppato al Dipartimento di Informatica dell’Università di New York da Allen [ALLEN] ed ha come principale scopo l’automatizzazione del processo di modellazione di ambienti urbani.

(12)

figura 2.10 – AVENUE - Il robot per l’acquisizione dei dati e la sua interfaccia utente

La prima componente del sistema denominato AVENUE (Automated Site Modeling in Urban Environments) è un sistema completo per la costruzione di modelli tridimensionali geometrici con texture fotorealistiche acquisite da differenti punti di vista. Questa componente è coadiuvata da una seconda componente che è rappresentata dal sistema di progettazione che si occupa di pianificare una successiva vista per ottenere il modello dell’area e da una terza componente che è costituita da un robot mobile contenente una gamma di sensori integrati per permettere la modellazione automatica della porzione di ambiente urbano. Lo scopo del lavoro presentato è quindi quello di avere un sistema capace di navigare in modo autonomo all’interno dell’area da modellare e di creare un completo modello dell’area stessa. Questo tipo di approccio si occupa quindi nel dettaglio di risolvere una serie di problematiche:

• La fusione delle viste della stessa scena dai diversi viewpoint al fine di riprodurre un modello consistente

• L’integrazione delle proprietà fotometriche della scena con la geometria sottostante del modello al fine di riprodurre un effetto realistico

Gli ultimi due esempi di modellazione semiautomatica di ambienti urbani, presentano un approccio simile al problema, seppur sfruttando dati in input complementari. L’applicazione implementata da P. Florio per il laboratorio PERCRO [FLORIO], permette all’utente, attraverso un editor visuale, di tracciare una rete viaria ricalcandola direttamente da una mappa pre-esistente e di assegnare ad ogni strada diversi gradi di “importanza”. Il sistema automaticamente calcola l’ampiezza di ogni singola strada, risolve i problemi relativi ad incroci di strade di diversa ampiezza (che generano altrimenti problemi relativi alla

(13)

texturizzazione), disloca la segnaletica sia orizzontale che verticale e individua i diversi isolati a seconda dei cicli presenti nel grafo assimilabile alla rete viaria.

figura 2.11 - Interfaccia e visualizzazione di un ambiente urbano nell'applicazione realizzata da P. Florio

L’applicazione Street Generation, [DECORET] realizzata da Decorét e Sillion, prende invece in input la dislocazione precisa degli edifici e dei blocchi condominiali (anche in questo caso attraverso interfaccia, ricalcando mappe pre-esistenti). Basandosi poi sull’idea che una strada mantiene invariata la distanza fra gli edifici a destra e sinistra della carreggiata, calcola lo skeleton [par. 3.2.2] e la larghezza di ogni segmento stradale. Una volta ricostruita la rete stradale opera poi similmente a Florio.

(14)

2.3. Tecniche di modellazione automatiche

Le tecniche automatiche hanno come caratteristica saliente il fatto che l’utente altro non deve che inserire una serie di parametri e di leggi che regolano l’ambiente urbano per ottenere in output dal sistema il modello definitivo. In [EBERT] viene specificato come esse possono essere anche denominate procedurali in quanto frammenti di codice ed algoritmi vari sono usati per astrarre e decodificare i dettagli del modello, evitando di definire e memorizzare esplicitamente un gran numero di primitive geometriche che ne costituiscono la struttura a basso livello. Questo aspetto introduce appunto il concetto di automatismo all’interno del processo di modellazione e, quindi, ha come conseguenza essenziale il fatto che il tempo richiesto per la specifica dei dettagli del modello non viene calcolato sulla base del lavoro svolto dal modellatore, ma considerando il tempo richiesto dalla procedura per elaborare i dati in input e fornire il modello stesso in output.

I vantaggi apportati da questo approccio sono molteplici e si distinguono in:

Astrazione: al posto di specificare esplicitamente tutti i dettagli complessi della scena o di una porzione di essa, usando questo approccio si procede ad astrarre mettendoli all’interno di una funzione o di un algoritmo (ad esempio una procedura) che può essere valutata soltanto al momento in cui si utilizza

Controllo parametrico: questo approccio dà la possibilità di assegnare ad un parametro un concetto significativo (ad esempio ad una variabile numerica è possibile associare il numero di palazzi che compongono ogni isolato). Questo permette di controllare anche il livello di dettaglio di un modello: un insieme di parametri più ampio infatti genera un modello più dettagliato rispetto a quello generato da un insieme ristretto.

Flessibilità: questa tipologia di tecniche infatti essendo basata sul concetto di classi e di procedure, permette di catturare l’essenza di un oggetto, fenomeno o movimento all’interno dell’ambiente senza essere costretti ad esplicitare complesse leggi fisiche o altri leggi che li regolano.

(15)

A questi vantaggi corrispondono una serie di svantaggi come ad esempio il fatto che non sempre il controllo parametrico ha una facile gestione: perturbazioni anche minime dei valori dei parametri possono talvolta avere conseguenze non immediatamente valutabili e causare problemi di non facile risoluzione. Anche la possibilità di astrarre ha come svantaggio l’introduzione di una fase di analisi dettagliata di tutti gli aspetti di un ambiente, analisi che permette di ottenere una classificazione seppur indicativa in base all’importanza che ognuno di essi ha all’interno del modello.

Esistono molteplici tipologie di tecniche che sviluppano l’approccio procedurale per la modellazione, ma alcune di esse non trovano applicazione nel campo della modellazione di ambienti urbani. Rientrano in questo campo, invece, le tecniche procedurali per la modellazione frattale e quelle per la modellazione basata sulle grammatiche che verranno di seguito presentate con eventuali algoritmi presenti in letteratura per la loro implementazione.

2.3.1.

Modellazione frattale

I frattali hanno una precisa definizione matematica, ma la loro definizione è stata estesa in computer grafica per indicare generalmente i modelli con un grande grado di similitudine: parti del modello infatti appaiono come versioni scalate, traslate e rotate di un oggetto considerato originario. Questo approccio è stato sviluppato in computer grafica a partire dagli anni ’50 fino agli anni ’80 da Mandelbrot. Egli definisce un frattale come “un oggetto geometrico complesso, la cui complessità dipende dalla ripetizione di una determinata forma in diverse scalature” [MANDEL]. Questa caratteristica è propria di molti oggetti appartenenti al mondo naturale, come ad esempio i profili delle montagne, delle coste, la struttura degli alberi ed, in generale, delle piante. La filosofia di base che sta dietro a questo concetto è che il mondo naturale, pur essendo apparentemente caotico, discontinuo ed irregolare nella sue forme fisiche, sotto opportune semplificazioni ed astrazioni, può essere reso regolare da una serie di leggi. Questo significa in definitiva che secondo Mandelbrot il mondo può essere visto come un grosso frattale.

(16)

figura 2.13 - Costruzione della curva di Koch: in modo deterministico (sin.) e randomizzato (des.)

I frattali possono essere classificati in deterministici e in non-deterministici (o casuali). In generale, ai fini della modellazione procedurale, vengono utilizzati quelli appartenenti alla seconda classificazione, in particolar modo per la generazione di modelli di territori. Entrambi le tipologie di frattali comunque si basano sui concetti di suddivisione ricorsiva dell’oggetto stesso, o di parti di esso, e di applicazioni di determinate leggi di sostituzione per un numero finito di volte. In [figura 2.13] sono riportati due esempi semplificati di applicazione dei due tipi di frattali ad un stesso oggetto di partenza: nella figura a sinistra viene presentato una singola regola di sostituzione di una parte di oggetto che quindi fa sì che il risultato sia deterministico. Nell’immagine a destra, invece, si mostra come, fornendo più di un’alternativa (nell’esempio due) per la sostituzione, l’oggetto che ne deriva non solo perde la sua simmetria, ma assume aspetti sempre differenti applicando le regole in un ordine diverso. Viene quindi introdotta la componente casuale che permette di ricreare in modo semplice una molteplicità di oggetti diversi.

Negli ultimi anni però si è cercato di utilizzare questo approccio anche per la rappresentazione di altri tipi di fenomeni e dei modelli da loro derivanti. Lo studio effettuato da Batty e Longley [BATTY94], [BATTY91], [BATTY76] e [BATTY99] pone l’attenzione sul fatto che, in definitiva,

(17)

anche la forma delle città può essere approssimata da un frattale non deterministico. In particolar modo il profilo perimetrale di ogni città è ciò che ne definisce la forma geografica. Nelle loro pubblicazioni gli autori si sono occupati di dimostrare questa teoria attraverso il calcolo del frattale che meglio approssimasse la dimensione di varie città e paesi (tra le quali la città di Cardiff assume una particolare rilevanza perché portata come esempio esplicativo). Successivamente hanno confrontato i risultati ottenuti con misurazioni effettuate da altri studiosi. Nel caso di Cardiff, hanno inoltre esaminato il cambiamento della forma della città attraverso il tempo utilizzando i singoli frattali ottenuti. Questi sono stati generati servendosi di mappe e di fotografie aeree (nel caso delle viste odierne) e sono stati successivamente confrontati per mettere in evidenza la trasformazione che la città ha subito. I confronti sono stati effettuati tenendo presente anche alcuni aspetti socio-economici che hanno influenzato, tra il XIX secolo e la prima metà del XX, l’espandersi dei confini e delle periferie in modo più o meno rapido.

(18)

In [figura 2.14] è mostrato il metodo attraverso il quale si ottiene il frattale della dimensione della città. Nell’immagine la regola che risulta essere applicata è quella illustrata in [figura 2.15]: si considera un segmento, si procede ad una suddivisione in un numero arbitrario di segmenti più piccoli (questo numero dipende dal grado di approssimazione che si desidera avere del perimetro della città) e si calcola la distanza tra i due vertici del primo nuovo segmento. Successivamente, si interseca il cerchio avente come centro il primo vertice del primo segmento e raggio la lunghezza del nuovo segmento, con il segmento originario e si effettua una rotazione e una traslazione eliminando la parte relativa al segmento nuovo e rimpiazzandolo come suggerisce la regola di sostituzione. Il procedimento viene iterato fino a quando non viene riprodotto l’intero perimetro della città.

figura 2.15 - Particolare dell'applicazione del dividers method

2.3.2.

Modellazione basata sulle grammatiche

In passato questo tipo di modellazione procedurale è stato principalmente utilizzato per la creazione di modelli realistici di elementi naturali, come alberi, piante e conchiglie. Nel corso degli anni, poi, questo approccio si è evoluto al punto di ricreare animazioni riguardanti lo sviluppo del singolo albero a partire dal germoglio, sulla base di regole e parametri riguardanti sia la crescita della specie a cui esso appartiene (regole generiche) e sia gli effetti ambientali e fisici che dipendono dalle condizioni a cui il determinato albero è sottoposto (regole dell’istanza). Un altro utilizzo riguarda la creazione di modelli di maggiore complessità di ambienti più vasti quali ad esempio intere foreste con diverse istanze di

(19)

un’unica specie di albero. Solo da pochi anni questo tipo di modellazione ha iniziato ad essere utilizzato per la riproduzione di ambienti urbani di larga scala [ALEX]. La modellazione basata sulle grammatiche è caratterizzata dall’utilizzo di linguaggi formali e grammatiche che generano grafi di tipo gerarchico.

Una sottoclasse particolarmente importante delle tecniche procedurali basate sulle grammatiche è rappresentata dalle tecniche che fanno uso delle grammatiche L-system. Le grammatiche L-system prendono nome da colui che le ha inventate, ovvero Aristid Lindenmayer [LIND], che nel 1968 sviluppò questo formalismo per rappresentare le forme assunte da elementi naturali. Le tecniche procedurali in genere, infatti, sono utilizzate per modellare dettagli, ma una elaborazione efficiente e la fase di rendering della scena richiedono un insieme di dettagli geometrici che devono necessariamente essere organizzati e catalogati in una struttura dati gerarchica di dimensioni ragionevoli. Le grammatiche L-system sono linguaggi formali che prevedono che tutte le regole siano applicate in parallelo per ottenere un risultato finale in grado di descrivere il determinato oggetto. L’idea di base è quella di un sistema di riscrittura di simboli: a partire da una stringa iniziale, l’insieme di regole (produzioni) permette il rimpiazzamento dei simboli non terminali con una stringa di zero o più caratteri, fino al raggiungimento una nuova stringa costituita unicamente da simboli terminali. Questi ultimi rappresentano in realtà una parte dell’oggetto o un comando direzionale che nelle fasi successive del processo di modellazione vengono interpretati da un meccanismo di scrittura tridimensionale (turtle graphics). La stringa finale quindi può essere rappresentata in maniera visiva attraverso un apposito grafo della scena dove, ad esempio nel caso di modellazione di un albero, sono contenute informazioni riguardanti i singoli rami, la loro lunghezza, dimensione, l’angolo di incidenza con il tronco, oppure le loro connessioni con gli altri elementi che compongono la struttura dell’albero stesso. La fase di renderizzazione viene effettuata come una visita del grafo generato e quindi, sempre nel caso della modellazione di un albero, quando una sequenza di simboli completa la descrizione di un ramo, la turtle deve tornare al punto di partenza e procedere a descrivere ciò che rimane della struttura della pianta.

Un’applicazione di questa tecnica nello sviluppo di modelli urbani a grande scala viene fornito da Parish e Muller [PARISH]. A partire da una serie di immagini e mappe in input, come ad esempio la densità di popolazione e la morfologia del territorio, il sistema genera una rete

(20)

stradale , divide il territorio in lotti e crea la geometria appropriata per inserire edifici nei rispettivi isolati. Per la creazione della mappa stradale viene utilizzata una grammatica L-system che permette di considerare gli obiettivi globali e i vincoli locali nonché di ridurre la complessità delle regole di produzione. Nel complesso quindi il sistema si occupa di generare la geometria attraverso la grammatica L-system, di riprodurre le texture attraverso un sistema di generazione ad alto livello e di comporre proceduralmente gli edifici presenti nell’ambiente urbano. Il sistema prende il nome di CityEngine ed è in grado di ricostruire una città esistente o immaginaria usando un insieme ristretto di dati geografici e statistici in input. Al contrario degli altri sistemi di modellazione presentati in precedenza, il sistema non necessita indispensabilmente di fotografie e planimetrie in ingresso, ma può creare modelli da zero, ed inoltre sono state eliminate del tutto le fasi di modellazione manuale, indispensabili in altri sistemi per creare un primo modello dell’ambiente. In [figura 2.16] viene mostrata la pipeline del processo di modellazione del CityEngine: i rettangoli neri rappresentano i dati risultanti dall’elaborazione dei singoli moduli rappresentati dai rettangoli bianchi. Nel primo stadio i dati in ingresso permettono di generare una rete viaria che rappresenta l’input per lo stadio successivo in cui le aree comprese tra più strade vengono suddivise per definire gli isolati dove verranno posizionati gli edifici. Nel terzo stadio, applicando un ulteriore L-system, avviene la creazione degli edifici attraverso una rappresentazione di stringhe e una serie di operazioni booleane su semplici forme solide tridimensionali.

(21)

figura 2.16 - Pipeline per la creazione del modella tridimensionale del CityEngine

Il sistema è a questo punto in grado di fornire in output la geometria poligonale che identifica il modello. Un modulo considerato esterno a questa procedura si occupa di inglobare un meccanismo, anch’esso basato su un approccio procedurale, per generare le immagini delle facciate degli edifici. Successivamente è possibile identificare l’ultimo stadio della pipeline generale del sistema, che ha come funzionalità quella di restituire in output il modello completamente texturizzato prendendo in input la geometria e le texture generate dagli stadi precedentemente descritti.

In [figura 2.17] invece sono messe in evidenza le funzioni con cui è stato implementato l’approccio basato sulla grammatica L-system: tre funzioni esterne permettono di svincolare i vincoli ambientali dai compiti del livello gerarchico più alto, rappresentati dall’entità Predecessor. La prima funzione denominata Ideal Successor rappresenta in realtà un template generico che permette di evitare di raggruppare tutti i parametri dei moduli all’interno delle produzioni. Le altre due funzioni invece si occupano di verificare i vincoli rispettivamente globali e locali di ogni singola istanza. I vincoli globali sono costituiti da una serie di leggi che influenzano l’obiettivo finale e scelgono gli appropriati valori da assegnare ai valori dei parametri.

(22)

figura 2.17 - schema di implementazione dell'L-system

figura 2.18 - a sin: metodo per la ricerca di aree altamente popolate; a des.: una possibile soluzione di connessione tra centri abitati

In generale questo tipo di vincoli vengono dettati dal controllo delle immagini e delle mappe ottenute in input e sono costituiti da:

Densità di popolazione: nella realtà le strade a scorrimento veloce, come ad esempio le circonvallazioni, servono a mettere in contatto tra di loro aree molto popolate e in particolar modo a connettere tra di loro le reti stradali sviluppate all’interno delle zone residenziali. I vincoli di questo gruppo dettano le leggi per la connessione tra aree di questo tipo [figura 2.18].

Tipologie di strade: molte città reali mettono in evidenza diverse tipologie di strade, dipendenti dal loro sviluppo nel corso della storia e dalle differenti fasi di creazione. Questo vincolo viene riprodotto nella grammatica inserendo regole riguardanti le diverse tipologie di strade.

(23)

figura 2.19 - possibili tipologie di strada di CityEngine

Per quanto riguarda i vincoli locali, in [figura 2.20] sono schematizzate le regole di sostituzione per la creazione della rete viaria.

figura 2.20 - Esempi di regole locali

In [figura 2.21] viene mostrato un esempio di creazione di una rete stradale urbana usando in input la mappa di Manhattan. Si noti come le parti più antiche dell’area siano state create applicando la regola, ovvero quella senza vincoli. Per le altre parti invece si è applicata la regola che descrive la griglia rettangolare, propria della città di New York.

Come detto in precedenza, anche durante la fase di generazione degli edifici tridimensionali è stato fatto uso di un L-system parametrico. Anche in questo caso sono state introdotte varie tipologie di costruzioni per permettere una resa del modello particolarmente realistica. Sono quindi messi a disposizione grattacieli, edifici commerciali ed edifici residenziali. La scelta della tipologia del fabbricato viene effettuata attraverso il controllo di regole di zona ed una

(24)

volta individuata quella più opportuna vengono applicate una serie di regole proprie del tipo di edificio.

figura 2.21 - Sopra: fasi intermedie del processo di generazione della rete viaria di Manhattan; Sotto: la mappa in input e il risultato ottenuto dal sistema CityEngine

In [figura 2.23] è mostrato il risultato del processo di modellazione generato dal sistema CityEngine, sviluppato da Parish e Muller, ottenendo in ingresso la mappa riportata in [figura 2.22]. Si noti che il modello è composto all’incirca da 26000 edifici e quindi ben rappresenta un esempio di ambiente urbano di larga scala.

(25)

Figura

figura 2.1 - il processo di modellazione manuale
figura 2.2 - esempi di scanner 3D
figura 2.3 - Esempi di applicazioni CAD
figura 2.4 - Esempio di modellazione NURBS
+7

Riferimenti

Documenti correlati

I casi di studio affrontati mettono in evidenza come, sebbene i requisiti in termini di accuratezze, tempi e costi di modellazione 3D possano presentare significative

The outcomes, for each of the estimation methods and the maximization algorithms, are evaluated on the basis of: • number of successful estimates algorithm converges • ratio

Lo que sí se puede hacer es dividir sus películas según se tome como clave interpretativa la presencia o meno de algún elemento más que otro, en este caso el grotesco, para

Lo que pone de manifiesto que en aquel momento ignoraba la lengua y las letras siríacas y que desconocía al escritor que no había sido traducido a otra lenguap. 204 De paenitentia,

Conclusions In this contribution I have looked at the different models of TPR: from pure self-regulatory regimes, characterised by the coincidence between regulators and regulated,

First of all, we show that the adoption of variable ac- cess charges widely used in the railway industry may create incentives for rational TOs to operate fewer trains than

LE RETTE SONO LINEE CHE MANTENGONO LA STESSA DIREZIONE SENZA INIZIO

In questo caso si perde la totale unimodularit`a della matrice dei vincoli, ma, invece di risol- vere dei MILP ad ogni iterazione, si considerano dei metodi diversi, basati