Les nouvelles technologies pour l’enseignement des mathématiques
Intégration des TICE dans l’enseignement des mathématiques

MathémaTICE, première revue en ligne destinée à promouvoir les TICE à travers l’enseignement des mathématiques.

Bonnes vibrations pour la 3D, le retour ... et l’implémentation

La méthode de vibration d’un trièdre pour avoir les coordonnées 3D d’un point dans une représentation 2D a été présentée en 2011. Elle vient d’être implémentée dans DGPad. Exemples d’utilisation

Article mis en ligne le 11 novembre 2013
dernière modification le 2 décembre 2013

par Yves Martin

DGPad, comme CaRMetal, n’est pas un logiciel de 3D (au sens de Blender par exemple). Toutefois, l’implémentation d’une vibration de son trièdre 3D permet de récupérer les infos 3D nécessaires et rend les constructions 3D élémentaires. C’est déjà un comportement 3D pour les points, les droites et les plans, soit ce qui sert en cours. Voici quelques exemples.

DGPad est un logiciel encore jeune, mais il progresse à une telle vitesse qu’il convient de faire un nouveau point, et en particulier sur ses outils 3D. Un article sur les expressions, si riches, était prévu, mais la vibration 3D est arrivée depuis ... les expressions ce sera pour une prochaine fois.

Les lecteurs les plus téméraires de MathémaTICE se souviennent peut-être de cette présentation un peu délirante de Pierre Marc Mazat qui expliquait, en mars 2011, dans son article intitulé La bonne vibration pour la 3D comment, en faisant quelques rotations (imperceptibles) du trièdre de référence, on pouvait obtenir les coordonnées 3D des points. Il utilisait à cette époque une matrice 3x3. Depuis, dans une recherche pour tester l’implémentation dans CaRMetal, Eric Hakenholz avait ramené la question à un système 2x2. Mais l’implémentation ne s’est pas concrétisée, dans la version officielle.

En optimisant le mode 3D de sa nouvelle application (dans la webApp, ce n’est pas encore dans l’iApp), Eric Hakenholz s’est lancé dans l’implémentation de la vibration du trièdre de DGPad. Le résultat est assez époustouflant, surtout pour faire rapidement des figures 3D significatives, en particulier sur tablette bien entendu.

D’où l’idée d’en faire un bref compte rendu, au moins pour que cette possibilité soit connue.

Avant d’aborder ce type de figure, voyons déjà les outils 3D actuels de DGPad. Ce module est encore en construction, opérationnel certes mais pas encore définitif... il devrait évoluer.

Les macros 3D de DGPad

Les deux premières illustrations proviennent du dossier 3D au premier niveau des macros (on lit la hiérarchie des dossiers sous les macros bibliothèque) et la troisième illustration est celle du dossier Géométrie (dans le dossier 3D). C’est ce dossier dont l’organisation n’est pas complètement arrêtée. Il peut, dans un futur proche se diviser en deux dossiers, selon le nombre d macros qu’il va rapidement contenir.

Repère : Il faut commencer par poser un repère. Un point suffit (l’origine). Le nom de l’origine du repère n’est pas pré-enregistré. Il s’appelle P1 par défaut si la page est blanche, on peut l’appeler O.

Géométrie est donc dossier qui contient - pour le moment, à la fois - des macros de construction et de calcul. Nous y reviendrons plus loin.

Montrer le sol : crée un polygone dans le plan xOy et un interrupteur permettant de le montrer/cacher.

Restriction de Theta : permet d’éviter que l’axe [Oz) tourne autour de (Oy). Cela évite que les élèves tournent les figures dans tous les sens. Mais c’est aussi utile pour l’enseignant qui fait une figure un peu complexe, quand on traite des arêtes cachées par exemple pour être sûr que c’est l’effet d’optique qui fait croire que le trièdre a tourné.

Point 3D est un dossier qui contient deux options : on montre l’origine du repère et une expression formée d’une liste de trois termes, ou on rentre les coordonnées dans un dialogue, ce qui évite de passer par une expression.

