Sei sulla pagina 1di 266

2003: Alla ricerca di nemo, Pixar

Computer
Graphics for
CAD
Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it

CAD e Computer grafica??


Il CAD e la
documentazione
tecnica digitale e
interattiva richiedono
conoscenze di grafica
digitale: la computer
grafica (CG)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 2

Renderings

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 3

Renderings

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 4

Ambienti

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 5

Le Immagini Digitali

Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it

Perch immagini nel CAD?


Input

Schizzi cartacei
Sfondi da
fotografia
Modelli da
fotografia
Textures
Reverse
Engineering

Politecnico di Bari- Ing. Michele Fiorentino

Output

Rendering
Video
Tavole
Pagine Web
Multimediale
Flyer
Modulo 4-p3 7

Textures
Rendering

Politecnico di Bari- Ing. Michele Fiorentino

Textures!

Modulo 4-p3 8

Scenari

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 9

Immagini al calcolatore

000000000000000000000000
000100000011111111000000
000000000010010010000000
000000000010000100000010
000000000010001000000000
000010000010010000000000
000000000010100000000000
010000000011000000010000
000000000010000000000000

La luce un continuo di frequenze e bisogna discretizzarle


ovvero trasformarle in un insieme di bit.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 10

Classificazione immagini
In base alla rappresentazione

Immagini scalari (i.e. raster) o bitmap

Immagini vettoriali

In base al dominio del tempo

Fisse o statiche

In movimento (= video)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 11

Immagini raster (bitmap)


L'immagine una matrice di elementi
(pixel) a cui associato un colore.

Pixel Art
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 12

Qualit delle immagini


In base alle esigenze
bisogna scegliere i
parametri adeguati:
Es. JPEG - 3,2 Kb

OK

TROPPO BASSA

Esempi:
Applicazione
Web TV
Poster
Politecnico di Bari- Ing. Michele Fiorentino

risoluzione
720x625
15000x10000

numero colori num. byte


256
440 KB
16milioni
430 MB
Modulo 1 13

Elaborazione dellimmagine
Due principali
software:
1. Adobe Photoshop
Gimp (free!!)
Funzioni
Conversioni e resize
Primitive, testo, etc..
Gestione dei Layer
2.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 14

Creazione di immagini raster


Le immagini da fonti analogiche (es. foto su
carta), devono subire:
Discretizzazione (= zanzariera):
- scomposizione dellimmagine in un reticolo di punti

(pixel, picture element)

Quantizzazione (= da analogico o digitale):


- codifica di ogni pixel con una sequenza di bit

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 15

Discretizzazione
Limmagine viene scomposta in una griglia di Pixel
(da picture element)

Risoluzione: dimensione della griglia es. 640x480

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 16

Scalettatura o Aliasing

Aliasing: Un effetto della discretizzazione (soprattutto a


bassa risoluzione) che le linee diagonali appaiono
"dentellate". Vi ricordate Autocad??
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 17

Anti-aliasing

Anti-aliasing: "ammorbisce" la dentellatura


introducendo dei colori intermedi
Ha un costo computazionale elevato! Anche 8x
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 18

Esempio pratico Anti-aliasing

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 19

La stampa
Quando stampiamo o visualizziamo a video conta la
Definizione dellimmagine: numero dei pixel x unit di
lunghezza o DPI (dot per inches).
Maggiore risoluzione = + dettagli e sfumature ma anche
aumenta la memoria occupata.
Particolare ingrandito al 500%
con definizione 200 dpi

Valori consigliati:
(possono dipendere anche dalla qualit della
carta e della stampante\plotter)
Schermo (web): 100 dpi
Stampa (Cartacea < A4): 600 dpi
Stampa (Cartacea >A4): > 600 dpi

Particolare ingrandito al
500% con definizione 72 dpi
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 20

Il calcolo dei pixel per stampa


Noto il formato di stampa, definisco un DPI
accettabile e ottengo la risoluzione
Esempio: (20,32 x 25,4 cm) = 8x10 pollici x 300 dpi =
2400x3000 pixels!!

Nelle consegne dei rendering tenete conto di


questo!!

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 22

I Colori: raster B\N


Immagine bianco e nero:
Quantizzazione del colore: Ogni pixel
rappresentato da un bit 0 o1
000000000000000000000000
000000000011111111000000
000000000010000010000000
000000000010000100000000
000000000010001000000000
000000000010010000000000
000000000010100000000000
000000000011000000000000
000000000010000000000000

Politecnico di Bari- Ing. Michele Fiorentino

Rappresentazione
di un pixel

Modulo 1 23

Immagini con sfumature di grigio

La rappresentazione in toni di grigio assegna


uno o pi byte per pixel, per avere pi gradazioni
possibili
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 24

Livelli di grigio

Politecnico di Bari- Ing. Michele Fiorentino

Bianco e nero,

1 bit

4 livelli,

2 bit

8 livelli,

3 bit

16 livelli,
32 livelli,

4 bit
5 bit

64 livelli,

6 bit

128 livelli,

7 bit

256 livelli di grigio, 8 bit


Modulo 1 25

Immagini raster a colore


Profondit del colore: numero di bit assegnati per
ogni pixel per la definizione del colore (bpp).

Antipaxos, Le piscine ,Grecia


Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 26

Il colore definito in
due modi diversi:

1.

2.

il singolo pixel
definisce il colore
direttamente.
Con un elenco dei
colori (tabella dei
colori) e si associa a
ciascun punto l'indice
che punta allo
specifico colore

Politecnico di Bari- Ing. Michele Fiorentino

+ Memoria occupata

Codifica

Numero di bit bpp

Numero di colori 2n

16

32

64

128

256

16

high color (circa 65500)

24

true color (oltre 16


milioni)

Modulo 1 27

Modelli di colore

Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it

Modulo 4-p3 28

Modelli di colore
Sistemi di coordinate che definiscono un
sottoinsieme discreto di colori (detto gamut)
In CG :
RGB (per monitor, sintesi additiva )
CMYK (per stampe, sintesi sottrattiva)
HSV (intuitivo per luomo)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 29

RGB
(Red, Green, Blue)
definito dalle primarie
rosso, verde e blu o dette
primarie additive
I monitor sintetizzano i
colori eccitando tre tipi di
fosfori (RGB) quindi
RGB hardware
oriented
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 30

Modelli cromatici: RGB

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 31

Il rosso in RGB
In RGB il rosso (R=1, G=0, B=0);
Variando R da 0 a 1 si ottengono tutti i rossi
puri di diversa luminosit
Nero (0,0,0)

Politecnico di Bari- Ing. Michele Fiorentino

Rosso (1,0,0)

IL modello CMY(K)
Ciano, Magenta e Giallo
(Cyan, Magenta,
Yellow, CMY) sono i
complementari di
Rosso, Verde e Blu
Sono primarie sottrattive
perch sottrarre
frequenze riflesse al
bianco (stampa)
K= key black, per il testo.
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 33

