Ceci est une ancienne révision du document !
Dans cette séance, les élèves devront d’abord apprendre à construire un espace dans lequel inclure les objets 3D puis dans une séance ultérieure, seront vus les principes des coordonnées. Ici, nous ne ferons donc qu’une initiation aux coordonnées.
Pour ajouter un objet à l’espace 3D, il faut donc :
Le but de la construction est de parvenir à une « boîte à chaussure ». Nous allons utiliser un nouvel objet qui contiendra toute la scène 3D
e=new Espace3D() Pour l’instant cette fenêtre 3D est noire car nous n’avons rien mis dedans. Nous définissons ensuite la taille de l’espace : <code javascript>e.définirHauteur(320) e.définirLargeur(512)
L’espace peut être placé au centre de l’écran avec les commandes habituelles :
e.avancer(40) e.descendre(40) e.monter(40) e.reculer(40)
Créons un cube. On donnera la taille du cube entre les parenthèses : ici taille 1 d’arête et ajoutons-le à l’espace3D :
c3 = new Cube3D(1) e.ajouterObjet(c3)
Il est possible de définir une couleur en même temps que l’arête du cube :
c3 = new Cube3D(1, « bleu » )
Voici la liste des couleurs disponibles :
Les élèves doivent concevoir une scène 3D intégrant un cube. On pourra leur faire remarquer qu’ils peuvent orienter la vue à droite et à gauche à l’aide de la souris en maintenant le clic.
Les coordonnées sont données suivant l'axe des X, l'axe des Z et l'axe des Y.
On utilisera :
c3.définirPosition(-1,0,-3)
Les élèves doivent placer un cube devant la caméra : on donnera les coordonnées. Ils devront trouver comment le déplacer à droite et gauche, devant/derrière, haut et bas en modifiant les coordonnées On demandera de déplacer le cube sur les coordonnées X ou Y ou Z de 0.5 unité
Les coordonnées sont mesurées à partir de 0 : elles peuvent aussi être négatives
Il est possible de changer ensuite, c’est-à-dire après avoir créé le cube, la valeur du côté en utilisant l’action :
c3.définirRayon(1.5)
On peut tourner un objet avec la commande :
c3.définirAngle(50)
L’angle est en degré ; la rotation s’effectue par défaut sur l’axe Y Si l’on souhaite réaliser la rotation sur un autre axe on utilisera :
c3.définirAxeDeRotation(« Z »)
Les élèves devront faire basculer le cube sur l’axe de leur choix d’un angle de 45°
boule = new Sphère3D()
Cette sphère par défaut est centrée sur l'origine et a pour rayon 1.
Créer un objet Sphère3D, en précisant son rayon :
boule = new Sphère3D()
Les élèves les plus avancés pourront chercher à disposer la sphère à côté du cube, sinon on donnera la position :
boule.définirPosition(1,0,-3)
Les élèves doivent ajouter une sphère à la scène avec les indications fournies.
Le cylindre3D s’ajoute de manière identique au cube3D mais on utilise :
Cylindre3D(Rayon, hauteur)
cl3d = new Cylindre3D(1, 2)
Créer un objet Texte3D sans en préciser le texte :
unTexte = new Texte3D()
Pour définir le texte ultérieurement on utilise :
unTexte.définirTexte("du texte")
Créer un objet Texte3D, en précisant le texte à afficher :
unTexte = new Texte3D("du texte")
Créer un objet Texte3D, en précisant le texte à afficher et l'échelle :
unTexte = new Texte3D("du texte", 1.5)
L'échelle est un nombre réel. Par défaut, cette échelle est fixée à 1. Une échelle de 2 rendra le texte 2 fois plus gros. Créer un objet Texte3D, en précisant le texte à afficher et la couleur :
unTexte = new Texte3D("du texte", "rouge")
Définir le texte à afficher :
unTexte.définirTexte("du texte")
e = new Espace3D(); e.définirHauteur(320); e.définirLargeur(512); c3 = new Cube3D(0.5); c3.définirPosition(-1,0,-3); c3.définirAxeDeRotation("Z"); c3.définirAngle(50); e.ajouterObjet(c3); boule = new Sphere3D(0.1, "jaune"); boule.définirPosition(1,0,-3); e.ajouterObjet(boule); tronc = new Cylindre3D(0.1,0.5, "vert"); tronc.définirPosition(0,0,-3); e.ajouterObjet(tronc); unTexte = new Texte3D("du texte", "rouge", 1.5); unTexte.définirPosition(-3,-1,-8); e.ajouterObjet(unTexte); e.démarrer();