Contrairement à CaRMetal où les angles du repère (phi, théta) sont dans la figure, dans DGPad tout est entièrement traité en interne, donc plus rapide, d’où la possibilité d’installer la vibration sans perte visible de réactivité.

Arete 3D trace un segment entre deux points en trait plein s’il doit être visible ou en pointillé sinon. La syntaxe est la même que sur CaRMetal : pour tracer une arête [AB] d’un polyèdre convexe, on montre U à droite (d’une autre arête [BU] du polyèdre), A, V à gauche - d’une arête [VA] et B.
Sur des polyèdres complexes (snubcube etc ...) il faut un peu d’entrainement.

Solide est un dossier qui ne contient que le cube au moment où cet article est rédigé (avec traitement des arêtes cachées)

Placer un point dans un polygone de l’espace : ce n’est une macro mais juste la méthode à utiliser.
Avec l’outil général polygone, avec des points coplanaires, on peut construire un polygone dans l’espace. Dans ce cas l’outil point permet de prendre un point dans le polygone. Il commence par placer ce point sur le contour du polygone mais si on lâche le doigt ou le clic de souris dans le polygone c’est bien un point intérieur. Avec cet outil on peut déjà faire des exercices élémentaires d’incidence.

Obtenir de la manipulation directe sur des points de l’espace

En pratique la méthode précédente est indispensable pour réaliser des figures 3D avec manipulation directe sur certains points de l’espace : on les assujetti à appartenir à un plan - en pratique un triangle ou un quadrilatère - et on peut les manipuler ainsi en 3D, par exemple comme ceci :

Dans cette figure, on a commencé par construire un quadrilatère dans le plan y=1. Puis on a pris deux points dans ce « plan » et ensuite fait un autre plan (rose) qui dépend de ces deux points. Cette construction est le début de la figure que l’illustration 4 que nous verrons plus loin.

Toujours dans le cadre de la manipulation directe, on peut bien entendu prendre un point sur un segment et même sur une droite de l’espace, si celle-ci est définie par deux points de l’espace (car il faut que les coordonnées barycentriques d’un point sur objet soient fixes dans l’espace).

Toutes ces macros existaient dans DGPad avant l’implémentation de la vibration (qui date du 3 novembre 2013).

Voyons maintenant les macros qui utilisent la vibration, pour le moment, dans le dossier Géométrie.

Coordonnées 3D : on clique simplement sur le point dont on veut les coordonnées (sans avoir à montrer le repère, la macro le retrouve). La macro renvoie une expression formée d’une liste de trois termes. Voici une copie d’écran d’un exemple de base :

Distance 3D : là encore on ne clique que sur les deux points dont on veut la distance dans l’espace. La macro renvoie une expression.

Ce dossier contient ensuite deux macros géométriques

Normale et perpendiculaire qui font ce qu’on attend. Sur les copies d’écran ci-dessous, illustrées avec des « points de tablette », un peu gros, on construit un polygone à partir de trois points dont un dépend d’un paramètre. Pour construire la normale on ne montre qu’un polygone, et pour la perpendiculaire il faut ajouter le point dont est issu la perpendiculaire au plan (ici l’origine du repère).

Plus surprenant, une macro non indispensable a priori mais qui peut être ensuite intrumentalisée de bien des façons : Cercle par axe et point.

Dans cette illustration, l’axe est la droite verte, qui passe par les points (1/2, 0, 0) et (0, 1, 1) et le point M est sur la droite définie par les points (1/2, 0, 1) et (-1/2, 1/2, 0).

Voici cind exemples de réalisation utilisant la vibration 3D de DGPad.

Exemple 1 : le cerceau contre un mur.

Si un cerceau est posé contre trois murs (un trièdre trirectange), alors la distance du centre du repère au centre du cercle est r.$sqrt(2)$ si r est le rayon du cercle. Cette distance est donc indépendante de la position du cerceau contre les trois murs.

