1 VRML 97 Julien Lenoir (Thanks to Stéphane LOUIS DIT PICARD)

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
LES NOMBRES PREMIERS ET COMPOSÉS
Reporting de la Cellule Nationale Droit dOption Situation au 31 décembre 2011.
Présentation de la circonscription Année 2011/2012 Jeudi 24 novembre 2011.
Additions soustractions
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
Le château Clique le plus rapidement possible sur le numéro de la chambre du trésor : 6 ?
11 Bienvenue Entrez le nom du groupe ou projet ici mardi, 17 novembre 2009.
Les numéros 70 –
Les numéros
Les identités remarquables
Le, la, les words Possessive Adjectives MINE!!. 2 My in french is mon, ma,mes... Le word/ begins with a vowel: Mon La word: Ma Les word: Mes.
Xavier Mouranche Registre e-MUST Evaluation en Médecine dUrgence des Stratégies Thérapeutiques de lInfarctus du Myocarde.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Introduction à la logique
Algorithme et structure de données
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
Données statistiques sur le droit doption au 31/01 8 février 2012.
Technologies et pédagogie actives en FGA. Plan de latelier 1.Introduction 2.Les technologies en éducation 3.iPads 4.TNI 5.Ordinateurs portables 6.Téléphones.
Enquête sur le Rapport de la Commission Bouchard-Taylor Jack Jedwab Directeur général Association détudes canadiennes 11 juin 2008.
Révision (p. 130, texte) Nombres (1-100).
La législation formation, les aides des pouvoirs publics
1 7 Langues niveaux débutant à avancé. 2 Allemand.
SERABEC Simulation sauvetage aérien avec un Hercule C130. Départ de St-Honoré le 4 octobre Durée de vol 3 heures. Premier vol en Hercule pour les.
La méthodologie………………………………………………………….. p3 Les résultats
Structure(djs)TéléphoneFax ADRA R049,96,03,21 CHLEF027,77,22,66 /77,49, LAGHOUAT029,90,41,08029,90,42,47 OUM EL BOUAGHI032,42,16,26032,42,45,32.
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Présentation générale
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Le drapeau canadien comme symbole de fierté nationale : une question de valeurs partagées Jack Jedwab Association détudes canadiennes 28 novembre 2012.
Les nombres.
Fierté envers les symboles et institutions canadiens Jack Jedwab Association détudes canadiennes 26 novembre 2012.
Conseil Administration AFRAC – 2 décembre Toulouse 1 Fermes de références Palmipèdes à foie gras Synthèse régionale – Midi Pyrénées Exercice
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
LES NOMBRES PREMIERS ET COMPOSÉS
Logiciel gratuit à télécharger à cette adresse :
Les chiffres & les nombres
Les Monnaies et billets du FRANC Les Monnaies Euro.
RACINES CARREES Définition Développer avec la distributivité Produit 1
Systèmes mécaniques et électriques
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
La statistique descriptive
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Jean-Marc Léger Président Léger Marketing Léger Marketing Les élections présidentielles américaines.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Les Nombres 0 – 100 en français.
Aire d’une figure par encadrement
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
Les fondements constitutionnels
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Certains droits réservés pour plus d’infos, cliquer sur l’icône.
Conception et développement d ’une interface entre un environnement de réalité virtuelle et un périphérique d ’interaction.
Nom:____________ Prénom: ___________
PowerPoint Créer une présentation Créer une diapositive de texte
Discussion autour du référentiel
Annexe Résultats provinciaux comparés à la moyenne canadienne
EGALITE PROFESSIONNELLE ENTRE LES FEMMES ET LES HOMMES
Mastère photogrammétrie, positionnement, mesures de déformation VRML Yves EGELS.
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
Bienvenue.
Transcription de la présentation:

1 VRML 97 Julien Lenoir (Thanks to Stéphane LOUIS DIT PICARD)

2 Historique & Présentation

3 Pourquoi de la 3D ? Enrichissement du Web Plusieurs avantages à la 3D –Conception d’objet 3D (architecture, mécanique,….) –TéléVente (présentation, support, ….) –Reconstitution historique (monuments, faits, …. ) –Apprentissage (médecine, chimie, ……)

4 La naissance de VRML : Naissance d’HTML [Beners-Lee] 1992 : Création du format Open Inventor [SGI] Mai 1994 : Présentation des travaux de Marc Pesce & Tony Parisi sur les interfaces de Réalité Virtuelle è Création d’une « mailing list » pour définir un langage universel de modélisation 3D

5 VRML 1.0 Octobre 1994 : Naissance de VRML 1.0 (basé sur le format Open Inventor de SGI): –Indépendance de la plate-forme –Passage sur des lignes bas-débits (modems) –Format ASCII

