50
1 Image Numérique Carole Blanc 2 Image Numérique Image Numérique BIBLIOGRAPHIE J.D. FOLEY, A. VAN DAM, S.K. FEINER, J.F. HUGHES & R.L. PHILIPS, Introduction à l'infographie, Addison Wesley, 1995, 2-87908-058-4 J.D. FOLEY, A. VAN DAM, S.K. FEINER & J.F. HUGHES, Computer Graphics : Principles and practice, 2nd edition, Addison Wesley, 1996, 0-201-84840-6 A. S. GLASSNER, Principles of digital image synthesis, Morgan Kaufman, 1994, 1-55860-276-3 3 Image Numérique Image Numérique Historique : la préhistoire –50's : 1 ères applications graphiques : visualisation de résultats numériques sous forme de courbes (surfaces) - pas de matériel spécialisé (télétypes, écrans) - pas d'interactivité 4 Image Numérique Image Numérique Historique : la préhistoire –50's : 1 ères applications graphiques :

BIBLIOGRAPHIE Image Numérique - …bigbozoid.free.fr/CoursLICENCE3/IMS/COURS_IN/Cours...les pixels noirs sont connexes donc l’image est adaptée à l’impression. Inconvénient

  • Upload
    lecong

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

1

Image Numérique

Carole Blanc

22Image NumériqueImage Numérique

BIBLIOGRAPHIE

•J.D. FOLEY, A. VAN DAM, S.K. FEINER, J.F. HUGHES & R.L. PHILIPS, Introduction à l'infographie, Addison Wesley, 1995, 2-87908-058-4

• J.D. FOLEY, A. VAN DAM, S.K. FEINER & J.F. HUGHES, Computer Graphics : Principles and practice, 2nd edition, Addison Wesley, 1996, 0-201-84840-6

• A. S. GLASSNER, Principles of digital image synthesis, Morgan Kaufman, 1994, 1-55860-276-3

33Image NumériqueImage Numérique

Historique : la préhistoire

–50's : 1èresapplications graphiques : visualisation de résultats numériques sous forme de courbes (surfaces)

- pas de matériel spécialisé (télétypes, écrans)

- pas d'interactivité

44Image NumériqueImage Numérique

Historique : la préhistoire

–50's : 1èresapplications graphiques :

2

55Image NumériqueImage Numérique

Historique : la préhistoire

–55 : MIT : tube cathodique piloté par un ordinateur

1er écran graphique vectoriel (TX-0)a visualisation "fil de fer"

(wireframe) modèle pendant 15 ans

66Image NumériqueImage Numérique

Historique : la préhistoire

–55 : MIT : tube cathodique piloté par un ordinateur

77Image NumériqueImage Numérique

Historique : la préhistoire

–55 : armée EU - projet SAGE : localisation d'avions

88Image NumériqueImage Numérique

Historique : les pionniers

–63 : Ivan Sutherland (PhD MIT) a Sketchpad- système interactif (matériel, logiciel)- création, manipulation et animation de

figures

3

99Image NumériqueImage Numérique

Historique : les pionniers

– 60's : General Motors DAC-11er système de CAO (production de plans)Lockeed, Bell,

1010Image NumériqueImage Numérique

Historique : le matériel

–1ersécrans commercialisables65 : DEC 30, IBM 2250 (100 000 $), CDC

–1ersécrans permanents 68 : Computer Designs ART (15 000 $)70 : Tektronix 4010 (5 000 $)

tablette, joystick, boite à boutons

–70's : diminution du coût du hardwareécrans matriciels, couleurs

1111Image NumériqueImage Numérique

Historique : la révolution

–75's : apparition des micro-ordinateurs•- Apple, Atari, Amiga, IBM …

•- possibilités graphiques (Apple II : 512 x 192, 16)

• a développement de logiciels (jeux, tableurs, …)

–75's : recherche communication homme-machine (CHM)

�a utilisation du graphisme (menu - souris)Xerox : SmallTalk 80 Mac Intosh

1212Image NumériqueImage Numérique

Jeux :

71 : Pong NolanBushnell

77 : Space InvadersSociété Taïto

81 : pacman

4

1313Image NumériqueImage Numérique

Jeux :

71 : Pong NolanBushnell

81 : pacman

1414Image NumériqueImage Numérique

Historique : l'évolution

–80's : apparition des stations de travail•- Sun, Apollo, Silicon Graphics, ...

•- capacités graphiques (1024 x 1024, 16 M)

•- bibliothèques graphiques (Core, GL, …)

•- CHM : multifenêtrage, menus - souris

•- architectures/processeurs spécialisés

1515Image NumériqueImage Numérique

Historique : l'évolution

–90’s : l’explosion •- croissance conjointe

•- capacités matérielles

•- nouvelles utilisations

•- besoins utilisateurs

1616Image NumériqueImage Numérique

Secteurs d’activité

–architecture, urbanisme : conception, implantation

– industries de fabrication : conception, contrôle qualité

– transport (avion, train, voiture …) : apprentissage

– loisirs : jeux, cinéma, pub, télévision

–médecine : diagnostic, geste chirurgical, enseignement

–environnement : météo, ressources naturelles

–chimie : conception molécule

–militaire : détection satellitaire, apprentissage

– ...

5

1717Image NumériqueImage Numérique

Qu’est-ce qu’une image numérique ?

1818Image NumériqueImage Numérique

Qu’est-ce qu’une image numérique ?

Dynamique des fluides :contrôle de pression pour un turbo d’avion

Modèle cellulaire(géologie, géophysique)

1919Image NumériqueImage Numérique

Qu’est-ce qu’une image numérique ?

2020Image NumériqueImage Numérique

Qu’est-ce qu’une image numérique ?

011111100001000010000100001000010000100001000010000111111000

MémoireEcran

6

2121Image NumériqueImage Numérique

Qu’est-ce qu’une image numérique ?

N

M

Une matrice de

N*M Pixels

(picture element)

2222Image NumériqueImage Numérique

Qu’est-ce qu’une image numérique ?

Ecran Mémoire

1 bit / pixel

Bit-map

2323Image NumériqueImage Numérique

Qu’est-ce qu’une image numérique ?Bit-map : quelques exemples

2424Image NumériqueImage Numérique