Dans la figure, on peut déplacer A, B, C et le repère par Clic-droit glisser pour ordinateur, ou deux doigts dont un fixe sur tablette)


Avec ces outils cette figure est facile à réaliser. Ici on ne dispose pas d’un cercle de rayon fixe, mais on construit le « cerceau » comme cercle inscrit à un triangle construit sur les axes.

On se donne donc trois points A, B, C sur les axes. La mesure en vraie grandeur des distances AB, BC, AC (par la vibration) permet de construire, par barycentre et donc sans vibration, à la fois le centre du cercle inscrit à ABC et les points de contact P, Q, R . Ceci étant fait, on mesure (vibration) la longueur du rayon du cercle inscrit IP, puis la distance de O à I (encore par vibration), et on compare avec le calcul r.$sqrt(2)$  : on voit que l’on a égalité avec 11 décimales ... ce qui montre aussi la qualité de cette méthode de vibration.

Exemple 2 : propriétés fines autour du tétraèdre orthocentrique

Dans la figure suivante, la construction et la confirmation sont faits grâce à la vibration

Présentation de la figure (avec des copies d’écran)

ABC sont sur le sol (O est le centre du repère). Les segments du sol sont les hauteurs de ABC, pied sous forme de carré cyan.
Leur intersection est le point rouge en forme de “diamant”, orthocentre du triangle du sol.

Le théorème classique dit qu’un tétraèdre est orthocentrique ssi un sommet se projette en l’orthocentre de la face opposée.
On sait aussi qu’un tétraèdre est orthocentrique ssi les arêtes opposées sont deux à deux orthogonales, en même qu’il suffit qu’il y ait deux couples d’arêtes orthogonale, le troisième l’est aussi, c’est une conséquence algébrique (du produit scalaire).

On se propose ici d’aller un peu plus loin que ce résultat général. Une illustration pratique sert bien en cours (de L3 pas de lycée).

Dans la figure les points Hk sont les pieds des hauteurs issues du sommet K (K=A,B,C,S).
On peut déplacer Hs. Vrai plus de DGPad par rapport à CaRMetal : le point peut à la fois être un point “dans ABC” (soit sur la face) - ou dans le plan du sol - tout en étant aimanté par les trois hauteurs du sol et l’orthocentre rouge ... Dans CaRMetal, ce n’est pas possible : il faut faire deux illustrations, une où Hs est sur le sol, une autre où il est fortement aimanté par les trois hauteurs et l’orthocentre, donc en pratique saute d’une hauteur à l’autre.

On déplace donc Hs mais aussi le sommet S pour que les projetés orthogonaux soient sur les faces (et non pas dans le plan mais en dehors des faces).

On voit mieux ce qui se passe en faisant tourner le tétraèdre

On suppose que deux hauteurs sont sécantes : par exemple celles issues de B et de C
Alors on montre que le produit scalaire $\overrightarrow{BC}.\overrightarrow{SA}$<\math>est nul donc que ces deux arêtes sont orthogonales.
Mais on voit aussi (sur la figure plus loin, en faisant tourner le repère) que les deux autres hauteurs sont elles aussi sécantes (ce qui évident puisque cela se traduit aussi par $\overrightarrow{SA}.\overrightarrow{CB}$ = 0). Il est assez immédiat aussi (question d’incidence sur les plans) que S se projette sur la hauteur issue de A.
En réalité, dans la réalisation de l’illustration, c’est ce que l’on fait, on place Hs sur la hauteur, donc on illustre plus précisément le fait que si un sommet se projette sur une hauteur, les hauteurs sont deux à deux sécantes, et deux arêtes opposées sont orthogonales.

Si c’est le cas de deux hauteurs (ie si Hs est à l’intersection de deux hauteurs), il est sur l’orthocentre et donc les trois produits scalaires sont nuls), le tétraèdre est orthocentrique les trois hauteurs sont concourrantes.

