Synthèse d images L3 Présentation du module Sandrine LANQUETIN Bureau G08 sandrine.lanquetin@u-bourgogne.fr Qui? Quand? Mode d emploi M Intervenants : Æ S. Lanquetin sandrine.lanquetin@u-bourgogne.fr M CM/TD/TP Æ Début CM : c'est parti! Æ Début TD : 5 septembre Æ Début TP : septembre M Ponctualité : CM TD TP Projet Æ En cas d absence : récupérer!!! M Support de cours : http://ufrsciencestech.u-bourgogne.fr/~slanquet/ SyntheseImage.php M Notes: Æ projet avec démo et court rapport (0 pages) Æ Exam : heures 3 4 Note de Projet Examen M Projet avec démo et rapport (0 pages) Inscription : jusqu au 3 octobre par le site. Démo : 3-4 novembre dans créneaux TD et TP Æ Binôme par TP éventuellement TD si possible Æ Note par étudiant (pas par projet) Æ 5pts de pénalité par jour de retard M Inscription des binômes sur le site M Rapport papier jour démo (pas le code source) M Déposer sur le site : M Code source «allégé» M Une image du projet.jpg ou.png M Plagiat interdit (pas de code des copains ou d internet) S. Lanquetin sinon sanctions L3 Info, Synthèse d images 5 M Modalités examen Æ Pas de documents Æ unique feuille manuscrite recto-verso Æ Questions Cours + Exercices 6
Modélisation des objets M Représenter un monde 3D en D Introduction 7 8 Modélisation des objets Utilisation Æ Systèmes d exploitation Æ Visualizations graphiques et deboggeurs Æ Visualiser des systèmes de logiciels complexes Représentation D Représentation 3D 9 0 M Visualisation Médicale M Visualisation Scientifique The Visible Human Project MIT: Image-Guided Surgery Project
M CAO M Assemblage 3 Modélisation avec Courbes et Surfaces en CAO 3 4 M Films 5 8 7 6 5 Pixar: Monster s Inc. Square: Final Fantasy 6 M Jeux GT Racer 3 Square: Final Fantasy 7 8 3
M Réalité virtuelle Bref historique Elumens VisionStation CMU CUBE 9 M 950 : Ben Laposky utilise un oscilloscope pour créer des images M Whirlwind Computer (MIT, 950): Entrée par perforatrices, sortie par imprimante / traceur (en batch) M er système de CAO (IBM, 959) General Motors et IBM développent «DAC-» (Design Augmented by Computers). M 96 : au MIT (Massachussetts Institute of Technologie), Steve Russell crée le premier jeu vidéo : SpaceWar 3 4 4
M Sketchpad (Sutherland, MIT, 963): premier système graphique véritablement interactif à l'aide d'un moniteur CRT et d un crayon lumineux M 968 : Première souris (Douglas Englebart) 5 6 M 96 : P. Bezier (Renault) met au point une méthode pour tracer des courbes ou des surfaces Æ 968: Création de Evans Sutherland Æ 969: Premier SIGGRAPH 7 8 M 97: Ombrage de Gouraud M 97: Pong (premier jeu ordinateur) 9 30 5
M 973: Westworld, er film avec manipulation d images informatiques M 974: z-buffer par Ed Catmull Animation par image clé et morphing. 3 3 974: Intel développe le processeur 8080 M 974 : er court métrage 975: Bill Gates lance Microsoft 976: Steve Jobs et Steve Wozniak lancent Apple. 33 34 Æ 975: Ombrage de Phong Martin Newel modélise une théière 3D avec des patchs de Bezier M 976 : Jim Blinn développe le placage de texture et de bosses (bump mapping) 35 36 6
M 976 : FutureWorld premier film avec des images 3D générées M 977 : Star Wars plans de l étoile de la mort 37 38 M 979 : Lancer de rayon développé par Turner Whitted 98 : IBM introduit le premier IBM PC (6 bit 8088 chip) 39 40 M 983: Première publicité avec image 3D 985: The Last Starfighter est le premier film d action avec des animations 3D et des modèles très détaillés. 989: Abyss est le premier film à inclure des animations de personnage 3D 4 4 7
M 995: Toy Story (Pixar et Disney) est le premier long métrage d animation 3D 43 44 990 : Windows 3.0 ships 994 : PlayStation et N64 released 000 : PlayStation 00 : MS Xbox 006/007 : Xbox360, PlayStation3 Wii 0 : Wii U 03 : Xbox One, PlayStation 4 00 M Catégorie de meilleur film d'animation M er: Shrek M Et plein d autres M En ce moment : http://www.filmsanimation.com/ 05 45 46 Matériel Pipeline graphique Périphériques d entrée Clavier Souris Table graphique Manette de jeux Ordinateur Matériel Logiciel Périphériques de sortie Écran Imprimante Modélisation Habillage Visualisation Interaction Utilisateur Animation 47 48 8
Pipeline graphique Modélisation Habillage Visualisation Interaction Utilisateur Animation Modélisation M Fil de fer Objet représenté par ses arêtes M Surfacique Objet représenté par la surface qui le limite M Volumique Objet représenté par le volume qu il occupe 49 50 Fil de fer Pipeline graphique M Représentation ambigüe Modélisation Habillage Visualisation Interaction Utilisateur Animation 5 5 Habillage Pipeline graphique Couleur RGB, HSL, Texture D, 3D Modélisation Habillage Visualisation Interaction Utilisateur Animation 53 54 9
Visualisation M Définir et positionner les lumières et la caméra. M Lumière : Plusieurs sources et différents types. M Caméra : Projection de la scène sur l écran : surface à deux dimensions. Pipeline graphique Modélisation Habillage Visualisation Interaction Utilisateur Animation 55 56 Interaction utilisateur Pipeline graphique Evénement Tant que nouvel Événement Modélisation Habillage Souris Clavier Visualisation Interaction Utilisateur Traitement de L événement Animation 57 58 Animation M Représentation du mouvement des différents objets de la scène. M Continuité : Il s agit de présenter une séquence d images à une allure suffisamment rapide. Avantages de l infographie M Moyen naturel pour communiquer. M Produire des images de synthèses. M Images animées. M Dynamique du mouvement. M Dynamique de mise à jour. 59 60 0
Manipulation de la géométrie et de la couleur Manipulation de la géométrie et de la couleur Monsters, Inc Manipulation de la géométrie et de la couleur Manipulation de la géométrie et de la couleur Manipulation de la géométrie et de la couleur Plan du cours M Rappels Maths Synthèse M Bases OpenGL M Animation/Interaction M Textures M Lumières 66
Vecteurs M Suite ordonnée de n valeurs Rappels M Utilisation Æ Position d un point dans un repère Æ Orientation d une surface dans l espace Æ Direction de la lumière agissant sur les objets. 67 Exemples : x y x y z 68 Opérations vectorielles Norme d un vecteur M Multiplication d un vecteur par un réel u M Addition de deux vecteurs v u k. u u + v 69 u x y z u = x + y + z 70 Vecteur normé Produit scalaire M Vecteur de norme égale à u = u u u x y z *. * v * x y z u. v = x x + y y + z z 7 7
Produit scalaire M Calculer le produit scalaire! # u # " $! # v # % " 3 $ % u. v Signe pdt scalaire u.v > 0 angle aigu u.v = 0 angle droit u.v < 0 angle obtu 73 74 Pdt vectoriel Produit vectoriel u v = x x u y v y z z x y.z y.z y = z.x z.x z x.y x.y x y z M Calculer le produit scalaire u v u v! # = # "! # u # " $! # # % " $ % " $ v $ # $ % % ' ' x y x y 75 76 Matrice Addition de matrices M Matrice de dimensions n*m M Même nombre de lignes et de colonnes Æ Tableau de nombres Æ n lignes A Æ m colonnes ( aij ) Æ Matrice carrée : n=m a m = = aij a n a a a nm A= ( a ij ) B= ( b ij ) ( ij ij ) ( ij ) C= A+ B= a + b = c 77 78 3
Addition de matrices M Calculer la somme A+B! A = # " 0 3 $! B = # % " 0 3 $ % Multiplication de matrices M Nbre de colonnes de A =nbre de lignes de B=p A= ( a ij ) B= ( b ij ) p C = AB. = a. b = c k= 0 ( ) ik kj ij 79 80 Produit de matrices Facettes M Calculer le produit de matrices A.B! B = # " 0 3 $ %! A = # " 0 3 $ % 8 8 8 Facettes M Objets simple : primitives M Objets complexes : facettes Æ Points : liste des coordonnées Æ Faces : liste des indices des points 83 83 Ex : P 3 (0,) P (,) Points 0 0 0 0 P 0 (0,0) P (,0) Faces 0 3 84 4
Facettes begin v -.0 -.0 -.0 v -.0 -.0.0 v.0 -.0.0 v.0 -.0 -.0 v -.0.0 -.0 v -.0.0.0 v.0.0.0 v.0.0 -.0 f 4 3 f 3 7 6 f 3 4 8 7 f 5 8 4 f 6 5 f 5 6 7 8 end #VRML V.0 utf8 DEF cube Transform { translation 0.9843 0 0.45 children [ Shape { appearance Appearance { material Material { diffusecolor 0.0337 0.434 0.555 } } geometry DEF cube-faces IndexedFaceSet { ccw TRUE solid TRUE convex TRUE coord DEF cube-coord Coordinate { point [ -.0 -.0 -.0, -.0 -.0.0,.0 -.0.0,.0 -.0 -.0, -.0.0 -.0, -.0.0.0,.0.0.0,.0.0 -.0]} coordindex[ 0, 3,,, -,,, 6, 5, -,, 3, 7, 6, -, 0, 4, 7, 3, -, 0,, 5, 4, -, 4, 5, 6, 7, -] }}]} 85 M Décrire ce tétraèdre x P P 3 z P 0 P Æ Points : liste des coordonnées Æ Faces : liste des indices des points y 86 87 88 Les normales Facettes M Normale à la face P P P 3 x - Sans normales - - Avec normales - a n b N = P 0 P P 0 P 3 P c 3 P n = N / N P P 0 P 3 z P y P glnormal3f(a,b,c) 0 P 89 90 5