Il modello HSV
Il modello Hue, Saturation,
Value riproduce il modo
con cui un pittore lavora:
1.
dal colore puro (hue)
2.
aggiunge del bianco per
cambiarne la saturazione
(saturation)
3.
poi aggiunge del nero per
cambiare la luminosit
(value)
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 34

La tinta
La tinta distingue i colori
(rosso, verde, giallo, ecc)
una descrizione della
lunghezza donda
dominante

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 35

La saturazione
indica quanto un colore
lontano da un livello di
grigio di media intensit (il
rosso saturo, il rosa e
tutti i colori pastello sono
desaturi)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 36

La luminosit
L intensit di illuminazione o luminanza
la potenza del segnale luminoso
emesso (misurazione oggettiva)
Il termine luminosit invece attribuito
alla percezione dellintensit della luce
(non lineare) una sensazione
soggettiva

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 37

Esempio di HSV
Hue (tinta), il tipo di colore
Saturation (saturazione), lintensit
del colore
Value (valore), la luminosit del
colore

luminosit

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 38

alpha value = trasparenza


Il valore di alpha (valore di
trasparenza) una frazione
di opacit che indica quanto
opaco (o trasparente), il pixel.
Il valore di alpha
comunemente: 0 =
completamente trasparente,
1 = completamente opaco.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 39

Esempio di alpha buffering

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 40

Uso di trasparenza in un CG
Textures trasparenti
applicate a dei solidi
pi semplici per farli
sembrare pi
complessi

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 41

Altri esempi

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 42

Altri esempi

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 43

Compressione di
immagini
Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it

Modulo 4-p3 44

Perch comprimere?

ridurre lutilizzo di
memoria (es. email,
web)
Usare meno banda
Togliere informazioni
ridondanti (es.2 frame
successivi di un video)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 45

Tecniche di compressione
Statistical (Entropy)
basate su anomalie statistiche (Esempio

prevalenza di un colore)

Predictive (Source)
basate sulla differenza con pixel vicini (esempio

sfondo sfumato)

Transform (Hybrid)
Trasformano i dati da un dominio ad un altro (es.

spazio alla frequenza)


Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 46

Tipi di compressione
Simmetrica
Stesso tempo per encoding and decoding
Usate per dialoghi (es. teleconference)
aSimmetrica
Fatte prevalentemente in una sola direzione e
quando il tempo disponibile
Es. TV broadcast
ADSL!
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 47

Come si comprime?
Eliminazione ripetizioni in digital audio, image,

and video
Sfruttare caratteristiche della percezione umana
(es. mp3 taglia le frequenze non udibili)

Due tipi:
senza perdita (lossless): l'immagine non perde
qualit e de-compressa, torna identica.

formati tiff compressi, gif, png, zip, gzip, 7zip e rar.

con perdita (lossy):


pi si comprime pi si perde in qualit

Il pi conosciuto il Jpeg!

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 48

Compressione loss-less
Algoritmi

non distruttivi
Come funziona: es 0000000= 6 volte 0
Non sempre efficace!! Dimensione pu
aumentare!
dimostrato: se rende alcuni file pi piccoli,

necessariamente rende altri file pi grandi!


Invece

facile ridurre distruggendo parte


dellinformazione!!! Lo studio della percezione
umana fa in modo da ridurre gli effetti della
compressione
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 49

Un esempio numerico

Politecnico di Bari- Ing. Michele Fiorentino

Compressione lossy!! Lmp3??

128 kbit/sec -> compressione 12:1


Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 51

Gatto vero e non!

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 52

Un buon esempio di
compressione

Politecnico di Bari- Ing. Michele Fiorentino

Un cattivo esempio di compressione

Politecnico di Bari- Ing. Michele Fiorentino

Esempio di distruzione!

artefacts
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 55

Formati non distruttivi


(senza perdita)
Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it

Modulo 4-p3 56

RAW
Il RAW (grezzo) il dump del sensore della fotocamera.
Il vantaggi
mantenere l'immagine alla pi alta qualit possibile

editing molto avanzato (es. correzione colori ed illuminazione)


Recentemente anche compressi non distruttivi
Svantaggi

Dimensioni file (anche 50 Mb a immagine!!)


Le immagini grezze richiedono software specifici o plug-in per

essere lette

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 57

GIF

Formato proprietario
(brevetto Unisys),
usa una tavolozza di colori
(palette) e un indice nella
palette
Max 256 colori (=8 bit)
scelti fra 16 milioni di
sfumature.
Uno dei colori pu essere
trasparente.

Politecnico di Bari- Ing. Michele Fiorentino

Color Palette

Modulo 1 58

Compressione nel GIF

un algoritmo lossless. Si riducono le immagini


fino a 4 volte:
Riconosce file orizzontali di pixel dello stesso colore
indicandole come n pixel di tale colore

Anzich scrivere 1 pixel verde, 1 pixel verde, 1


pixel verde ... per 20 volte, scrive 20 pixel verdi
Righe uguali vengono memorizzate una sola volta
in una tabella e riferite tramite un indice
proprietario e chiede royalties

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 59

Comprimibilit di GIF

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 60

Trasparenza
rende

il disegno indipendente
dal colore dello sfondo.
Ma

questo pu dare a
problemi di aloni

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 61

Immagini GIF animate

sequenza di immagini GIF, tipicamente


con la stessa palette
mostrate in successione, ciclicamente o
una sola volta, con un intervallo
regolabile.
Non sono necessari plug-in per
visualizzarle.
PNG e JPG non supportano animazioni.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 63

PNG
GIF max 256 colori, uno solo trasparente
Il PNG (Portable Network Graphics) ha un
algoritmo non proprietario, senza perdita, pi
efficace del GIF
Sostenuto dal W3C come standard per il Web

PNG-8 formato a 8-bit come GIF


PNG-24 formato a 24-bit come JPEG

Canali alfa (trasparenze di grado variabile)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 65

Tiff Professionale editoria


Il Tagged Image File Format (proprietario Ado
be), utilizzato professionalmente (editoria e
scansioni ) grazie ai vantaggi:
compressione lossless
Gestisce calibratura del colore
Accesso in riquadri: rapida visione ad immagini di

grosse dimensioni

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 67

BMP- Bitmap
rappresentazione dei dati non compresse
simile a quella dei dati su disco
Vantaggi:
Standard su sistemi Windows (no brevetto)
lettura\scrittura su disco rapido
Svantaggi
No trasparenza

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 68

Riassumendo: formati consigliati


Immagini: tiff
Icone, testo, simboli: png, gif

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 69

Formati lossy
(con perdita)
Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it

Modulo 4-p3 70

Compressione JPEG

Algoritmo con perdita (lossy)


Approssimati pixel adiacenti