La figure manipulable

On peut donc déplacer A, B et C, puis Hs et S.Placer Hs sur les différentes hauteurs de ABC, puis sur son orthocentre. On fait tourner le trièdre par un Ctrl-clic-glisser sur ordinateur ou deux doigts (dont un fixe) sur tablette.

Faire une figure comme celle-ci, en quelques minutes, est un vrai plaisir ...

Exemple 3 : perpendiculaire commune à deux droites non coplanaires

Le thème est on ne peut plus classique : étant données deux droites non coplanaires, il existe une unique perpendiculaire commune à ces deux droites. On se propose de la tracer, dans un contexte simple de points sur des faces d’un cube.

Sur la figure suivante, M est un point de la face ABCD, N de CDHG, P de BCGE et Q de EFGH, ce qui se voit d’ailleurs en regardant les coordonnées des points. On calcule alors - dans un logiciel de calcul formel - les coefficients $k_I$ et $k_J$ tels que $\overrightarrow{MI} = k_I \overrightarrow{MN}$ et $\overrightarrow{PJ} = k_J \overrightarrow{PQ}$. Ce n’est que la résolution d’un système de deux équations à deux inconnues, mais avec 12 paramètres (les coordonnées des quatre points).

Cette figure est, vibratoirement, moins spectaculaire que les deux précédentes, car la vibration ne sert qu’à avoir facilement les coordonnées des points M, N, P, Q alors que dans une version non vibrante, cela se fait assez facilement par barycentration des sommets des faces. Le reste n’est que du calcul algébrique.

On peut déplacer M, N, P, et Q dans leurs faces respectives. On peut avoir, sur des cas particuliers, en prenant les points sur les arêtes, (MN) // (PQ). La figure ne renvoie bien entendu qu’un seule seule perpendiculaire, celle calculée dans le cas général.

Pour les personnes qui n’ont jamais fait cet exercice, c’est intéressant de regarder ce que donne le calcul de ces deux coefficients $k_I$ et $k_J$

Détail du calcul de kI

Le calcul suivant a été fait avec wxMaxima, pour CaRMetal, avec deux droites (AB) et (CD), les coordonnées étaient nommées (xA, yA, zA) etc ...

On obtenait