Qu’est-ce qu’une image numérique ?Bit-map : quelques exemples

7

2525Image NumériqueImage Numérique

Qu’est-ce qu’une image numérique ?

Mémoire

1 octet / pixel

256 niveaux de gris256 couleurs avec

LUT(Look Up Table)

8 - plans

2626Image NumériqueImage Numérique

Qu’est-ce qu’une image numérique ?

Mémoire

3 octets / pixel

16 Millions de Couleurs.

Vraies couleurs

24 - plans

2727Image NumériqueImage Numérique

Problématiques liées aux pixels :=((

• représentation des détails : anti-aliasing

2828Image NumériqueImage Numérique

Problématiques liées aux pixels :=((

• représentation des univers continus :�tracé de droites ou de courbes crénelage

� discrétisation des méthodes de traitement etd’analyse (mathématiques discrètes)

8

2929Image NumériqueImage Numérique

Autres problèmes :

• L’œil humain …• Exigence des utilisateurs …

3030Image NumériqueImage Numérique

Modèles numériques

Images numériques (pixmap)

Objets réels, virtuels

Modélisation

Traitement

SynthèseAnalyse

InterprétationNumérisation O

péra

teur

Ord

inat

eur

Imagescodées

Codage

Décodage

3131Image NumériqueImage Numérique

Modèles numériques

Images numériques (pixmap)

Objets réels, virtuels

Modélisation

Traitement

SynthèseAnalyse

InterprétationNumérisation O

péra

teur

Ord

inat

eur

Imagescodées

Codage

Décodage

3232Image NumériqueImage Numérique

La couleur

• Codage des couleurs :

� Monochrome (Noir et Blanc) ou bitmapPréparation des impressions.

� 8-plans : 256 niveaux de gris ou couleurs� LUT : Table de clés pour choisir 256 couleurs

parmi 16 Millions

• Quantification des couleurs : ou comment réduire intelligemment le nombre de couleurs dans un image.

• Modèles de couleurs : RGB, HSV,…

9

3333Image NumériqueImage Numérique

Quantification des couleurs : NG vs NB

Point de départ : une image en NG(256 possibles)

Point d’arrivée : une image NB

3434Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

Point de départ : une image en NG(256 possibles)

Point d’arrivée : une image NB

3535Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: représenter les NG par des motifs en noir et blanc

Clustering

Motif = matrice de pixels NB de petite taille.Plus il y a de pixels blancs plus les niveaux de gris représentés sont clairs. Et vice et versa.

Question : Dans quel ordre doit-on allumer les pixels pour former les différents motifs ?

3636Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: clustering

Simulation du procédé offset de l’imprimerie : les motifs représentent des taches d’encre de plus en plus grosses en quinconces.

N

n=N/2

10

3737Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: clustering

Simulation du procédé offset de l’imprimerie : les motifs représentent des taches d’encre de plus en plus grosses en quinconces.

N

n=N/2

3838Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: clustering

Simulation du procédé offset de l’imprimerie : les motifs représentent des taches d’encre de plus en plus grosses en quinconces.

N

n=N/2

3939Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: clustering

Simulation du procédé offset de l’imprimerie : les motifs représentent des taches d’encre de plus en plus grosses en quinconces.

N

n=N/2

4040Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: clustering

Simulation du procédé offset de l’imprimerie : les motifs représentent des taches d’encre de plus en plus grosses en quinconces.

N

n=N/2

11

4141Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère ideé: Clustering

Simulation du procédé offset de l’imprimerie : les motifs représentent des taches d’encre de plus en plus grosses en quinconces.

N

n=N/2

4242Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: clustering

Simulation du procédé offset de l’imprimerie : les motifs représentent des taches d’encre de plus en plus grosses en quinconces.

N

n=N/2

4343Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: clustering

Simulation du procédé offset de l’imprimerie : les motifs représentent des taches d’encre de plus en plus grosses en quinconces.

N

n=N/2

4444Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: clustering

Simulation du procédé offset de l’imprimerie : les motifs représentent des taches d’encre de plus en plus grosses en quinconces.

N

n=N/2

12

4545Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: clustering

Simulation du procédé offset de l’imprimerie : les motifs représentent des taches d’encre de plus en plus grosses en quinconces.

N

n=N/2n = 3 donne 19 motifs

Dans le cas général :

12

2

+Nmotifs

4646Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: Clustering

Simulation du procédé offset de l’imprimerie : l’algorithme

�Définir les différents motifs

�Partager l’image à traiter en morceaux de taille N*N pixels

�Calculer pour chaque morceaux le NG moyen.

�Choisir le motif correspondant à ce NG.

�Remplacer le morceau de l’image par le motif.

4747Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: Clustering

Simulation du procédé offset de l’imprimerie : exemple

4848Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: représenter les NG par des motifs en noir et blanc

Simulation du procédé offset de l’imprimerie :

Avantage : les pixels noirs sont connexes donc l’image est adaptée à l’impression.

Inconvénient :Peu de motifs réalisables par rapport à la taille de la matrice

13

4949Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: clustering

On oublie la contrainte de l’offset. On allume les pixels un par un pour définir les motifs.Une matrice carrée de taille N donne N*N+1 motifs possibles définis avec la matrice de Dither (tremblé ordonné) :

=

=

++++

=

11

11

13

20

1434

2404

2

2

L

MOM

L

n

nnnn

nnnnn

UD

UDUD

UDUDD

5050Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: clustering

On oublie la contrainte de l’offset. On allume les pixels un par un pour définir les motifs.Une matrice carrée de taille N donne N*N+1 motifs possibles définis avec la matrice de Dither (tremblé ordonné) :

=

513715

91113

614412

10280

4D

5151Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

1ère idée: clustering

On oublie la contrainte de l’offset. On allume les pixels un par un pour définir les motifs.Une matrice carrée de taille N donne N*N+1 motifs possibles définis avec la matrice de Dither (tremblé ordonné) :

5252Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

2ème idée: dithering

Algorithme : Pour un morceau de n*n pixels de l’image, on change le NG de chaque pixel en ajoutant un pseudo-bruitcalculé avec la matrice de Dither.On seuille chaque NG modifié à 0.5

5.02

2/1),(

),(

−+n

jiDjiNG n

14

5353Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

2ème idée: dithering

5454Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

Inconvénients :Clustering et Dithering génèrent des motifs réguliers

Autre idée : …

5555Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

Diffusion de l’erreur : Floyd et Steinberg

Algorithme : �Balayage de l’image pixel par pixel

�Pourchaque pixel :Si NG < 0.5

alors noir (0)sinon blanc (1)

�Evaluation de l’erreur commise lors du seuillage.�Répartition de cette erreur sur les pixels voisins

non encore traités

5656Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

Diffusion de l’erreur : Floyd et Steinberg

Algorithme : �Balayage de l’image pixel par pixel

ligne par ligne de gauche à droite et de haut en bas.

ligne par ligne de gauche à droite puis de droite à gauche et de haut en bas (zigzag).

Hilbert, …

15

5757Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

Diffusion de l’erreur : Floyd et Steinberg

Algorithme : �Répartition de cette erreur sur les pixels voisins

non encore traités

3/165/163/16

5/16

5858Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

Diffusion de l’erreur : Floyd et Steinberg

Algorithme : �Répartition de cette erreur sur les pixels voisins

non encore traités

1/165/163/16

7/16

5959Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

Diffusion de l’erreur : Floyd et SteinbergExemple :

6060Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

16

6161Image NumériqueImage Numérique

Quantification des couleurs :NG vs NB

Diffusion de l’erreur : Floyd et Steinberg

Inconvénient : On ne peut pas traiter une partie de l’image

Idée : avoir des méthodes locales …

6262Image NumériqueImage Numérique

Quantification des couleurs : 8 vs 24 plans

Hypothèse : on travaille avec la repésentation RGB des couleurs

• R = red (rouge) sur un octet.• G = green (vert) sur un octet.• B = blue (bleu) sur un octet.

La couleur de chaque pixel est représentée par 3 octets : image en 24 plans.

6363Image NumériqueImage Numérique

Quantification des couleurs : 8 vs 24 plans

Axe de gris

(0 ,0 ,0)Rouge(255,0,0)

Bleu(0,0,255)

Vert(0,255,0)

Jaune(255,255,0)

Cyan(0,255,255)

Magenta(255,0,255)

Blanc(255,255,255)

Noir

6464Image NumériqueImage Numérique

Quantification des couleurs : 8 vs 24 plans

1ère idée : seuillage brut

• Pour chaque composante (RGB) d’une couleur faire un seuillage à 6 niveaux :

0 255

51

204

153

102

255

reste 216 couleurs différentes au final

17

6565Image NumériqueImage Numérique

Quantification des couleurs : 8 vs 24 plans

2ème idée : seuillage amélioré

• Même principe en tenant compte des caractéristiques de l’œil humain : seuillage à 8 niveaux pour le rouge et le vert, à 4 niveaux pour le bleu: 256 couleurs au final

0 255

170

85

255

0 255

36

182

109

73

255

146

219

6666Image NumériqueImage Numérique

Quantification des couleurs : 8 vs 24 plans

3ème idée: tenir compte des caractéristiques de l’image

• seuillage à 32 niveaux par couleur R G B reste 32768 couleurs possibles (R’,G’,B’)

• établir l’histogramme des 32768 couleurs possibles

n

H ''*32'*1024 BGRn ++=H[n] = H[n] + 1

�Pour chaque pixel de l’image

�Choisir les 256 couleurs Finales. Comment ?

6767Image NumériqueImage Numérique

Quantification des couleurs : 8 vs 24 plans

3ème idée: tenir compte des caractéristiques de l’image

Choix des 256 couleurs sur l’histogramme :

• Popularité: 256 plus fréquentes

• Diversité:

1. la plus populaire

2. la plus distante de 1

3. la plus distante de 2

256. La plus distante de 255

6868Image NumériqueImage Numérique

Quantification des couleurs : 8 vs 24 plans

3ème idée: tenir compte des caractéristiques de l’image

Choix des 256 couleurs sur l’histogramme :

• Bradley :

1. la plus populaire

2. la plus distante de 1

3. retour à 1

18

6969Image NumériqueImage Numérique

Quantification des couleurs : 8 vs 24 plans4ème idée: Median Cut ( Heckbert 82)

• seuillage à 32 niveaux + histogramme

• partage du cube RGB en deux selon l’axe des rouge en 2 régions contenant le même nombre de pixels. Pareil selon l’axe des verts et bleus. On a 8 « sous-cubes » contenant chacun le mêmenombre de pixels.

• On répète cette subdivision jusqu’à avoir 256 sous-cubes.

• Pour chaque sous-cube on fait la moyenne des couleurs présentent et on donne cette couleur à tous les pixels du sous-cube.

7070Image NumériqueImage Numérique

Quantification des couleurs : 8 vs 24 plans

14984couleurs

65 couleurs

252couleurs

7171Image NumériqueImage Numérique

Quantification des couleurs : RGB vs NGris

NGris = 0.2999*R +0.587*G + 0.114*B

•Les coefficients sont issus de la sensibilité de l’œil humain

•Les niveaux de gris (NGris) sont invariants par cette transformation.Exemple :

Si R = G = B = x dans [0, 255]alors

NGris = (0.2999 + 0.587 + 0.114)x = x

7272Image NumériqueImage Numérique

Modèles de couleur :

• domaine complexe : –physique, physiologie, psychologie, culture, etc.

• couleur d'un objet dépend

– de l'objet (couleur, matière, réflexion/diffusion)– de la source qui l'éclaire

– de la couleur ambiante

– du système de perception humain

19

7373Image NumériqueImage Numérique

Modèles de couleur :

•Perception visuelle humaine :– vue et/ou perception : œil et/ou cerveau

– œil : nombre fini de récepteurs réagissant aux longueurs d'onde entre 380 et 770 nm

– perception

� dépend de la longueur d'onde (rouge, vert, bleu)

� plus sensible aux contrastes qu'aux différences absolues.

� dépend de la luminosité

� dépend du sujet (culture, âge, condition)

7474Image NumériqueImage Numérique

Modèles de couleur

Notions fondamentales–Physique:intensité, luminance, longueur d’ondes,…

–Psychologie de la perception : luminosité

–Chromatique :•teinte (hue) : (rouge, bleu …)

•saturation: mesure la différence entre une couleur et un NGris de même intensité

•clarté(lightness) : intensité lumineuse réfléchie

•luminosité(brightness) : intensité lumineuse émise

7575Image NumériqueImage Numérique

Modèles de couleur

• Quelques traductions : – colorimétrie :

•teinte : longueur d'onde dominante•saturation : pureté de la couleur•clarté ou luminosité : luminance

–lumière : énergie électromagnétique dont le spectre est compris entre 400 et 700 nm (violet -> rouge)

7676Image NumériqueImage Numérique

Modèles de couleur

• Cadre de travail:la rétine possède 3 sortes de cellules détectrices de couleurs :

•une pour le rouge (570 nm), appelés erythrolabes•une pour le vert (535 nm), appelés chlorolabes•une pour le bleu (445 nm), appelés cyanolabes

Que nous indique les courbes ci-dessus ?

20

7777Image NumériqueImage Numérique

Modèles de couleur

• Standardisation:La perception des couleurs diffère selon :

� Les individus

�Les périphériques d’affichage

En 1931 La Commission Internationale de l'Eclairage (CIE) propose une représentation standard indépendante des périphériques utilisés. Les critères sont basés sur la perception de la couleur par l'oeil humain

7878Image NumériqueImage Numérique

Modèles de couleur

•Standardisation:le système colorimétrique xyY représentant les couleurs selon leur chromaticité (axes x et y) et leur luminance (axe Y).

7979Image NumériqueImage Numérique

Modèles de couleur

•Standardisation:le système colorimétrique xyY représentant les couleurs selon leur chromaticité (axes x et y) et leur luminance (axe Y).

Spectres A : couleurs visiblesB : film couleurC : moniteurD : imprimante

8080Image NumériqueImage Numérique

Modèles de couleur

•RGB:

(0 ,0 ,0)Rouge(255,0,0)

Bleu(0,0,255)

Vert(0,255,0)

Jaune(255,255,0)

Cyan(0,255,255)

Magenta(255,0,255)

Blanc(255,255,255)

Noir

21

8181Image NumériqueImage Numérique

Modèles de couleur

•RGB: – modèle additif

– mélange d’ondes lumineuse

– adapté aux affichagesgraphiques

– certaines couleurs ne sont représentables.

8282Image NumériqueImage Numérique

Modèles de couleur

•CMY: Cyan - Magenta - Yellow

Rouge

Bleu

VertJaune

Cyan

Magenta Blanc(0,0,0)

Noir

8383Image NumériqueImage Numérique

Modèles de couleur

•CMY: – modèles soustractif

– mélange de pigments

– utilisé en imprimerie(CMYK).

Pourquoi K ?

– certaines couleurs ne sont pas représentables.

8484Image NumériqueImage Numérique

Modèles de couleur Modèles de couleur

Munsell, peintre américain (1858 - 1918), publie en 1915 son " atlas of the Munsell color system ".

Il présentait les couleurs sous forme d'un" arbre des couleurs" autour d'un axe vertical allant du blanc au noir

22

8585Image NumériqueImage Numérique

Modèles de couleur • HSL :Après la mort de Munsel, la Munsell color Cy continue ses travaux et publie, en 1929, le " Munsell book of colors " classification en 3 dimensions :

�teinte, Saturation

�Luminosité : R+V+BCette classification est, encore actuellement, très utilisée, enparticulier en géologie et en archéologie.

8686Image NumériqueImage Numérique

Modèles de couleur

• HSL :

8787Image NumériqueImage Numérique

•HSV: – Hue

–Saturation

–Value max(R, V, B)

S

V

H

Modèles de couleur

8888Image NumériqueImage Numérique

• YUV, YIQ :TV : YUV (PAL), YIQ (NTSC)

3 primaires : luminance et 2 chrominance

Modèles de couleur

23

8989Image NumériqueImage Numérique

Traitement d’image

9090Image NumériqueImage Numérique

Transformation géométrique

Exemple :

9191Image NumériqueImage Numérique

Transformation géométrique

Exemple :

9292Image NumériqueImage Numérique

Transformation géométrique

Question :Comment fait–on cette transformation ?

NONf

Pourquoi ?

24

9393Image NumériqueImage Numérique

Transformation géométrique

f -1

Pour chaque pixel dans l’image finale on cherche quel est le pixel de l’image initiale qui lui correspond. Il faut définir f -1

9494Image NumériqueImage Numérique

Transformation géométrique

Même principe pour une rotation

f -1

f -1 est la rotation inverse

Image finale Image originale

9595Image NumériqueImage Numérique

Transformation géométrique

Transformation optique 1 pour 1 :

La couleur de chaque pixel de l’image est recalculée en fonction de sa valeur d’origine

Exemple : en niveaux de gris

0 255

255

NG

Inversion vidéo

9696Image NumériqueImage Numérique

Transformation optique

Transformation optique 1 pour 1 :

La couleur de chaque pixel de l’image est recalculée en fonction de sa valeur d’origine

Exemple : en niveaux de gris

0 255

255

NG

Eclaircissement

25

9797Image NumériqueImage Numérique

Transformation optique

Transformation optique 1 pour 1 :

La couleur de chaque pixel de l’image est recalculée en fonction de sa valeur d’origine

Exemple : en niveaux de gris

0 255

255

NG

Correction gamma

γ/1)( ttf =1>γ

9898Image NumériqueImage Numérique

Transformation optique

Transformation optique n pour 1 :

La couleur de chaque pixel de l’image est recalculée en fonction des valeurs des pixels voisins dans l’image d’origine.

Pixel Pij

Fenêtre de convolution

C9C8C7

C6C5C4

C3C2C1Masque des Coefficients :

9999Image NumériqueImage Numérique

Transformation optique

Transformation optique n pour 1 :

La couleur de chaque pixel de l’image est recalculée en fonction des valeurs des pixels voisins dans l’image d’origine.

Exemple :Si Nij et le niveau de gris du pixel Pij on fait un calcul du type suivant

ij

ij

ijijij NcN ∑

=

=

=9

1

'

100100Image NumériqueImage Numérique

Transformation optique

Transformation optique n pour 1 :

La couleur de chaque pixel de l’image est recalculée en fonction des valeurs des pixels voisins dans l’image d’origine.

Exemple : détection de contour

On doit extraire une grandeur qui représente les variations de NG.Quelle est cette grandeur ?

26

101101Image NumériqueImage Numérique

Transformation optique

Transformation optique n pour 1 :

Exemple : détection de contour

h

xfhxfxf

)()()('

−+≈

Dans un espace discret on fera :

),()1,(

),(),1(

yxNGyxNGV

yxNGyxNGV

y

x

−+=−+=

102102Image NumériqueImage Numérique

Transformation optique

Transformation optique n pour 1 :

Exemple : détection de contour

Masque de Sobel

10-1

10-1

10-1

111

000

-1-1-1

Vx Vy

103103Image NumériqueImage Numérique

Transformation optique

Transformation optique n pour 1 :

Exemple : détection de contour

Masque de Prewitt

10-1

20-2

10-1

121

000

-1-2-1

Vx Vy

104104Image NumériqueImage Numérique

Transformation optique

Transformation optique n pour 1 :

Exemple : détection de contour

27

105105Image NumériqueImage Numérique

Transformation optique

Transformation optique n pour 1 :

Exemple : Filtre passe-bas (blur)

1/91/91/9

1/91/91/9

1/91/91/9

106106Image NumériqueImage Numérique

Transformation optique

Transformation optique n pour 1 :

Exemple : filtre passe-bas (blur)

107107Image NumériqueImage Numérique

Transformation optique

Transformation optique n pour n :

Principe ?

108108Image NumériqueImage Numérique

Synthèse 2D

28

109109Image NumériqueImage Numérique

Synthèse 2D• Tracé :

• Découpage :

• Remplissage :

110110Image NumériqueImage Numérique

Synthèse 2D : problème

111111Image NumériqueImage Numérique

Synthèse 2D : problème

Exemple: tracé une droite en vectoriel

%!PS-Adobe-2.0 EPSF-2.0%%BoundingBox: 0 0 400 400

%% Version encapsulee (PostScript 2)

newpath0 0 moveto400 200 lineto

strokeshowpage

112112Image NumériqueImage Numérique

Synthèse 2D : problème

Exemple: tracé une droite sur une matrice de pixels

29

113113Image NumériqueImage Numérique

Synthèse 2D : problème

Exemple: tracé une droite sur une matrice de pixels

Algorithmes adaptés à la définition matricielle.

114114Image NumériqueImage Numérique

Synthèse 2D : tracés

� primitives de base : points, segments, cercles etc.

� usage massif � forte optimisation

� choix des pixels à allumer � approximation

115115Image NumériqueImage Numérique

Synthèse 2D : tracés de droite

Cas triviaux

�Segments horizontaux ou verticauxpour x = xD à xF faire :

afficher (x , yD)

�Segments diagonauxi = 0pour x = xD à xF faire :

afficher (x , yD + i)i = i + 1

116116Image NumériqueImage Numérique

Synthèse 2D : tracés de droite

Cas général :

Méthode directe : utilise l'équation de la droite :

y = a x + b

Algorithme : a=(y F - y D)/(x F - x D)b=y D-a*x D

pour x = x D à x F fairey = a * x + bafficher (x , y)

30

117117Image NumériqueImage Numérique

Synthèse 2D : tracés de droite

Cas général :

•Inconvénients méthode directe :

– opération couteuses (*, /)

– arrondis

– trous : si |a| > 1

• Exemple :D (1 , 1) F (3 , 6)

a = ( 6 - 1) / (3 - 1) = 5/2

b = 1 - 5/2 * 1 = - 3/2

( x1 , y1 )= (1,1) ( x2 , y2 )= (2, 7/2)

( x3 ,y3 ) = (3, 6)

118118Image NumériqueImage Numérique

Synthèse 2D : tracés de droite

Cas général :

Améliorations

� si |a| > 1 on parcourir les y et calculer les x

� remplacer les * et / par des + et –� calculs incrémentaux

119119Image NumériqueImage Numérique

Synthèse 2D : tracés de droite

Méthode incrémentale : Principe

Calculer l’étape i en fonction de l'étape i-1autrement dit calculer Pi+1 en fonction de Pi

Exemple: dans le 1er octantx i+1 = x i + 1y i+1 = a x i+1 + b

= a (x i + 1) + b = y i + a

généralisable à tous les octants par symétrie

123

4

56 7

8

120120Image NumériqueImage Numérique

Synthèse 2D : tracés de droite

Méthode incrémentale : 1èreversion

a = (yF-yD)/(xF-xD)y = yDpour x = xD à xF faire :

afficher (x,y)y = y+a

Inconvénients : additions de réels, arrondis

31

121121Image NumériqueImage Numérique

Synthèse 2D : tracés de droite

Méthode incrémentale : 2èmeversion Bresenham(65)

Principe : minimiser la distance entre le segment réel et le segment tracé

Exemple: 1er octant

si |a| < 1/2 alors choisir

Pi+1 (xi + 1, yi)

si |a| > 1/2 alors choisir

Pi+1 (xi + 1, yi + 1)

en pratique, on testera le signe d'une erreur (a-1/2)

Pi Pi+1 ?

Pi+1 ? a=1/2

122122Image NumériqueImage Numérique

Synthèse 2D : tracés de droite

•Algorithme de Bresenham: versionβ octant 1

e = -1/2a = (y F - y D) / (x F - x D)y = y D

pour x = x D à x Ffaire

si e > 0 alors

y = y + 1e = e - 1 + a

sinon

e = e + aafficher (x , y)

123123Image NumériqueImage Numérique

Synthèse 2D : tracés de droite

•Algorithme de Bresenham: versionβ octant 1

•Exemple :• D (1 , 1) F (4 , 3)

• a = 2/3

• e = -1/2

• y = 1

•Problème : division pour calculer « a » + opérations réelles sur l'erreur

•Idée : comme on ne teste que le signe de « e »multiplier « e » par une constante positive 2 * (xD - xF)

3

4

1/6

4

221yi

321xi

3/6-1/61/6e

321i

124124Image NumériqueImage Numérique

Synthèse 2D : tracés de droite

•Algorithme de Bresenham: 1er octant

Dx = xF - xDDy = yF - yDe = - Dxy = yDpour x = xD à xF faire :

si e > 0 alors

y = y+1e = e+2*(Dy-Dx)

sinon

e = e+2*Dyafficher (x , y)

Rq : Coût optimisé

32

125125Image NumériqueImage Numérique

Synthèse 2D : Découpage (clipping)

• Objectifvérifier qu'un affichage reste à l'intérieur de l'écran

• Motivationséconomiser des opérations inutiles

• Extensionen 3D : éliminer les calculs en dehors de l'espace visible

126126Image NumériqueImage Numérique

Synthèse 2D : Découpage (clipping)

•Méthodes :–Points : on teste point par point l'appartenance à l'écran

–Segments : il existe 4 familles de droite

1: segment visible

1 2 : segment invisible23 : segmentpartiellement visible

3 4 : segmentpartiellement visible

4

Idée : tester les extrémités du segment

127127Image NumériqueImage Numérique

Synthèse 2D : Découpage (clipping)

•Méthode: Cohen-SutherlandBasée sur une décomposition du plan en 9 régions repérée par un code binaire.

•la première valeur = 1 si x < xmin,

•la deuxième valeur = 1 si x > xmax,

•la troisième valeur = 1 si y < ymin,

•la quatrième valeur = 1 si y > ymax.

128128Image NumériqueImage Numérique

Synthèse 2D : Découpage (clipping)

•Méthode: Cohen-Sutherland

Simple pour 3 cas :

C(D) = C(F)= 0000[DF] est visible cas 1

C(D) ou C(F) est 0000[DF] en partie visible cas 2

C(D)&&C(F) ≠ 0000[DF] est invisible cas 3

33

129129Image NumériqueImage Numérique

Synthèse 2D : Découpage (clipping)

•Méthode: Cohen-Sutherland

Dernier cas : incertain.

• On calcule l’intersection Idu segment [DF] avec une droite qui formentla fenêtre de clipping.

• On traite le segment [DI]ou [IF] obtenu

I

130130Image NumériqueImage Numérique

Synthèse 2D : Découpage (clipping)

Cas des polygones:

• si l'on veut simplement afficher le contour, un découpage coté par coté suffit.

• si l'on veut ensuite traiter le polygone (le remplir), il faut s'assurer de conserver la connexité

131131Image NumériqueImage Numérique

Synthèse 2D : Découpage (clipping)

Cas des polygones: Sutherland - Hodgman

Idée : découpe du polygone par chacun des cotés de la fenêtre.Mise en œuvre : parcours de la liste des cotés,construction d'une liste intermédiaire.

4 cas possibles :

Si

Sj

(1)

Si

Sj

Sk

(2)

Si

Sj

(3)

Sj

Si

Sk

(4)

132132Image NumériqueImage Numérique

Synthèse 2D : Découpage (clipping)

Cas des polygones: Sutherland – HodgmanAlgorithme : L = liste ordonnée des sommets du polygonepour chaque coté de la fenêtre faire :

NL = {}pour chaque sommet Si de L faire :

si (2) alors NL = NL U {Sk , Sj}si (3) alors NL = NL U {Sj}si (4) alors NL = NL U {Sk}

L = NL

Si

Sj

(1)

Si

Sj

Sk

(2)

Si

Sj

(3)

Sj

Si

Sk

(4)

34

133133Image NumériqueImage Numérique

Synthèse 2D : Découpage (clipping)

Cas des polygones: Sutherland – Hodgman

Exemple

S1

S2

S3

S4

S5

134134Image NumériqueImage Numérique

Synthèse 2D : Remplissage

Introduction• 1èresimages : silhouettes en fil de fer (technologie vectorielle) � pas de remplissage

• évolution technologie : matriciel � évolution algorithmique

� images "remplies"

• 2 familles d'algorithmes�contours affichés sur l'écran

�contours représentés en mémoire(liste de sommets, courbe paramétrique, etc)

135135Image NumériqueImage Numérique

Synthèse 2D : Remplissage

Contours affichés

� Point à point1. parcours de la fenêtre ligne par ligne de haut en

bas (scan-line).

2. test de l'appartenance d'un point à la surface.

3. si on détecte un point allumé alors tous ses voisins (dans le sens du balayage) sont à allumer jusqu'au prochain point déjà allumé

136136Image NumériqueImage Numérique

Synthèse 2D : Remplissage

35

137137Image NumériqueImage Numérique

Synthèse 2D : Remplissage

Contours affichés

•Améliorations :� traçage de segments plutôt que de listes de points

� rectangle englobant pour minimiser le parcours

� détection des concavités, triangulation

138138Image NumériqueImage Numérique

Synthèse 2D : Remplissage

Contours affichés:

� Inondation

• on part d'un point interne au polygone (germe)

• on essaie de colorer ses voisins

• on itère le procédé (récursion)

139139Image NumériqueImage Numérique

Synthèse 2D : Remplissage

Contours affichés:

� Inondation variante :1. tracer des segments dans les 4 directions

2. empiler les voisins non traités

3. si frontière alors redémarrer d'un point dépilé

140140Image NumériqueImage Numérique

Synthèse 2D : Remplissage

Contours affichés:

� Attention à la connexité du contour :Contour 8-connexe � remplissage 4-connexe

Contour 4-connexe � remplissage 8-connexe

Sinon trou ou fuite.

Contour et remplissage4-connexe : trou

Contour et remplissage 8-connexe : fuite

36

141141Image NumériqueImage Numérique

Synthèse 2D : Remplissage

Contours stockés: Principe

– calculer et stocker les extrémités des segments

– principe : remplir par une série de segments horizontaux

142142

143143Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

DéfinitionsDéfinitions

Modélisation géométrique:

Création d'une description numérique des caractéristiques géométriques d'un objet 3D sous la forme d'un fichier informatique.

Modeleur :Logiciel permettant de réaliser la modélisation géométrique et optique d'une scène ou d'un objet 3D.

Exemple: Maya, SoftImage, Rhyno, etc

144144Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

HistoriqueHistorique

Années 60 :Premiers travaux issus du monde industriel

Débuts simultanés dans quatre entreprises :

• Constructeur Boeing (USA) John Ferguson

• Constructeur Ford (USA) Steven Coons

• Constructeur Citroën (France)Paul de Casteljau

• Constructeur Renault (France) Pierre Bézier

1974 :Première conférence universitaire

• University of Utah R. Barnilh & R. Riesenfeld

37

145145Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

HistoriqueHistorique

Premiers travaux :

• Formes simples

• Visualisation en fil de fer

146146Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

HistoriqueHistorique

Aujourd'hui :

• Formes complexes

• Visualisation réaliste

© Pixar 1998

147147Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Domaines d'applicationDomaines d'application

Architecture Cinéma Mécanique

Médecine Jeux vidéo Sculpture virtuelle

Urbanisme ...

148148Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Domaines d'applicationDomaines d'application

• Architecture

• Mécanique

• Médecine

• Urbanisme

• Cinéma

• Jeux vidéo

• Sculpture virtuelle

avec sans

Contraintes physiques

38

149149Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

ClassificationClassification

Il existe 4 familles de modèles :

• Volumique continu

• Volumique discret

• Surfacique continu

• Surfacique discret

150150Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Volumique continuVolumique continu

On définit un volume V avec une fonction F dite d'intérieur/extérieur :

( ) ( ){ }0,,/R,, 3 ≤∈= zyxFzyxPV

On dit que V est défini de manière implicite, pourquoi ?

151151Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Volumique continu : ExemplesVolumique continu : Exemples

Sphère :rayon r centre (a,b,c)

Ellipsoïde :rayons (p,q,r) centre (a,b,c)

( ) ( ) ( ) ( ) 2222,, rczbyaxzyxF −−+−+−=

( ) ( ) ( ) ( )2

2

2

2

2

2

,,r

cz

q

by

p

axzyxF

−+−+−=

152152Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Volumique continu : ExemplesVolumique continu : Exemples

Equipotentielles :

• Sources de potentiel :

• Seuil : T

• Loi de décroissance :

( )iiii zyxP ,,

( )zyxf i ,,

( ) ( ) TzzyyxxfzyxFN

iiiii −−−−=∑

=1

,,,,

39

153153Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Volumique continu : ExemplesVolumique continu : Exemples

Equipotentielles :

• Sources de potentiel :

• Seuil : T

• Loi de décroissance :

( )iiii zyxP ,,

( )zyxf i ,,

154154Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Volumique continu : ExemplesVolumique continu : Exemples

Equipotentielles :

155155Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Volumique continuVolumique continu

Inconvénients:

• Pas de calcul simple d'un point sur la surface.Conséquences ?

• Pas de paramétrisation.Conséquences ?

Avantages :

• Stockage compact.• Bonne gestion des contacts entre volumes.• Bonne adaptation aux opérations booléennes.

156156Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Volumique discretVolumique discret

On échantillonne un volume V en une liste de N volumes

élémentaires: vi

vi : Souvent parallelépipédiques et alignés le long des axes.

UN

iiv

1=

=V

Quel nom portent ces volumes élémentaires ?

40

157157Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Volumique discretVolumique discret

Décomposition uniforme

Volumes de taille fixe

Grille 3D qui s'appuie sur le volume englobant de l'objet

158158Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Volumique discretVolumique discret

Décomposition adaptative

Subdivision récursivedu volume englobant

Arbre octal

159159Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Volumique discretVolumique discret

Arbre octal :

IntérieurExtérieurMixte, à subdiviser

160160Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Volumique discretVolumique discretInconvénient:

• Coût de stockage.

• Difficulté d'édition.

• Définition approximative.

Avantage:

• Applicable à n'importe quel objet.

• Facilité de calcul des propriétés.

• Facilité de réalisation des opérations booléennes.

Utilisation :

• Imagerie médicale.

• Géologie, météorologie,...

41

161161Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique continuSurfacique continu

On définit une surface S avec une équation explicite S(u,v)dépendant de 2 paramètres compris dans [0,1]

( ) ( ) [ ] ( ) ( ){ }zyxvuSvuRzyxP ,,,,1,0,/,, 23 =∈∃∈=S

On dit que S est définie de manière explicite, pourquoi ?

162162Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique continu : ExemplesSurfacique continu : Exemples

Sphère :rayon r centre (a,b,c)

Ellipsoïde :rayons (p,q,r) centre (a,b,c)

( )( ) ( )( ) ( )( )

+++

=vrc

uvrb

uvra

vuS

πππππ

cos

2sinsin

2cossin

,

( )( ) ( )( ) ( )( )

+++

=vrc

uvqb

uvpa

vuS

πππππ

cos

2sinsin

2cossin

,

163163Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique continu : ExemplesSurfacique continu : Exemples

Courbes B-spline:

• Points de contrôle : Pk

• Fonctions de base de degré p-1 : )(, tN pk

( ) ( ) k

n

kpk PtNtC ∑

=

=0

,

164164Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique continu : ExemplesSurfacique continu : Exemples

Courbes B-spline :

P0

P6

P4

P3

P2P1

P5

42

165165Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique continu : ExemplesSurfacique continu : Exemples

Autres fonctions de base ���� Courbes cardinale spline :

P1

P0

P5P4

P3

P2

P6

166166Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique continu : ExemplesSurfacique continu : Exemples

Surfaces B-splines :

• Points de contrôle : Pij

• Fonctions de base :

p-1 et q-1 sont les degrés des fonctions de base

( ) ( )vNuN qjpi ,, et

( ) ( ) ( ) ji

k

i

l

jqjpi PvNuNvuS ,

1 1,,, ∑∑

= =

=

167167Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique continu : ExemplesSurfacique continu : Exemples

Surfaces B-splines :

168168Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique continu : ExemplesSurfacique continu : Exemples

Surfaces B-splines :

43

169169Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique continu : ExemplesSurfacique continu : Exemples

Surfaces B-splines :

170170Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique continu : ExemplesSurfacique continu : Exemples

Surfaces B-splines :

171171Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique continu Surfacique continu

Inconvénients:• Stockage peu compact.

• Mal adapté aux opérations booléennes.

• Problème de continuité lors des raccordements

de surfaces.

Avantages :

• Définition explicite.

• Grande variété de formes.

• Visualisation interactive (Z-buffer).

172172Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique discretSurfacique discret

On échantillonne une surface S en une liste de N

facettes si.

Le plus souvent si est triangulaire. Pourquoi ?

∑=

=N

iis

1

S

44

173173Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique discretSurfacique discret

Décomposition uniforme

Echantillonnage du domaine de variation du paramètre

dans le cas de surfaces paramétriques

174174Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique discretSurfacique discret

Décomposition adaptative

Echantillonnage selon des critères géométriques :

courbure,...

175175Image Numérique : Modélisation géométriqueImage Numérique : Modélisation géométrique

Surfacique discretSurfacique discret

Inconvénients:• Stockage peu compact.

• Mal adapté aux opérations booléennes.

• Définition approximative

• Surface C0

Avantages :

• Définition explicite.

• Applicable à n’importe quel objet.

• Visualisation interactive (Z-buffer).

176176

45

177177Image Numérique : construction 3DImage Numérique : construction 3D

Surfacique : Extrusion

• Extrusion simple :

Axe : Courbe « gauche »

Section: cercle

=)(

)(

)(

)(

vz

vy

vx

vA

178178Image Numérique : construction 3DImage Numérique : construction 3D

Surfacique extrusion

• Extrusion simple :

Axe : Courbe « gauche »

Section: cercle

179179Image Numérique : construction 3DImage Numérique : construction 3D

Surfacique : Extrusion

• Etape 1: on définit les parallèles sur l’axe par une suite v0 , v1 , … vp

A(v0 )

A(vk)

A(vp)

180180Image Numérique : construction 3DImage Numérique : construction 3D

Surfacique : Extrusion

• Etape 2: pour chaque point A(vk) on cherche le plan orthogonal à l’axe pour placer la section (repère de Frenet local).

A(vk)

)()(

)()(

εε

+

+=kk

kkk

vAvA

vAvATr

� Vecteur tangent :

46

181181Image Numérique : construction 3DImage Numérique : construction 3D

Surfacique : Extrusion

• Etape 2: pour chaque point A(vk) on cherche le plan orthogonal à l’axe pour placer la section (repère de Frenet local).

)( ε−kvA

)( ε+kvA

)( kvA

−kTr

+kTr

kN'r

� Vecteur quasi-normal :

−+

−+

−−=

kk

kkk

TT

TTN rr

rrr'

(Tk et N’k ne sont pas colinéaires )

182182Image Numérique : construction 3DImage Numérique : construction 3D

Surfacique : Extrusion

• Etape 2: pour chaque point A(vk) on cherche le plan orthogonal à l’axe pour placer la section (repère de Frenetlocal).

kkk TBNrrr

∧=

�Vecteur binormal:

�Vecteur normal:

kkk NTB 'rrr

∧=

),,),(( kkkk BNTvArrr

Repère de Frenet :

183183Image Numérique : construction 3DImage Numérique : construction 3D

Surfacique : Extrusion• Etape 2: pour chaque point A(vk) on cherche le plan

orthogonal à l’axe pour placer la section (repère de Frenet local).

A(vk)

kT

kN

kB

),,),(( kkkk BNTvArrr

Repère de Frenet :

184184Image Numérique : construction 3DImage Numérique : construction 3D

Surfacique : Extrusion

• Etape 3: on trace la section échantillonnée dans ce plan.

kTr

kBr

kNr

)( kvA0u

1u

2u

3u

quM i

Dans le planles coordonnées d’un point M du cercle section sont données par :

),( kk BNrr

kkk BNvAMrr

.sin.cos)( θθ ++=

Avec : on calcule Mi

ii u.πθ =

θi

47

185185Image Numérique : construction 3DImage Numérique : construction 3D

Surfacique : Extrusion

• Etape 4: on génère les facettes.

186186Image Numérique : construction 3DImage Numérique : construction 3D

Cylindres Généralisés : extension

))(),(( ubuau a

Section de forme variable :

Exemple : jusqu’ici la section était circulaire :

==

uub

uua

ππ

sin)(

cos)(

187187Image Numérique : construction 3DImage Numérique : construction 3D

Surfacique : Extrusion

))(),(( ubuau a

Section de forme variable :

klklk BubNuavAMrr

).().()( ++=

Calcul du point M :

188188Image Numérique : construction 3DImage Numérique : construction 3D

Volumique: CSG

CSG : Géométrie Constructive des Solides

Principe : construire des solides de forme complexe en combinant des solides de forme simple (primitives) grâce à des opérations booléennes (union, intersection, différence)

Le solide est représenté par l’historique de sa construction sous la forme d’un arbre binaire dont les feuilles sont lesprimitives et les nœuds les opérations booléennes.

48

189189Image Numérique : construction 3DImage Numérique : construction 3D

Volumique: CSG

Exemple: construction d’une bobine

Primitives :• 3 cylindres• 2 cones

190190Image Numérique : construction 3DImage Numérique : construction 3D

Volumique: CSG

Exemple: construction d’une bobine

191191Image Numérique : construction 3DImage Numérique : construction 3D

Volumique: CSG

Exemple: construction d’une bobine

http://www.limsi.fr/

192192

49

193193DéformationsDéformations

Déformation :

But : Enrichir la gamme des formes possibles.

Principe : Elaborer des formes complexes par transformations successives de formes simples.

194194Image Numérique : déformationImage Numérique : déformation

Déformations axiales : Barr 84

Exemples :

Original Taper Twist Bend

195195Image Numérique : déformationImage Numérique : déformation

Déformations axiales : Barr 84

Exemples :

Original Taper Twist Bend

196196Image Numérique : déformationImage Numérique : déformation

FFD : Sederberg & Parry 86

FFD = FreeForm Deformation

Principe et Analogie: • On plonge l’objet à déformer dans un bloc

de « plastique » flexible de forme parallélépipédique.

• On déforme le bloc de « plastique », l’objet inclus est également déformé.

Utilisation : Dans des soft de haut niveau (Maya, SoftImage, …)

Domaine d ’application: Tous les modèles

50

197197Image numérique : déformation ?Image numérique : déformation ? 198198Image numérique : déformation ?Image numérique : déformation ?

Bump mapping

Principe : Perturbation de la normale à la surface. [Blinn 78].La géométrie de l’objet n’est pas modifiée.

199199Image numérique : déformation ?Image numérique : déformation ?

Displacement mapping :

Principe : Perturbation de la surface le long de la normale [Cook 84].

La géométrie de l’objet n’est pas modifiée !