6 L’évolution de la norme VRML Début 1996 : Proposition d’extension –Prise en compte de la dynamique des « mondes virtuels » Août 96 : Naissance de VRML 2.0 Décembre 97 : Normalisation ISO è VRML 2.0 (aussi appelé VRML97)

7 VRML 97 Principales améliorations par rapport à la version 1.0 : –Interaction –Animation des scènes –Prototypage d’objets –Amélioration du réalisme

8 L’avenir : X3D Multi-utilisateurs Encore plus de réalisme Coopération avec les nouveaux standards –D-HTML –MPEG 4 –XML

9 Le succès de VRML Standard normalisé et libre de droit Accessibilité : –format ascii  édition/compréhension simple –nombreux browsers sur de nombreux OS (navigateur WEB + Plug-in VRML) –une documentation (

10 Structure & Format Général

11 Un exemple simple #VRML V2.0 utf8 Shape { appearance Appearance { material Material { diffuseColor } } geometry Sphere { radius 5.0 } }

12 L’exemple : l’entête du fichier #VRML 2.0 utf8 #  Symbole de commentaires VRML 2.0  fichier contenant une description VRML au format 2.0 utf8  format utilisé pour coder le texte

13 L’exemple : la description géométrique Shape {...}  le nœud pour définir un objet visible appareance {...}  paramètre l’attribut visuel de l’objet geometry {...}  paramètre la géométrie de l’objet

14 Notion de champs, de nœud et d’arbre Un nœud est composé de champs : –chaque champs est typé –chaque champs permet de configurer le nœud Une hiérarchie de nœuds forme un arbre : –des nœuds spéciaux (appelés « nœud de groupe ») permettent de créer la hiérarchie

15 Dans l’exemple Le nœud Shape est composé : –un champs appearance de type Appearance –un champs geometry de type SFNode (i.e. n ’importe quel nœud) Le nœud Appearance est composé : –un champs material de type Material Le nœud Material est composé : –un champs diffuseColor de type SFColor

16 Les types de base

17 Type simple : –SFxxx  E Type tableau : –MFxxx  [E 1, E 2, …, E n ] Modes d’accès : –EventIn  écriture –EventOut  lecture –ExposedField  lecture/écriture

18 Booléen : –SFBool –MFBool n’existe pas ! Vecteur 2D (coordonnées dans un plan) –SFVec2f  X Y –MFVec2f  [X 1 Y 1, …, X n Y n ] Vecteur 3D (position, scale) : –SFVec3f  X Y Z –MFVec3f  [X 1 Y 1 Z 1, …, X n Y n Z n ]

19 Rotation : –SFRotation  X Y Z angle (en radians) –MFRotation  [X 1 Y 1 Z 1 angle 1,..., X n Y n Z n angle n ] Couleur : –SFColor  R G B –MFColor  [R 1 G 1 B 1, …, R n G n B n ] Chaine de caractères : –SFString  “chaine” –MFString  [“chaine 1 ”, …, “chaine n ”]

20 Nœud : contient n’importe quel nœud VRML –SFNode  nœud –MFNode  [nœud 1, …, nœud n ]

21 Quelques nœuds géométriques simples

22 Une boite 3D geometry Box { size X Y Z }

23 Un cône geometry Cone { bottomRadius R height H side TRUE/FALSE bottom TRUE/FALSE }

24 Un cylindre geometry Cylinder { radius R height H side TRUE/FALSE top TRUE/FALSE bottom TRUE/FALSE }

25 Une sphère geometry Sphere { radius R }

26 L ’apparence : Couleur & Texture

27 Le nœud « Material » diffuseColor  Couleur de l’objet ambientIntensity  Proportion de réflexion (0-1) specularColor  Couleur du spéculaire emissiveColor  Lumière propre shininess  Brillance (0-1) transparency  Degré de transparence (0-1)

28 Les textures 3 formats de texture reconnus : –statiques : images au format jpeg & png –animées : vidéo au format mpeg texture ImageTexture { url "texture.jpg" repeatS TRUE/FALSE repeatT TRUE/FALSE }

29 Les nœuds géométriques plus complexes

30 La « facettisation » Modélisation courante Nombreux modeleurs Formes complexes

31 Format général : la notion d’index Shape { geometry IndexedFaceSet { coord Coordinate { point [ x1 y1 z1, x2 y2 z2, … ] } coordIndex [ 0,1,2,-1, 4,5,1,-1,... ] } } Un point 3D Une facette

32 Exemple : Une pyramide geometry IndexedFaceSet { coord Coordinate { point [ 1 0 0, 0 1 0, 1 1 0, ] } coordIndex [ 0,1,2,-1 #facette 1 0,1,3,-1 #facette 2 0,2,3,-1 #facette 3 1,2,3,-1 #facette 4 ] }

33 La couleur des facettes coordIndex […] color Color { color [ 1 0 0, 0 1 0, 0 0 1, 1 0 1, ] } colorPerVertex FALSE

34 Des textures & des facettes Placage par défaut sur une boîte englobante –Problème de déformation de la texture Placage précis: –utilisation du nœud TextureCoordinate

35 L’extrusion Extrusion

36 Un exemple (1/2) geometry Extrusion { crossSection [ 1 0, , , , 0 -1, , , , -1 0, , , , 0 1,.27.67,.71.71,.67.27, 1 0 ] spine [ 0 0 0, ] beginCap TRUE endCap TRUE solid TRUE }

37 Un exemple (2/2) Résultat visuel :

38 Le placement des objets

39 Les axes Objet centré en (0,0,0) Comment placer les objets ? Y X Z

40 Le point de vue Viewpoint { position 0010 orientation0010 fieldOfView0.785# pi/4 description "... " jump TRUE } Y X Z

41 Le nœud « Group » Pour grouper plusieurs objets Group { children [ Shape { geometry cylinder {} }, Shape { geometry cube {} } ] } cylinder Group Shape cube

42 Le nœud « Transform » Transform { translation rotation children [ Shape { appearance Appereance { material Material {} } geometry Cylinder {} } ] } Transform Shape Cylinder Appareance Material

43 Les différentes transformations possibles Une translation de type SFVec3f Une rotation de type SFRotation Une mise à l’échelle (scale) de type SFVecf3f

44 Ordre des transformations Transform { translation tx ty tz rotation rx ry rz angle scale sx sy sz } ATTENTION A LA COMPOSITION DES TRANSFORMATIONS

45 Propagation des transformations Objet 1 Objet 2 Transform Objet 3 Transform

46 Réutilisation & Prototypage

47 DEF & USE DEF nom_du_nœud nœud {...} USE nom_du_nœud

48 Exemple de DEF & USE DEF cuberouge Shape { appearance Appearance { material Material { diffuseColor } } geometry Box {} }... Transform { rotation... children [ USE cuberouge ] }...

49 Les PROTO Réutilisation des objets comme pour le DEF Création de nouveaux nœuds Paramétrage possible

50 Syntaxe Générale PROTO nom_du_proto [ field type nom_param valeurs … ] { # définition de l’objet }

51 Un exemple de prototype PROTO Colonne [ field SFColor couleur ] { Shape { appearance Appearance { material Material { diffuseColor IS couleur } geometry Cylinder {} } } L’appel du nœud devient : Colonne {couleur 1 0 0}

52 L’extérieur Nœud « Inline » : Inline {url "objet.wrl"} Nœud « ExternProto » : EXTERNPROTO LeProto [] "lefichier.wrl" Nœud « Anchor » : Anchor { url ["lefichier.html"] children […]}

53 Les sources lumineuses

54 Les sources lumineuses Pas de représentation visuelle 3 types de sources physiques: –Directionnal Light : source considérée à l’infinie, rayon parallèle –Point Light : point lumineux, émission dans toutes les directions –Spot Light : point lumineux, émission dans une seule direction (coûteux en calcul)

55 Les attributs communs aux différents types de lumière on : allumé ou éteint color : la couleur émise intensity : la brillance de la source ambientIntensity : luminosité ambiante

56 Interaction & Navigation La communication par routes

57 La propagation des modifications Mécanisme de ROUTE : propagation d’évènements ROUTE TRS1.translation TO TRS2.translation (ROUTE TRS1.translation_changed TO TRS2.set_translation ) Attention au type ! (les deux champs d’une route doivent être de même type) Nœuds nommés par des DEFs Routes décrites en fin de fichier

58 L ’interaction : généralités

59 Interaction ? Action de l’utilisateur sur le monde  Modification de l’état de l’affichage Notion de capteurs (Sensors): –récupérer les actions de l’utilisateur –placer dans l’arbre VRML avant les nœuds considérés comme pouvant être manipulés –utiliser le mécanisme de routes pour propager les événements

60 Différents capteurs TouchSensor CylinderSensor PlaneSensor SphereSensor ProximitySensor VisibilitySensor

61 L ’interaction : un exemple

62 Une Lampe & Un Interrupteur

63 Diagramme de Routes nœud TouchSensor nœud PointLight eventOut isActive de type SFBOOL field on de type SFBOOL route

64 Le code associé Group { children [ DEF bouton TouchSensor { } sa représentation graphique Inline { url [ ‘‘boutonlampe.wrl’’ ] } ] } Def lampe pointLight { location onFALSE# lampe éteinte au début } ROUTE bouton.isActive TO lampe.on

65 L ’animation : généralités

66 Animation ? Modification du monde : –Provoquée par l’utilisateur (via les sensors) –Automatique, provoquée par des timer (TimeSensor) Interpolateur pour générer les animations

67 Le Timer (1) Génère des top horloge à intervalle régulier DEF TIMER TimeSensor { cycleInterval 1 loop FALSE enabled TRUE startTime 0 stopTime 0 }

68 Le Timer (2) Champs cycleIntervaltaille de chaque cycle enabledactiver/désactiver le timer loopindique si le timer boucle une fois lancé (cycle) startTimeheure de départ du timer stopTimeheure de fin du timer évènements (sortants) isActiveenvoi TRUE quand le timer démarre, et FALSE à la fin cycleTimeTime de départ, envoyé au début fraction_changedfraction du cycle entre 0 (debut) et 1 (fin) timetemps courant

69 Les interpolateurs Création d’animation sur les objets 3D Interpolateur: –des clés –des valeurs pour chacune des clés Permet de générer une valeur en fonction de la valeur clé que l’interpolateur reçoit Evénements associés: –set_fraction (eventin) –value_changed (eventout)

70 L’interpolateur : un exemple DEF COULEUR ColorInterpolator { key [0, 0.25, 0.5, 0.75, 1 ] keyValue [0 0 0, , , , 1 1 0] }

71 D’autres interpolateurs ColorInterpolator CoordinateInterpolator NormalInterpolator OrientationInterpolator ScalarInterpolator

72 L ’animation : un exemple

73 Une lampe & Un variateur Luminosité progressive : étapes intermédiaires

74 Le diagramme de Routes Touch Sensor Time Sensor Color Interpolator PointLight touchtime startTime fraction changed set_fraction value_changed color déclencheur timer moteur d’animation destination

75 Le code associé ROUTE TIMER.isActive TO AMPOULE.on ROUTE BOUTON.touchTime TO TIMER.startTime ROUTE TIMER.fraction_changed TO COULEUR.set_fraction ROUTE COULEUR.value_changed TO AMPOULE.color

76 Les Scripts

Scripts Utilisation des évènements de type eventIn et eventOut pour l’entête de la fonction Utilisation du mécanisme de ROUTE pour connecter les eventIn et eventOut du script à des champs de l ’arbre VRML Script désigné par une URL : –JavaScript –VRMLscript –etc...

78 Un Exemple DEF LE_SCRIPT Script { eventIn SFTime touchTime field SFBool Active TRUE eventOut SFBool enabled url [ "javascript: function touchTime(eventValue) { if (!Active) { Active=true; enabled=true; } else { enabled=false; Active=false; } }" ] } Variables du script Corps du script

79 Les variables EventIn  Valeur d’entrée du script (à chaque EventIn = une fonction) EventOut  Valeur de sortie du script (utile pour les routes) Field  Variable locale au Script

80 Utilisation ROUTE BOUTON_TCHOU.touchTime TO LE_SCRIPT.touchTime ROUTE LE_SCRIPT.enabled TO TIMER.enabled

81 D’autres nœuds VRML

82 Le rendu sonore Sound : intensité, localisation, direction, zone maxBack minBack minFront maxFront

83 Un exemple de son Sound { source AudioClip { description "Toto" url "fichier.wav" loop TRUE } direction intensity 1 location minBack 0 maxBack 550 minFront 0 maxFront 550 priority 1 spatialize TRUE }

84 Quelques autres nœuds LOD détaille en fonction de la profondeur Switch commute entre plusieurs nœuds VRML Collision objets évités par l’utilisateur

85 Les nœuds d’environnements Permettre de paramétrer le monde Pas de représentation propre

86 Le navigateur NavigationInfo { avatarSize [0.25, 1.6, 0.75] headlight speed type WALK/ANY/EXAMINE/FLY visibilityLimit 0.0 }

87 Le nœud BackGround Permet de configurer les paramètres du fond BackGround { groundAngle [] groundColor [] backUrl [] bottomUrl [] frontUrl [] leftUrl [] rightUrl [] topUrl [] skyAngle [] skyColor }

88 Le nœud Fog (brouillard) Génèrer un effet de brouillard Fog { color fogType LINEAR/EXPONENTIAL visibilityRange 0 }

89 Le Texte (1/2) Text { string [] fontStyle NULL length [] maxExtent 0.0 }

90 Le Texte (2/2) : choisir la font FontStyle { familiy SERIF horizontal TRUE/FALSE leftToRight TRUE/FALSE size 1.0 spacing 1.0 style PLAIN topToBottom TRUE/FALSE }

91 Conclusion Des évolutions à suivre : –MPEG-4, X3D, D-HTML, etc Technique :

92 A Vous de Jouer