kI (de (AB)

(((yB-yA)*yC-yA*yB+yA^2+(xB-xA)*xC-xA*xB+xA^2)*zD^2+(((yA-yB)*yD+(yA-yB)*yC+2*yA*yB-2*yA^2+(xA-xB)*xD+(xA-xB)*xC+2*xA*xB-2*xA^2)*zC+((yA-yC)*yD+yC^2-yA*yC+(xA-xC)*xD+xC^2-xA*xC)*zB+((yC+yB-2*yA)*yD-yC^2+(2*yA-yB)*yC+(xC+xB-2*xA)*xD-xC^2+(2*xA-xB)*xC)*zA)*zD+((yB-yA)*yD-yA*yB+yA^2+(xB-xA)*xD-xA*xB+xA^2)*zC^2+((yD^2+(-yC-yA)*yD+yA*yC+xD^2+(-xC-xA)*xD+xA*xC)*zB+(-yD^2+(yC-yB+2*yA)*yD+(yB-2*yA)*yC-xD^2+(xC-xB+2*xA)*xD+(xB-2*xA)*xC)*zA)*zC+(-yD^2+2*yC*yD-yC^2-xD^2+2*xC*xD-xC^2)*zA*zB+(yD^2-2*yC*yD+yC^2+xD^2-2*xC*xD+xC^2)*zA^2+((xB-xA)*xC-xA*xB+xA^2)*yD^2+(((xA-xB)*xD+(xA-xB)*xC+2*xA*xB-2*xA^2)*yC+((xA-xC)*xD+xC^2-xA*xC)*yB+((xC+xB-2*xA)*xD-xC^2+(2*xA-xB)*xC)*yA)*yD+((xB-xA)*xD-xA*xB+xA^2)*yC^2+((xD^2+(-xC-xA)*xD+xA*xC)*yB+(-xD^2+(xC-xB+2*xA)*xD+(xB-2*xA)*xC)*yA)*yC+(-xD^2+2*xC*xD-xC^2)*yA*yB+(xD^2-2*xC*xD+xC^2)*yA^2)/((yB^2-2*yA*yB+yA^2+xB^2-2*xA*xB+xA^2)*zD^2+((-2*yB^2+4*yA*yB-2*yA^2-2*xB^2+4*xA*xB-2*xA^2)*zC+((2*yA-2*yB)*yD+(2*yB-2*yA)*yC+(2*xA-2*xB)*xD+(2*xB-2*xA)*xC)*zB+((2*yB-2*yA)*yD+(2*yA-2*yB)*yC+(2*xB-2*xA)*xD+(2*xA-2*xB)*xC)*zA)*zD+(yB^2-2*yA*yB+yA^2+xB^2-2*xA*xB+xA^2)*zC^2+(((2*yB-2*yA)*yD+(2*yA-2*yB)*yC+(2*xB-2*xA)*xD+(2*xA-2*xB)*xC)*zB+((2*yA-2*yB)*yD+(2*yB-2*yA)*yC+(2*xA-2*xB)*xD+(2*xB-2*xA)*xC)*zA)*zC+(yD^2-2*yC*yD+yC^2+xD^2-2*xC*xD+xC^2)*zB^2+(-2*yD^2+4*yC*yD-2*yC^2-2*xD^2+4*xC*xD-2*xC^2)*zA*zB+(yD^2-2*yC*yD+yC^2+xD^2-2*xC*xD+xC^2)*zA^2+(xB^2-2*xA*xB+xA^2)*yD^2+((-2*xB^2+4*xA*xB-2*xA^2)*yC+((2*xA-2*xB)*xD+(2*xB-2*xA)*xC)*yB+((2*xB-2*xA)*xD+(2*xA-2*xB)*xC)*yA)*yD+(xB^2-2*xA*xB+xA^2)*yC^2+(((2*xB-2*xA)*xD+(2*xA-2*xB)*xC)*yB+((2*xA-2*xB)*xD+(2*xB-2*xA)*xC)*yA)*yC+(xD^2-2*xC*xD+xC^2)*yB^2+(-2*xD^2+4*xC*xD-2*xC^2)*yA*yB+(xD^2-2*xC*xD+xC^2)*yA^2)

Dans le cadre de DGPad, les coordonnées sont des listes de trois termes, ainsi les coordonnées x, y, z de M sont CdM[0, CdM[1] et CdM[2], ce qui donne :

kI (de (MN) : I = M+kI*(N-M)

(((CdN[1]-CdM[1])*CdP[1]-CdM[1]*CdN[1]+CdM[1]^2+(CdN[0]-CdM[0])*CdP[0]-CdM[0]*CdN[0]+CdM[0]^2)*CdQ[2]^2+(((CdM[1]-CdN[1])*CdQ[1]+(CdM[1]-CdN[1])*CdP[1]+2*CdM[1]*CdN[1]-2*CdM[1]^2+(CdM[0]-CdN[0])*CdQ[0]+(CdM[0]-CdN[0])*CdP[0]+2*CdM[0]*CdN[0]-2*CdM[0]^2)*CdP[2]+((CdM[1]-CdP[1])*CdQ[1]+CdP[1]^2-CdM[1]*CdP[1]+(CdM[0]-CdP[0])*CdQ[0]+CdP[0]^2-CdM[0]*CdP[0])*CdN[2]+((CdP[1]+CdN[1]-2*CdM[1])*CdQ[1]-CdP[1]^2+(2*CdM[1]-CdN[1])*CdP[1]+(CdP[0]+CdN[0]-2*CdM[0])*CdQ[0]-CdP[0]^2+(2*CdM[0]-CdN[0])*CdP[0])*CdM[2])*CdQ[2]+((CdN[1]-CdM[1])*CdQ[1]-CdM[1]*CdN[1]+CdM[1]^2+(CdN[0]-CdM[0])*CdQ[0]-CdM[0]*CdN[0]+CdM[0]^2)*CdP[2]^2+((CdQ[1]^2+(-CdP[1]-CdM[1])*CdQ[1]+CdM[1]*CdP[1]+CdQ[0]^2+(-CdP[0]-CdM[0])*CdQ[0]+CdM[0]*CdP[0])*CdN[2]+(-CdQ[1]^2+(CdP[1]-CdN[1]+2*CdM[1])*CdQ[1]+(CdN[1]-2*CdM[1])*CdP[1]-CdQ[0]^2+(CdP[0]-CdN[0]+2*CdM[0])*CdQ[0]+(CdN[0]-2*CdM[0])*CdP[0])*CdM[2])*CdP[2]+(-CdQ[1]^2+2*CdP[1]*CdQ[1]-CdP[1]^2-CdQ[0]^2+2*CdP[0]*CdQ[0]-CdP[0]^2)*CdM[2]*CdN[2]+(CdQ[1]^2-2*CdP[1]*CdQ[1]+CdP[1]^2+CdQ[0]^2-2*CdP[0]*CdQ[0]+CdP[0]^2)*CdM[2]^2+((CdN[0]-CdM[0])*CdP[0]-CdM[0]*CdN[0]+CdM[0]^2)*CdQ[1]^2+(((CdM[0]-CdN[0])*CdQ[0]+(CdM[0]-CdN[0])*CdP[0]+2*CdM[0]*CdN[0]-2*CdM[0]^2)*CdP[1]+((CdM[0]-CdP[0])*CdQ[0]+CdP[0]^2-CdM[0]*CdP[0])*CdN[1]+((CdP[0]+CdN[0]-2*CdM[0])*CdQ[0]-CdP[0]^2+(2*CdM[0]-CdN[0])*CdP[0])*CdM[1])*CdQ[1]+((CdN[0]-CdM[0])*CdQ[0]-CdM[0]*CdN[0]+CdM[0]^2)*CdP[1]^2+((CdQ[0]^2+(-CdP[0]-CdM[0])*CdQ[0]+CdM[0]*CdP[0])*CdN[1]+(-CdQ[0]^2+(CdP[0]-CdN[0]+2*CdM[0])*CdQ[0]+(CdN[0]-2*CdM[0])*CdP[0])*CdM[1])*CdP[1]+(-CdQ[0]^2+2*CdP[0]*CdQ[0]-CdP[0]^2)*CdM[1]*CdN[1]+(CdQ[0]^2-2*CdP[0]*CdQ[0]+CdP[0]^2)*CdM[1]^2)/((CdN[1]^2-2*CdM[1]*CdN[1]+CdM[1]^2+CdN[0]^2-2*CdM[0]*CdN[0]+CdM[0]^2)*CdQ[2]^2+((-2*CdN[1]^2+4*CdM[1]*CdN[1]-2*CdM[1]^2-2*CdN[0]^2+4*CdM[0]*CdN[0]-2*CdM[0]^2)*CdP[2]+((2*CdM[1]-2*CdN[1])*CdQ[1]+(2*CdN[1]-2*CdM[1])*CdP[1]+(2*CdM[0]-2*CdN[0])*CdQ[0]+(2*CdN[0]-2*CdM[0])*CdP[0])*CdN[2]+((2*CdN[1]-2*CdM[1])*CdQ[1]+(2*CdM[1]-2*CdN[1])*CdP[1]+(2*CdN[0]-2*CdM[0])*CdQ[0]+(2*CdM[0]-2*CdN[0])*CdP[0])*CdM[2])*CdQ[2]+(CdN[1]^2-2*CdM[1]*CdN[1]+CdM[1]^2+CdN[0]^2-2*CdM[0]*CdN[0]+CdM[0]^2)*CdP[2]^2+(((2*CdN[1]-2*CdM[1])*CdQ[1]+(2*CdM[1]-2*CdN[1])*CdP[1]+(2*CdN[0]-2*CdM[0])*CdQ[0]+(2*CdM[0]-2*CdN[0])*CdP[0])*CdN[2]+((2*CdM[1]-2*CdN[1])*CdQ[1]+(2*CdN[1]-2*CdM[1])*CdP[1]+(2*CdM[0]-2*CdN[0])*CdQ[0]+(2*CdN[0]-2*CdM[0])*CdP[0])*CdM[2])*CdP[2]+(CdQ[1]^2-2*CdP[1]*CdQ[1]+CdP[1]^2+CdQ[0]^2-2*CdP[0]*CdQ[0]+CdP[0]^2)*CdN[2]^2+(-2*CdQ[1]^2+4*CdP[1]*CdQ[1]-2*CdP[1]^2-2*CdQ[0]^2+4*CdP[0]*CdQ[0]-2*CdP[0]^2)*CdM[2]*CdN[2]+(CdQ[1]^2-2*CdP[1]*CdQ[1]+CdP[1]^2+CdQ[0]^2-2*CdP[0]*CdQ[0]+CdP[0]^2)*CdM[2]^2+(CdN[0]^2-2*CdM[0]*CdN[0]+CdM[0]^2)*CdQ[1]^2+((-2*CdN[0]^2+4*CdM[0]*CdN[0]-2*CdM[0]^2)*CdP[1]+((2*CdM[0]-2*CdN[0])*CdQ[0]+(2*CdN[0]-2*CdM[0])*CdP[0])*CdN[1]+((2*CdN[0]-2*CdM[0])*CdQ[0]+(2*CdM[0]-2*CdN[0])*CdP[0])*CdM[1])*CdQ[1]+(CdN[0]^2-2*CdM[0]*CdN[0]+CdM[0]^2)*CdP[1]^2+(((2*CdN[0]-2*CdM[0])*CdQ[0]+(2*CdM[0]-2*CdN[0])*CdP[0])*CdN[1]+((2*CdM[0]-2*CdN[0])*CdQ[0]+(2*CdN[0]-2*CdM[0])*CdP[0])*CdM[1])*CdP[1]+(CdQ[0]^2-2*CdP[0]*CdQ[0]+CdP[0]^2)*CdN[1]^2+(-2*CdQ[0]^2+4*CdP[0]*CdQ[0]-2*CdP[0]^2)*CdM[1]*CdN[1]+(CdQ[0]^2-2*CdP[0]*CdQ[0]+CdP[0]^2)*CdM[1]^2)

Exemple 4 : Thalès général en 3D

Ce n’est bien entendu pas au programme du collège, mais on peut le montrer dans d’autres classes. La figure suivante est utilisée en L2, autour du thème des homothéties-translations.

le théorème de Thalès est vrai en général dans l’espace, et peut s’exprimer , sur la base de trois plans parallèles, sous la forme de l’indépendance (par raport à la droite $(AA_1)$ du coefficient de colinéarité $k$ dans la relation : $\overrightarrow{AA_2}=k.\overrightarrow{AA_1}$, ce coefficient $k$ ne dépend que de la position des trois plans parallèles , ce que l’on vérifie sur cette figure :

Exercice : vous pouvez aussi, avec la macro Distance3D ajouter à la figure les distance $OO_1$ et $OO_2$ et afficher leur rapport


Cette figure est entièrement construite sur la base de la vibration car les longueurs des segments sont calculées par vibration. La construction des points $A_2$ et $B_2$ est purement affine, bien entendu indépendante du résultat ...

Précision sur la construction affine des points A2 et B2

L’illustration (copie d’écran) parle d’elle-même : on utilise un parallélogramme (OB« O2O), puis une homothétie - de centre B qui envoie B’ sur B », ou simplement des propriétés d’incidence des droites et des plans, selon la classe où on présente cette figure :

Exemple 5 : Isométrie du plan de l’écran dans un plan de l’espace

Pour construire une figure plane dans un plan de l’espace, une façon simple est de construire les éléments de base en vraie grandeur en 2D, « dans le plan de l’écran », puis de faire la figure usuelle en 2D et de renvoyer, par transformation affine, sur le plan de l’espace ce qui est nécessaire à la figure finale. La transformation affine étant isométrique, c’est une isométrie, et donc la figure sera euclidiennement correcte dans le plan image.

Voyons l’exemple d’une figure réalisée à partir d’un triangle de l’espace. Pour cela on se donne trois points de l’espace, par exemple sur trois faces d’un cube.

On se propose d’illustrer le théorème de Feuerbach sur le triangle ABD dans le plan (ABC). Au moins construire les cercles inscrit, exinscrits et d’Euler.

Pour cela on commence par mesurer les vraies grandeur de AB, BC et CA, par vibration.

On construit ensuite le triangle en vraie grandeur dans le plan. Pour cela on prend des cercles de rayon fixe :

Et, par la calculatrice, on donne aux cercles les rayons voulus, ci-dessous la longueur AB pour le premier cercle :

(AB est le nom de l’expression renvoyé par la macro Distance3D, pas seulement son commentaire)

On poursuit la figure en 2D :

Ensuite il suffit d’envoyer sur la figure 3D l’image d’un point de chaque cercle et d’en faire les lieux pour avoir directement les cercles voulus du plan (ABC).

La figure Feuerbach3D manipulable par A, B, C et la rotation du repère

Autres exemples 3D, hors vibration

Le ballon de football

Cette figure fonctionne bien sur ordinateur, le déplacement reste lent sur tablette. La figure, faite pour tester les limites, doit être optimisée pour fonctionner correctement sur tablette.

Lien externe pour le ballon de foot

La boite de lait (un classique de Monique Gironce)

Pour les curieux, c’est très intéressant d’observer comment Monique gère l’ouverture du patron, dans le fichiers .txt de la figure après téléchargement : il y a quelques vecteurs de base liés à l’ouverture, et ensuite tout se fait avec des parallélogrammes !

Lien externe pour la boite de lait

Géométrie hyperbolique sur la pseudosphère (un classique de l’auteur de l’article ;-)

Sur tablette, on ne manipulera que les points sur la pseudosphère, on évitera de tourner le trièdre (car tout est fait avec des lieux, pour le moment encore trop lourd). Sur ordinateur, il n’y a pas de problème de manipulation du trièdre.

Lien externe pour les médianes sur la pseudosphère

Lien externe pour le cercle circonscrit sur la pseudosphère

En pratique ces figure seront refaites dans le cadre de la vibration du trièdre.

Enregistrement des figures

Dans tous ces exemples, on peut récupérer les figures en les enregistrant dans un « nuage personnel » (icone du nuage montant). On peut aussi les récupérer au format texte, avec la 4° icone du mode exportation (icone avant le nuage descendant) :

Un copier-coller dans un éditeur de texte type notePad, TextEdit, Sultron etc permet de l’enregistrer en .txt.

Ce fichier est glissable sur DGPad sur ordinateur et sera utilisable comme tel quand l’application pour tablette sera mise à jour avec la vibration (pour le moment, l’auteur de DGPad continue d’enrichir les macros 3D de l bibliothèque interne.

Vous pouvez vous aussi déposer vos production dans le forum (encore vide) créé à cet effet, rubrique Aspect 3D du forum Utilisation de DGPad.

Une vidéo de Monique Gironce, sur les outils de base 3D (4 min)

Le site de DGPad en particulier pour ses vidéos.

Prise en main de DGPad (interface, aspect géométrique)
(le logiciel a beaucoup - beaucoup - évolué depuis l’écriture de cet article.)