Le zone con poco dettaglio (es. i cieli o le zone pi


sfumate) vengono compresse di pi
confini pi netti (es. fili d'erba) sono approssimati di meno
per rispettare il dettaglio

il rapporto di compressione da 10:1 a 20:1, (file 2


o 3 volte pi piccoli di GIF).

codifica RGB a 3x8 bit (true color)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 71

Compressione JPEG

Livelli di compressione variabili

livello Q (qualit): da 0 (qualit


infima) a 100 (qualit top)

Attenzione!: Perdita di qualit


cumulativa: Compressioni
successive distruggono!!: mantenere
una copia non compressa

La decompressione pi lenta
che nel GIF

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 72

Per contorni netti meglio il gif

16,7Kb bmp
4.32Kb jpeg

4.92Kb gif
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 73

Strategie per ridurre le immagini

Dimensione ideale pagina web <70K, quindi


importante ridurre le dimensioni delle immagini.
Nel GIF e nel PNG, ridurre i colori nella palette,
rende le immagini pi comprimibili (aumentano le
sequenze di colori uguali).

Usare palette adattiva e provare con palette di diverse


dimensioni in save for Web di Photoshop.

Nel JPEG rendere limmagine pi sfumata


(funzione blur) e provare con livelli diversi di
compressione.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 75

Limiti del formato raster


Pro
Ad alta definizione offrono qualit elevata
Sono adatte alla rappresentazione su video
Contro
Possono produrre file di grandi dimensioni
(nonostante gli algoritmi di compressione)
Le immagini non sono scalabili (risultano sgranate
se ingrandite)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 76

Grafica Vettoriale

Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it

Modulo 4-p3 77

Grafica Vettoriale
Rappresentazione

forme con
primitive matematiche: punti,
linee, curve e poligoni,
opportunamente connesse
tra loro. (Autocad)
Ottagono(.)
Triangolo ()
linea()
.
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 78

Vettoriale vs raster
Vantaggi

compressione maggiore

Possibilit di

ingrandimento
indipendenza dalla
risoluzione
Permette rotazioni,etc..

i font sono vettoriali, per consentire di


variare la dimensione senza perdere di
definizione.

Limiti

Non validi per fotografie


Necessit di risorse

hardware
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 79

Applicazioni dei due tipi di grafica

La grafica vettoriale si usa prevalentemente per:

disegno geometrico, CAD, architettura, ingegneria

Editoria, web publishing

cartografia,

schemi, logo, bottoni,ecc.

La grafica raster migliore per le fotografie

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 80

Immagini vettoriali
Formati vettoriali per il Web
Flash, Quicktime: molto potenti ma
proprietari e non godono dei benefici dei
linguaggi XML
Altri meno conosciuti Scalable Vector
Graphics (SVG):VML, PGML, DrawML: un
formato XML raccomandato dal W3C
Programmi pi conosciuti
AUTOCAD
Adobe Flash - Illustrator
Corel DRAW
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 81

Conversioni vettoriali/bitmap
Rasterizzazione
Vettoriale -> raster semplice
Ma irreversibile: si perdono le propriet
delle immagini vettoriali
Vettorializzazione
raster -> Vettoriale complessa
Richiede lintervento umano

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 82

Vettorializzazione
Nell ambito CAD il passaggio da disegni 2D
a file Autocad (dxf, dwg)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 83

Rasterizzazione
Passaggio da file Autocad (dxf, dwg) quindi
vettoriali a immagini raster

Print to jpg

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 84

Metaformati
Combinano vettoriale e raster
Formati di file misti:
PDF (Portable Document Format): derivato da

PostScript
PostScript (Adobe): misto bitmap-vettoriale,

compress. con e senza perdita


EPS (Encapsulated PostScript): derivato da PostScript

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 85

I formati Video
(cenni)
Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it

Modulo 4-p3 86

Video digitali (cenni)

Successione ordinata di immagini (o frame)


Fluidit con > 24-30 fps

la compressione fondamentale!

Come: Spatial & temporal redundancy


Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 87

Ridondanza Spaziale
Si comprime usando gruppi di pixel simili
Esattamente come il jpg

Politecnico di Bari- Ing. Michele Fiorentino

Ridondanza temporale

Politecnico di Bari- Ing. Michele Fiorentino

Codec Video: che confusione!

un codec un programma che si occupa di


codificare e/o decodificare digitalmente un segnale
analogico (tipicamente audio o video), affinch
possa essere salvato su un supporto di
memorizzazione o richiamato per la sua lettura o
riproduzione.

Codec video sono tanti e non sempre efficienti:


H.261/H.263, Cinepak, Sorensen, Indeo, Real Video, MPEG-1,
MPEG-2, MPEG-4, etc. QuickTime, AVI

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 91

.Avi: un contenitore!
AVI, (Audio Video Interleave), un contenitore
multimediale realizzato da Microsoft nel 1992
come formato video per il sistema Windows.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 92

DivX e Xvid
Il DivX una tecnologia proprietaria basata
su una variante del codec libero MPEG-4.

Xvid un codec video open source aderente


allo standard MPEG-4 (profilo SP e ASP)
originariamente basato su OpenDivX.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 93

Il Rendering

Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it
94

Il Rendering.cosa ??
E la generazione di
un'immagine digitale
da una descrizione
simbolica della scena
virtuale.

Richiede molti calcoli per cui esistono gli acceleratori hardware 2D\3D
nelle schede grafiche.
Esistono molti motori di rendering: integrati nei pacchetti di modellazione
o applicazioni indipendenti.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 95

Come in un film: La scena 3D


composta da:

Modello
Telecamera
Animazioni
Piano di proiezione
Luci
La telecamera impressiona su di un
piano di proiezione la scena.

Piano di
proiezione
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 96

Il processo di Rendering
Scena 3D
Modelli
geometrici
Telecamera
e
animazioni

Motore di Rendering
(CPU-GPU)
trasformazioni,
clipping,
prospettiva

Generazione
immagine

Extras
Altro
(texture, luci, etc.)

Politecnico di Bari- Ing. Michele Fiorentino

Il rendering costituito da una serie di operazioni


sequenziali.
Il processo o graphics pipeline si presta ad
ottimizzazione mediante dedicated graphics
hardware (GPU).

output

Output del rendering


Rendering

Immagini digitali

Hardware
Framebuffer

Disk
File

Politecnico di Bari- Ing. Michele Fiorentino

Image
Recorder
Video
Recorder
Modulo 4-p3 98

2 Tipi di Rendering
Real time : Algoritmi pensati per avere interattivit
in tempo reale (es. Modellazione)
Fotorealistici: Algoritmi orientati alla massima
fedelt, generalmente offline e richiedono tempi di
calcolo che vanno oltre I 20-25 frame al secondo
(normalmente ore o gg.!)

N.B: le schede video stanno evolvendo nella


direzione del Real time fotorealistic rendering
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 100

Cosa iI modello in CG?


il processo di descrizione degli oggetti o delle scene
affinch questi possano essere rappresentati da un
calcolatore.
Ciascun modello ha due descrizioni
principali:
Geometrica: la forma
Estetica: colore, materiale, etc.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 1 101

La geomteria = triangoli
Le schede video
macinano triangoli
Qualsiasi
rappresentazione (es
matematica CAD) viene
trasformato in triangoli
(triangolarizzazione)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 102

Triangoli!

Anche le primitive 3D sono fatte di triangoli!!


Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 103

Discretizzazione a video

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 104

La telecamera

Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it
105

Il cono di visione
La telecamera virtuale
caratterizzata da:
La posizione o view point
La direzione o view direction
Il volume visbile viewing volume
(frustrum)
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 106

Lunghezza focale

E la distanza tra il centro ottico dell'obiettivo e il


piano pellicola (o il sensore) alla quale viene
messa a fuoco l'immagine di un punto posto
all'infinito.
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 107

Lunghezza focale
Dalla lunghezza focale e dalle
dimensioni della superficie
sensibile dipende l'angolo di
campo dell'obiettivo. A parit
di dimensioni del sensore, pi
la focale lunga, pi stretto
il campo inquadrato.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 108

Esempi Lunghezza focale

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 109

Effetto della focale

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 110

Profondit di campo

vicino
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 111

Profondit di campo
C solo una zona che
pu essere a fuoco.
Lapertura di una lente
ne determina lentit.

Infinito

lontano
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 112

Camera in Catia V5

Politecnico di Bari- Ing. Michele Fiorentino

Copyright DASSAULT
SYSTEMES

Politecnico di Bari- Ing. Michele Fiorentino

Copyright DASSAULT
SYSTEMES

Punti i vista

Politecnico di Bari- Ing. Michele Fiorentino

Copyright DASSAULT
SYSTEMES

Culling
Gli oggetti o parti di essi fuori dal view
frustum non sono rappresentati (processo
di culling =raccolta).
il view frustum troncato da due piani:
near clip plane: evita che oggetti
vicini oscurino la visuale
far clip plane: evita la
rappresentazione di parti lontane e
piccolissime
Questi piani possono essere configurati
in un ambente CG (es. CAD)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 116

Clipping planes

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 117

Culling non voluto!!


Near plane
configurato
male:
Il pezzo
sezionato!!

Politecnico di Bari- Ing. Michele Fiorentino

Copyright DASSAULT
SYSTEMES

Metodi di proiezione

La prospettiva: oggetti pi
distanti rappresentati pi
piccoli di quelli vicini.

proiezioni parallele
(ortografiche): gli oggetti non
cambiano dimensione.

una approssimazione
del modo in cui vediamo gli
oggetti nella realt.

usata soprattutto la dove


mantenere le dimensioni
importante (disegno tecnico).

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 119

Impostazioni di visualizzazione

Dal men Formato->vista possibile selezionare la proiezione


ortogonale (assonometrica) o prospettica.
Inoltre possibile associare una texture per lo sfondo e
impostare le luci.
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 120

Viste con nome in un CAD

possibile attivare le viste assonometriche standard :


Visualizza->viste_con_nome

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 121

Visualizzazioni assonometriche

Isometrica
Dimetrica

CAD SE: si usano per le viste


illustrative (assiemi, esplosi etc..)
Politecnico di Bari- Ing. Michele Fiorentino

Trimetrica
Modulo 4-p3 122

Proiezioni Multi Finestra

Alcuni ambienti di modellazione premettono al visualizzazione


contemporanea di pi viste (es 4 view-ports).
Esempio: Rhinoceros.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 123

Scenografie
Sono ambienti 3D
precostituiti in cui
immergere i modelli
per una resa realistica
Se il modello
riflettente, specchier
la scena

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 124

Esempio di scenografia

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 125

Lilluminazione virtuale

Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it
126

Lilluminazione
la luce ci permette di vedere gli
oggetti (altrimenti tutto nero)!
Il cervello elabora i cambi di
tono e le trasforma in una
mappa mentale 3D.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 127

Fonti di luce in CG
In CG si usano semplificazioni delle fonti di luce reali.
Parametri delle fonti di luce in CG:
Colore
Intensit di illuminazione
Attenuazione con la distanza percorsa
Propriet geometriche: es. direzione.
La luce si propaga in tutte le direzioni e si attenua
allontanandosi dalla sorgente.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 128

Luce direzionale
Fonti di luce molto distanti producono raggi
quasi paralleli e di intensit costante.
Ad esempio il sole dista 150 milioni di chilometri
e non notiamo la perdita di luminosit
(0.000013% ogni 10 metri).

La luce direzionale una approssimazione di una fonte


di luce che si propaga con raggi paralleli e mantiene
lintensit costante (es. solare).
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 129

Luce puntiforme

Intensit costante e si propaga in maniera radiale.


una approssimazione delle luci ad incandescenza,
con limitato impegno di calcolo da parte del calcolatore.
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 130

Spotlight
L occhio di bue : un riflettore che riduce il fascio ad una
regione conica. (si usa a teatro)
possibile controllare la geometria del cono (Posizione,
direzione, angolo).

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 131

Luce ambiente
un approssimazione della luce
dovuta alle riflessioni multiple.
I sistemi di rendering non sempre
calcolano la luce multi-riflessa
(eccetto il radiosity).

Agisce su tutte le superfici in modo costante.


Non aiuta la percezione delle forme ma evita le
aree completamente buie (es. sotto ad un
tavolo).

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 132

Luci in SE
Menu:Formato->vista

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 133

Luci in SE

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 134

Luci in Catia

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 135

Photometric lights
I produttori di luci forniscono lIES: un formato
di file standard
Poi si pu sperimentare con diversi attrezzi, e
variando l'intensit della luce e la
temperatura del colore, possibile progettare
un sistema di illuminazione che produce i
risultati desiderati.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 136

Disposizione delle luci


In un ambiente reale coesistono contemporaneamente
tutti i tipi di luce visti.
Esistono software di
simulazione luminosa (lighting
design).
I software pi conosciuti sono
3D Studio Max, Maya, ed altri.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 137

Tecniche di
rendering
Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it

Modulo 4-p3 138

Tecniche di rendering

Real time rendering

Triangoli Wireframe
Rasterization Shading = Ombreggiatura

Fotorealistici

Ray-tracing
Radiosity

Non-photorealistic Rendering (NPR)


Volume rendering

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 139

Rendering Triangoli Wire frame

Si rappresentano solo i bordi dei triangoli.


Visualizzazione semplice veloce.
Gli oggetti 3D sono difficili da interpretare nella loro
spazialit.
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 140

Shading: Ombreggiatura
Simula lilluminazione\ombreggiatura
delle superfici.
I parametri principali della scena sono:
Equazione di illuminazione
Forma e materiale modello
Fonti di luce
Esistono diversi modelli di illuminazione:

Flat or Constant Shading


Gourand Shading
Phong Shading
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 141

Come renderizzare pi oggetti

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 143

Pi oggetti: Lalgoritmo del pittore

I pittori disegnano prima le parti distanti delle


scena e poi le quelle pi vicine.
L'algoritmo ordina tutti i poligoni nella scena per
la loro profondit e successivamente li disegna in
ordine.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 144

Problemi di Occlusione
L'algoritmo del pittore pu fallire se i poligoni si
intersecano. Non possibile decidere quale poligono
sopra gli altri. Esempio: gabbia

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 145

Metodo di Rendering : Z-Buffer


A ciscun pixel associato un valore Z (memoria Z-Buffer)
che la distanza dallocchio dellosservatore al punto
delloggetto rappresentato da quel pixel.
Prima del disegno dei poligoni tutti i valori dello (Z-buffer)
vengono resettati al valore massimo(= massima distanza).

Prima di disegnare un nuovo pixel il suo valore di Z viene


confrontato con quello memorizzato nel Z-buffer.
Il pixel disegnato se il suo Z minore del valore del buffer
e in tal caso il suo valore di Z nel buffer viene aggiornato

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 146

Rendering methods: Z-Buffer


Propriet importanti:
il metodo Z-buffer indipendente dallordine di rendering.
il rendering Z-buffer pu essere incrementale.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 147

Discussione: Z-Buffer
la memoria destinata allo Z-Buffer ha solitamente circa 16
bits, che vuol dire circa 65000 livelli di profondit.
E il sistema di rendering utilizzato universalmente nei
sistemi grafici 3D interattivi.
computazionalmente semplice e non richiede hardware
complesso.

Ma non rappresenta in maniera fedele il modo con cui la


luce interagisce con gli ogetti (ombre, rifrazione, etc.) .

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 148

Equazione di illuminazione
Il calcolo dellequazione di illuminazione si chiama
lighting. In termini matematici lequazione di
illuminazione descrive il colore di un punto di una
superficie in base alla scena. La full radiance
equation(FRE):

L(r, , , e, t ) (r, s)[ Le (s, , t , )


t

m p ( ) d (t ) Pp (s, ) i L( s, , , e, ) cos d d

i f (s, , ) Pf (s, )L(s, , , e, t )d cos d ]


i

h ( r , )

(r, a)[ Le (a, , t , )

m p ( ) d (t ) Pp (a, ) i L( s, , , e, ) cos d d

i f (a, , ) Pf (a, )L(a, , , e, t )d cos d ]d


i

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 149

Illuminazione Locale vs. Globale


Locale

Lilluminazione dipende solo dagli


oggetti presi singolarmente e le luci
nella scena

Politecnico di Bari- Ing. Michele Fiorentino

Globale

Lilluminazione tiene conto di tutti gli


oggetti della scena (= ombre!!)

Modulo 4-p3 150

Equazione di illuminazione
Lequazione

di illuminazione
FRE, troppo complessa per la
Grafica interattiva > 20 Hz
Si usano quindi equazioni di
illuminazione semplificate:
quelle locali, le ombre sono
aggiunte dopo e molto
semplificate
per il calcolo del colore e
luminosit normale N alla
sup. nel punto di calcolo, cio
sul singolo triangolo
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 151

Modelli locali: Shading


Lo Shading modello
approssimato di illuminazione
locale. Parametri:
Fonti di luce
materiale
normale del poligono
Ip= f ( light, material, normal)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 152

Materiali in CG
Diffuse Color : Colore di
fondo della superficie

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 153

Flat o Constant Shading


il pi semplice dei modelli:
Ciascun triangolo dotato di un colore uniforme, determinato
utilizzando valori medi della luce, normale e materiale.

discontinuit
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 156

One Normal for the Face


The normal may be calculated from the
vertices. n = (Q P) (R P).
R
n
P

Politecnico di Bari- Ing. Michele Fiorentino

Numero triangoli e shading

16X
Per migliorare si pu pensare di aumentare i
triangoli, ma con un costo di memoria notevole!!
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 158

Gouraud Shading
Il Gouraud shading usa le normali
calcolate nei vertici (interpolando dai
poligoni adiacenti) per calcolare il colore
in ciascun vertice.
Il colore del poligono per pixel interpola i
colori agli estremi.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 159

Shading a Triangle
Consider this triangle.
R(4, 8), color = (1, 0, 0)

P(0, 0)
color = (1, 1, 0)
Politecnico di Bari- Ing. Michele Fiorentino

Q(12, 0)
color = (0, 1, 1)

Shading a Triangle
What is the color of the outlined pixel?
R(4, 8), color = (1, 0, 0)

P(0, 0)
color = (1, 1, 0)
Politecnico di Bari- Ing. Michele Fiorentino

Q(12, 0)
color = (0, 1, 1)

Shading a Triangle
Interpolazione trilineare
R(4, 8), color = (1, 0, 0)
color = (7/8, 5/8, 1/8)

P(0, 0)
color = (1, 1, 0)

Politecnico di Bari- Ing. Michele Fiorentino

Q(12, 0)
color = (0, 1, 1)

Shading a Triangle
The entire triangle
R(4, 8)

P(0, 0)

Politecnico di Bari- Ing. Michele Fiorentino

Q(12, 0)

Flat vs Gourand Shading


The Gourand shading produce una variazione di colore
continua, con una migliore resa estetica.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 166

Confronto di shading
Flat

Gourand

ATTENZIONE: Il modello lo stesso!!!


abbiamo bisogno di strumenti di diagnostica
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 167

Phong Shading
Il shading Phong, o normal-vector interpolation shading,
usa, come il Gourand le normali ai vertici, e interpola le
normali in ogni punto (pixel) del poligono per
determinare il colore di ciascun pixel.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 168

Flat vs Gourand Shading


The Phong shading produce una variazione di colore
continua, con una resa estetica pi naturale dei riflessi.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 169

Riassunto Shading
Molto utilizzati tre modelli di illuminazione:

Uno per poligono (flat shading)


Uno per vertice (Gourand shading)
Uno per pixel (Phong shading)
Nota Bene: il Phong shading richiede il calcolo a livello di
pixel che avviene solo nella fase di rasterizzazione nella
pipeline grafica.
Per migliorare la qualit dello shading si utilizzano le
textures.
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 170

Materiali

Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it

Modulo 4-p3 171

Caratteristiche estetiche
In CG lestetica
chiamata Materiale,
da non confondere
con i materiali
propriamente detti
In alcuni CAD materiale
reale e aspetto sono
collegati (es. Catia)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 172

Librerie di materiali
Esistono librerie
integrate nel CAD,
altre di terze parti (a
pagamento o non).

Capita sempre un
materiale nuovo!!!

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 173

Propriet dei Materiali CG

Ambiente
Diffuso
Speculare

Rugosit
Trasparenza
Rifrazione
Riflettivit

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 174

I parametri pi importanti
In CG il colore finale di
un vertice di un oggetto
viene calcolato
mescolando 3
componenti principali
(phong model):

Cpixel= Cambiente + Cdiffuso + CSpeculare


Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 175

Ambient color colore ambiente


DEF: l'intensit RGB (0-1) della luce
diffusa in qualsiasi direzione
dell'oggetto, anche se NON
illuminato da fonte di luce.
Utilizzato per mostrare oggetti non
illuminati direttamente (i.e sotto
una scrivania).
Non esagerare: appiattisce la
scena!!
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 176

Applicazione

Senza ambient color


ho il nero assoluto!!
Politecnico di Bari- Ing. Michele Fiorentino

Con ambient color


vedo le gambe del
tavolo!!
Modulo 4-p3 178

Diffuse color
L'intensit (0-1) di luce diffusa dall'oggetto
quando illuminato da sorgenti luminose.
Tiene conto dellangolo luce-superfice!
Chiaro
scuro

La luce diffusa pi intensa se perpendicolare


alla superficie nel punto di contatto.
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 179

Diffuse: angolo di incidenza


L Angolo di incidenza
quello tra raggio e
normale alla superficie.

Cdiffuse cambia con il materiale


metallo lucido -> 0
mentre cartone > 0,9
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 180

Colori cangianti!!!

Cambiano il colore della luce


incidente!! (come le farfalle)
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 181

Specular color
Intensit di luce (0-1) riflessa in
una direzione particolare
(macchia di luce - highlights)

Valore minimo per generare luci


molto forti e concentrate
Valore pi alto per generare
grandi macchie creando un
effetto pi opaco.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 182

Specular color
Modello phong (empirico)

L il vettore dalla sorgente luminosa

N normale alla superficie

R il raggio riflesso

C il vettore posizione dello spettatore (camera)

S brillantezza (shiness) 0 -128 (grande = macchia


concentrata)

La componente speculare pi intensa


se l'orientamento della telecamera si
avvicina al 'angolo di specchio.
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 183

Rugosit
dimensione della zona
riflettente

valore al minimo per


generare riflessi concentrati.

valore pi alto per generare


grandi macchie speculari
creando un effetto pi opaco
sulle superfici pi ruvide.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 184

Esempio: il pomodoro!

Rugosit 0 max
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 185

Specular vs diffuse

la luce diffusa aiuta a


creare l'illusione delle
forme di oggetti opachi visti
in 2D
la luce speculare aiuta a
creare l'illusione di una
riflessione, materiale di
superficie lucida.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 186

Risultato finale (modello phong)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 187

Trasparenza

grado di trasparenza di un
oggetto e il suo colore.
loggetto si comporta come filtro
fotografico che interferisce con la
luce

Pi alto il valore, pi trasparente


l'oggetto, minore il valore, pi
opaco l'oggetto
Pu cambiare il colore di un ogetto,
un oggetto blu con un colore di
trasparenza rosso ha ombre un po
rosse.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 188

Rifrazione
La rifrazione definito da
un coefficiente
Vacuum: 1.000 (Zero Refraction)
Air: 1.003
Ice: 1.3050
Water: 1.3330
Glass: 1.52
Emerald: 1.576
Ruby: 1.711
Crystal: 2.000
Diamond: 2.418

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 189

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 190

Riflettivit
grado di riflettivit di un
oggetto.
valore elevato, l'oggetto
riflette maggiormente il suo
ambiente

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 191

Esempi

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 192

Texture
Oltre al materiale
Ad una geometria pu
essere applicata una
texture, una
immagine per dare
realismo maggiore

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 193

Animazioni

Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it

Modulo 4-p3 194

Animare la scena
Come in un film, la scena
pu variare nel tempo:
Gli oggetti ruotano,
traslano o cambiano
colore
La telecamera pu
percorrere un percorso
Esempi:
esploso assieme
Camminata virtuale
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 195

Video
EGerodisc :A hydraulicallyoperated electronically controlled
limited slip differential that
provides variable torque up to full
axle lock. It automatically
identifies the optimal traction
solution at any speed.
Provides rapid response for stability
and traction control.
Installed on Jeep Grand Cherokee.

http://www.eaton.com
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 196

Tipi di Animazioni

Manuale con operatore (Motion Designer)


Simulazione del moto
Sistemi a particelle
Sistemi articolati
Motion Capture

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 197

Motion designer
unoperazione
manuale in cui si
fissano i fotogrammi
principali (keyframe)
Il software interpola
traslazioni e rotazioni
di corpi rigidi, creando i
frame intermedi e
quindi un movimento
fluido
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 198

Keframe
1.

Interpolazione di immagini (es. cartoni


animati)

2.

Interpolazione parametrica con scheletro e


cinematica: si interpola il parametro (es.
angiolo di manovella)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 199

Esempio Animazione robot

Timeline

keyframes
Politecnico di Bari- Ing. Michele Fiorentino

Animazioni con leggi fisiche


Imponendo le leggi della
fisica: masse, frizione,
inerzia e forze edsterne si
p simulare il
comportamento del modello
nel tempo.

Lutente deve fissare solo le


variabili della simulazione
(inizialmente o in tempo
reale)
Esempio la dinamica di
unautomobile in sbandata
Politecnico di Bari- Ing. Michele Fiorentino

Animazione di particelle
Simulare la fisica di un gran numero di particelle di cui
bisogna impostarele seguenti propriet:
1 Punto oniziale o sorgente
2 velocit iniziale
3 direzione di flusso
4 dimensione fisica e forma
5 propriet fisiche
6 vita della particella

Es. simulazione di polveri industriali


Politecnico di Bari- Ing. Michele Fiorentino

Particle systems

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 203

Animation of Articulated Objects


Gli assiemi si possono
animare applicando
opporuni movimenti ad uno
scheletro virtuale
Lo scheletro ha giunture
(joints) che eliminano GDL e
facilitano quindi la creazione
di keyframes.

Si usano per animazione di


cinematismi e in ergonomia
Politecnico di Bari- Ing. Michele Fiorentino

Lo scheletro di un bipede

Politecnico di Bari- Ing. Michele Fiorentino

Simulazione del moto

Opportuni algoritmi fisici\cinematici permettono la


simulazione del moto al calcolatore.
Fonte: http://www.ynl.t.u-tokyo.ac.jp/research/filter/filter.html

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 206

Motion capture

Opportuni sensori rilevano e


memorizzano lanimazione
Fonte: www.kinetic-impulse.com/gallery/motion_capture_data

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 207

La texture
mapping
Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it
208

Perch Texture Mapping

Il Phong simula bene i materiali patinati e


lucidi come plastica e metalli, ma altri
materiali sono difficili da ricreare (legno).
Aumentare poligoni per dettagli costa C\GPU

Soluzione: texture mapping

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 209

Texture mapping
E la tecnica di ricoprire un modello
3D con una immagine digitale 2D.
Separa linformazione geometrica
da quella visiva.

+
=

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 210

Perch le Texture?

La texture aggiunge dettagli senza incrementare la


complessit geometrica (triangoli).
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 211

Dove le useremo??

QUI

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 212

Esempi
Volto

Politecnico di Bari- Ing. Michele Fiorentino

F Student

Modulo 4-p3 213

Illuminazione pre-calcolata?

La mappatura di immagini fornisce realismo senza


rallentare le animazioni (pochi triangoli) e simulazioni
Luci fisse possono essere pre-calcolate nella texture
(vedi videogiochi)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 214

Esempio di visualzzazione scientifica

Crash Simulations

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 215

Fonti di texture

Immagini
da
scanner
Immagini
create dal
calcolatore

Immagini
disegnate

Texture

Rendering

internet

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 216

Texture impilabili

discontinuit

QUando la texture pi
piccola della superficie
da ricoprire le textures
sono ripetute
Una buona texture fa in
modo da non mostrare
le mattonelle o tiles.
Si usano programmi di
elaborazione di
immagine
Dopo lelaborazione
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 217

Esempio

Texture non ottimizzata: quando viene ripetuta si


distinguono le discontinuit
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 218

Texture ottimizzata

Rendering della
texture applicata
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 219

Ottima fonte: Internet!

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 220

Mapping?
Concettualmente semplice, la texturizzazione
richiede calcoli complessi

2D image
3D surface
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 221

Funzioni di Mapping
Il passaggio da un punto della texture ad un
punto della superficie richiede una funzione
di traferimento
(x,y,z)

x = x(s,t)
y = y(s,t)
z = z(s,t)

t
s

Esempio:
Mappatura cilindrica
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 222

Environment Mapping
Environment mapping una
tecnica approssimata per
renderizzare oggetti riflettenti.
Si usa la texture mapping per
proiettare il mondo circostante
sulloggetto 3D.

Diverse mappature sono utlizzate.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 223

Mapping Sferico
Il pi semplice lo Sphere
Mapping, in cui una immagine
viene pre-deformata (es.
photoshop) e applicata con
proiezione sferica.
Il metodo molto approssimato
ma permette rendering in
tempo reale.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 224

Mapping cubico

View Reflection point

Migliore il Cubic Mapping.


Si fissa il punto di vista nel centro delloggetto e si
proietta lambiente circostante con le sei viste
renderizzate (come una stanza cubica).
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 225

Cubic Mapping

2. The result

1. Environment map

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 226

Solid edge: Cubic Mapping

possibile usare una o pi immagini ambiente.

Non tutte le schede grafiche supportano questa


tecnica in hardware e quindi in tempo reale.
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 227

Texture per cubic mapping

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 228

Mapping a punti

Le coordinate di texture sono interpolate attraverso


ogni poligono invece di usare i valori finali di colore.
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 229

Mapping a punti (2)


La memoria di texture nelle schede video
limitata!!

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 230

Mapping in CATIA

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 231

Bump
Mapping
Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it

Modulo 4-p3 232

Cosa il Bump mapping


Una tecnica di rendering
dei materiali che
Semplifica la complessit
geometrica di una
superficie ruvida per
rendering in tempo reale
(minore calcolo
computazionale)

Politecnico di Bari- Ing. Michele Fiorentino

Bump Mapping
Alla texture che ricopre l'oggetto viene
"sovrapposta" una seconda texture (spesso in
bianco e nero) che il motore di
rendering utilizza per simulare asperit, solchi,
sporgenze e cos via.
Tali dettagli vengono aggiunti solo in fase
di rendering:
A valori pi alti (pixel pi chiari): sporgenza
maggiore
Valori pi bassi (pixel pi scuri):
provocheranno una depressione
Politecnico di Bari- Ing. Michele Fiorentino

Bump Mapping: come?


Perturba le
normali alla
superficie
prima di usare
il modello di
illuminazione
(Phong
shading).

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 235

Bump Mapping

Il Bump mapping simula la rugosit superficiale


mediante una texture.
Permette di visualizzare oggetti ruvidi senza
complicare la geometrie (videogiochi).
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 236

Esempio #2 di Bump Map

Politecnico di Bari- Ing. Michele Fiorentino

Differenza

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 238

Attenzione Bump Mapping in


ingegneria!!

Simulazione di dettagli
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 247

Subsurface scattering

Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it

Modulo 4-p3 248

Subsurface scattering
(also know as subsurface
light transport),ilocalhosts
a mechanism of light
transport in which light
penetrates the surface of
a translucent object, is
scattered by interacting
with the material, and exits
the surface at a different
point.
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 249

Texture3D Mapping
Una altra tecnica usare texture 3D.

Ciascun punto P(x,y,z) della superficie delloggetto richiama


linformazione dalla matrice di texture 3D

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 250

Volume rendering

Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it
251

Volume Rendering
Tecnica usata per mostrare una
proiezione 2D di un insieme di
dati 3D.
Un tipico data set 3D quello
delle TAC (tomografia assistita
dal computer) o da una
risonanza magnetica.

Il risultato sono i Voxel.


Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 252

Volume Data Rendering


Cosa un Voxel? Volume Element
A voxel una cella cubica che ha
un solo valore associato

Il valore del voxel ottenuto per


interpolazione

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 253

Anche in meccanica
Ispezione di parti
meccaniche chiuse a
struttura complessa:
es. catalizzatore

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 254

Visualizzare i dati volumetrici


Esistono tre metodi :
isosuperfici: prima si estrae
la geometria poi si visualizza
come poligoni.
Direct Volume rendering
proiettando ciascun voxel sul
piano di visualizzazione

Textures semitrasparenti

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 255

Direct Volume Rendering


un algoritmo simile al Ray tracing: vengono
sparati dei raggi

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 256

Texture Volume Rendering


I dati volumetrici 3D sono rappresentati
da un numero finito di sezioni trasversali
(una pila di immagini) sono accelerate
dalla scheda video in Hardware

N x 2D matrici

Politecnico di Bari- Ing. Michele Fiorentino

= matrice 3D

Modulo 4-p3 257

Vantaggi Volume Rendering


visualizzazione della
spazialit dei dati
conoscere le informazioni
che si celano allinterno dei
dati mediante la
trasparenza.
Es. raggi X (es. Corpo
umano) : le parti pi dense
sono pi opache.
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 258

Rendering
fotorealistici
Corso di

SIMULAZIONE E PROTOTIPAZIONE VIRTUALE

Politecnico di Bari
DdR. Ing. Michele Fiorentino
fiorentino@poliba.it
259

Dove?
Revisioni della progettazione - progetto
sottoposto al marketing, per simulare l'aspetto e
la funzionalit del prodotto
Packaging del prodotto - mockup (=prototipo)
del packaging, anzich portare in uno studio
fotografico.
Posizionamento del progetto in-situ simulare
il posizionamento di un prodotto in un
determinato contesto, (es. un nuovo rubinetto
montato su una vasca da bagno o su un
lavandino)
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 260

Vantaggi
elimina i costi legati alla creazione di un
prototipo, il ricorso a uno studio fotografico e il
tempo (e il denaro) per creare lo sfondo,
posizionare le luci, scattare le foto ed effettuare
le numerose e inevitabili modifiche
riduzione del time-to-market: consente ai team
di progettazione di avere nelle prime fasi del
processo una comprensione dell'aspetto del
prodotto finito e di produrre il packaging in
parallelo con la realizzazione del prodotto
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 261

Rendering Fotorealistico

Simulazione realistica anche a scapito


della velocit (no realtime).
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 262

Fotorealismo come?

modello di illuminazione globale: tutte


le superfici nella scena contribuiscono a
emettere o a riflettere luce.

I processi ricorsivi causano effetti come il

trasferimento di luce e colore tra superfici


adiacenti.

Matematicamente si rappresentano con


una equazione integrale: the Rendering
Equation che simula la reale fisica

dellilluminazione.
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 263

Classifica algoritmi di rendering


Maggiore la precisione = maggiori tempi di calcolo

Fast

Ray Tracing
ombre,riflessioni e effetti rifrattivi (trasparenza), luci

puntiformi
Radiosity
superfici non lucide, ma le sorgenti di luce possono

essere non puntiformi


Path Tracing
Il pi potente degli algoritmi, metodo Monte-Carlo

per illuminare geometrie, riflessivit, rifrattivit e


illuminazione.

Slow
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 264

RayTracing: Forward Propagation


da ciascuna fonte luce proiettato
un raggio

Se il raggio raggiunge un oggetto


sono calcolati riflessione e rifrazione
alcuni raggi colpiscono la telecamera
e colorano il pixel del sensore =
schermo
Questi sono molto minori di quelli
sparati dalle luci = calcoli inutili!!
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 265

Ray Tracing Back Propagation


Un raggio sparato dallocchio nella direzione di vista
che cade nellarea di rendering per ottenere il colore
del pixel che si trova sul piano di proiezione.

Il raggio continua finch


non si incontra un oggetto
virtuale, da cui subisce
riflessioni e rifrazioni fino
a incontrare (una fonte di
luce).
Vengono quindi sparati
altri raggi
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 266

Ray Tracing VS rasterization


Ray tracing l'algoritmo molto complesso e
lento (=non in tempo reale)
generalmente calcolato a livello software
funziona per pixel insted di ogni oggetto.

Rasterization (Z-Buffer) veloce, in tempo


reale: visitare ogni poligono una volta, in
genere l'hardware fa le operazioni per pixel
per la maggior parte delle scene, pixel pi
numerosi dei poligoni
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 267

Multicore gpu
The biggest advances will be made with new raytracing
algorithms that explicitly target
multiple CPUs
(cores), rather than modication of existing largely serial
algorithms.
Open source example: Tachyon (John
Stone: Masters student project).
Threaded and MPI down to each ray cast
from the camera.
OpenRT: Makes signicant
improvements by parallelising ray bundles to take
advantage of
coherency of slightly
different rays.
PovRay is currently being rewritten to
support multiple core hardware.
RealStorm: a hardware benchmark
employing a raytracing engine.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 271

Parallel rendering
Workload Distribution
Frame distribution
Each processing unit can render an entire frame from a different point of view or moment in time. The frames rendered from different points of
view can improve image quality with anti-aliasing or add effects like depth-of-field and three-dimensional display output. This approach
allows for good performance scaling but no data scaling.
When rendering sequential frames in parallel there will be a lag for interactive sessions. The lag between user input and the action being
displayed is proportional to the number of sequential frames being rendered in parallel.
Pixel distribution
Sets of pixels in the screen space can be distributed among processing units in what is often referred to as sort first rendering.[1]
Distributing interlaced lines of pixels gives good load balancing but makes data scaling impossible. Distributing contiguous 2D tiles of pixels
allows for data scaling by culling data with the view frustum. However, there is a data overhead from objects on frustum boundaries being
replicated and data has to be loaded dynamically as the view point changes. Dynamic load balancing is also needed to maintain
performance scaling.
Object distribution
Distributing objects among processing units is often referred to as sort last rendering. [2] It provides good data scaling and can provide good
performance scaling, but it requires the intermediate images from processing nodes to be alpha composited to create the final image. As
the image resolution grows, the alpha compositing overhead also grows.
A load balancing scheme is also needed to maintain performance regardless of the viewing conditions. This can be achieved by over
partitioning the object space and assigning multiple pieces to each processing unit in a random fashion, however this increases the
number of alpha compositing stages required to create the final image. Another option is to assign a contiguous block to each processing
unit and update it dynamically, but this requires dynamic data loading.
Hybrid distribution
The different types of distributions can be combined in a number of fashions. A couple of sequential frames can be rendered in parallel while
also rendering each of those individual frames in parallel using a pixel or object distribution. Object distributions can try to minimize their
overlap in screen space in order to reduce alpha compositing costs, or even use a pixel distribution to render portions of the object space.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 272

Miglioramenti Raytracing
- Self shadowing, ombraggiature di un oggetto
su se stesso(difficili con z buff)
- Riflessioni e rifrazioni: materiali riflettenti
(es. Vernice metallizata) e trasparenti (es.
Vetro, acqua)
-

Limite: sorgenti di luce puntiformi

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 273

Rayracing

trasparenza

ombra
Politecnico di Bari- Ing. Michele Fiorentino

riflessi
Modulo 4-p3 274

Limite raytracing!!
Nel Ray-tracing le ombre sono nette e artificilali. Nella
realt non sono cos.

Ombra: netta?
IL raggio ON\OFF
Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 275

Radiosity
Approccio energetico: un
oggetto illuminato si comporta
a sua volta come emettitore
(secondary light)
e generano le soft shadows

Il Radiosity modella la diffuse


reflection (secondary scatter)
e luci non puntiformi

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 276

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 277

Esempi

Ombra non netta= reale


Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 290

Esempi: Radiosity

Radiosity permette una illuminazione realistica.


Model courtesy of Mercedes Benz & Honda. Copyright LightWork Design.

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 291

Altro esempio

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 292

Applicazioni

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 293

Trends

Ma.. I CAD interano motori di rendering


fotorealistici sempre pi sofisticati e real
time!!
Si usano anche pacchetti esterni: bunkspeed,
vray, maxwell, etc.. Ma svantaggi (definizioni
materiali, luci, etc..)

(http://www.bunkspeed.com/shot/)

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 294

Non-photorealistic Rendering (NPR)


Tecnica per rappresentazione
non realistica .
Dove??
Documentazione e
illustrazioni
manuali tecnici

semplificazione di assiemi
sicurezza, etc.
Fonte:
http://www.merl.com/people/raskar/NprCamer
a

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 295

Illustrazione tecnica
Toons!
Grafica a cartone
animato o
monocromatico
Riduce i gradienti di
colore

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 296

Esempio di manualistica

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 297

Esempio IKEA..

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 298

Enfasi selettiva

= selle

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 299

Applicazione alla manualistica


Evidenzia solo le parti di
interesse e isola le
operazioni principali!

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 300

CATIA
Click Create Shooting to open the Shooting
Definition dialog box then select the Effects
tab:
Click Active to activate the cartoon effect.
Select the desired cartoon effect, Contours only
or Ink pen effect (you can use both effects, if
desired):

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 301

Fine del Modulo


Domande???

Politecnico di Bari- Ing. Michele Fiorentino

Modulo 4-p3 302