Geometrie 3D
From GeoGebraWiki
Contents
|
GEOMETRIE DANS L'ESPACE
POINTS
+ js Placer un point en perspective cavalière
DROITES
=== Droite ===
Droite
Donnée:
Deux points A et B (par leurs coordonnées a1,a2,a3,b1,b2,b3)
Représentation:
A, B et leurs projections A1,A2,A3,B1,B2,B3 droite d par A et B ainsi que ses projections d1,d2,d3 traces dans les plans de référence de la droite d: S,M,P (sol, mur, paroi)
Résultat:
Coordonnées des traces S, M, P
Droite II
|
Donnée: Deux points A et B, déplaçables à la souris (de même que A1 et B1) Représentation: A, B et leurs projections A1,A2,A3,B1,B2,B3 Droite d par A et B ainsi que sa projections d1 Traces dans les plans de référence de la droite d: S,M,P (sol, mur, paroi) Résultat: Coordonnées des traces S, M, P Coordonnées des points initiaux A et B, ainsi que composante d'un vecteur directeur. |
Droite Javascript
|
|
Position relative de deux droites
|
Donnée: Deux points droites d' et d" par quatre points A,B,C et D. Représentation: Points, droites et traces. Isol: intersection des projections dans le sol Id' et Id" : les points de d' et d" à la verticale de Isol Résultat: Coordonnées de Isol, Id' et Id", Delta Z. |
PLAN
Plan par ses intersections avec les axes
|
Donnée: Les intersections du plan avec les axes (déplaçables) Représentation: Traces du plan
Equation cartésienne du plan |
Plan Javascript
Les intersections du plan avec les axes sont saisies au clavier.
|
|
SOLIDES
Cube
|
On considère un cube ABCDEFGH. Représentation: On peut faire pivoter le cube en bougeant les points P et Q. On peut placer des points sur chaque arête du cube, tracer des droites passant par 2 points, et ainsi voir si des droites sont sécantes (dans l'espace),... On peut également s'en servir pour faire des sections du cube par un plan
|
Tétraèdre
|
On considère un tétraèdre ABCD. Représentation: On peut faire pivoter le tétraèdre en bougeant les points P et Q. On peut modifier la forme du tétraèdre en bougeant les 4 autres points bleus. On peut placer des points sur chaque arête du tétraèdre, tracer des droites passant par 2 points, et ainsi voir si des droites sont sécantes (dans l'espace),... On peut également s'en servir pour faire des sections du tétrèdre par un plan
|
Section de solides en 3ème
|
Beaucoup d'élèves ont du mal à penser l'espace. Les figures suivantes permettent aux élèves de "manipuler" les solides et de former leurs conjectures. En choisissant bien le point de vue, on peut en effet obtenir une image non déformée de la section. Cela ne remplace pas les véritables solides, mais d'un autre côté la transparence des figures aide à leur compréhension. [edit] Section de pyramidesIl devrait émerger de l'étude de la figure que la section est une réduction de la base. Version html :
La source : A venir : d'autres sections
|
Perspective cavalière avec GeoGebra
|
On peut utiliser avec GeoGebra un peu de langage vectoriel, le logiciel se prête donc bien à la perspective cavalière. Voici une figure appelée Note : For those who read english better than french, here's a
|
Perspective conique
La projection de l'espace sur le plan de la feuille n'étant plus une application affine comme dans le cas de la perspective cavalière, c'est plus compliqué. Les coordonnées de la projection (sur le plan de la feuille) d'un point de l'espace sont des fonctions (homographiques) des trois coordonnées x,y,z du point en question. Malheureusement, le logiciel ne permet pas de définir des fonctions de plusieurs variables, et tant que ce ne sera pas le cas, il ne sera pas question de proposer en perspective conique un moteur général, comme il en existe en perspective cavalière.
|
Inclure les fonctions de plusieurs variables dans les possibilités algébriques de GeoGebra permettrait de plus de définir des courbes paramétrées, ou d'effectuer des changements de coordonnées. Pour respecter le principe du logiciel, reste à trouver un correspondant graphique à ces fonctions. Voici en attendant un premier exemple où l'on reconnaîtra, très simplifié, un monument parisien célèbre :
La source :
Celui qui résout le problème sans utiliser la commande "lieu" aura gagné... toute mon estime. |
Edit : J'apporte ma modeste contribution au remarquable travail de projection effectué par Julien en réglant le problème des arches qui s'inversent. L'astuce consiste à créer des points sous condition (grâce au test si[]), ce qui permet de permuter les extrémités des arches au moment où elles vont se retourner. Pour les curieux, j'ai donc créé les points M", N", P" et Q", ainsi que les angles nommés angledemiarche_+ et angledemiarche_-, et j'ai légèrement modifié la définition des demi-arches. C'est le genre de bidouille que j'avais découverte dans géoplan (avec la fonction µ) et qui est encore plus simple avec les tests sous geogebra.
Le fichier corrigé est le suivant
Place_de_l_Etoile_archescorrigées
Loïc.
Quelques macros de Géométrie dans l'espace
!!! PRE-RELEASE REQUIRED !!!
|
[edit] Repère
Feed it with : un point O et deux nombres th,phi (accepte les angles en °). [edit] Points
Feed it with : Trois nombres x,y,z, un point O, et deux nombres th,phi.
Feed it with : Trois nombres x,y,z, un point O, et deux nombres th,phi. |
Cercles (méthode provisoire)
Le tracé des courbes reste une des principales difficultés de la perspective. Il fallait une macro traçant les cercles de l'espace. Il serait tellement pratique de les définir par des équations paramétriques, mais ce n'est pas encore possible, du moins pas dans une macro, et il a fallu trouver une solution alternative. En voici une qui rappelle l'époque héroïque des logiciels de Géométrie dynamique sans algèbre : Presque tout se fait à la règle et au compas.
Précisément, il s'agit de tracer le cercle circonscrit à un triangle ABC de l'espace. Se donner trois points non alignés reste encore la plus simple façon de déterminer un cercle, car elle détermine du même coup le plan du cercle. Pour cela, traçons deux médiatrices du triangle, disons de [AB] et [AC]. Elles passent par les milieux des côtés, reste à trouver leurs directions. Notons n = u ^ v le produit vectoriel des vecteurs u = AB et v = AC, de sorte que n est normal au plan (ABC). La médiatrice de [AB] est perpendiculaire à la fois à n et à u, et donc est dirigée par le produit vectoriel u ^ n. De même, celle de [AC] est dirigée par v ^ n. On peut calculer les coordonnées de ces deux vecteurs, et les représenter en perspective dans le moteur3D, ce qui permet le tracé des médiatrices. L'intersection des deux médiatrices donne le centre I du cercle circonscrit. Construisons enfin B' et C' les symétriques de B,C par rapport à I. Nous avons cinq points du cercle, que la commande conique par cinq points permet de tracer. pfff !!
Remarques : Il y a bien sûr un inconvénient à privilégier artificiellement cinq points. Il arrive en effet que la construction échoue. Si deux des cinq points sont confondus -- si par exemple B et C sont symétriques par rapport à I i.e. si ABC est rectangle en A -- il n'y a plus assez de points pour utiliser la commande conique par cinq points. Autre problème, lorsque les cinq points sont quasi alignés, il arrive que la conique tracée ne passe visiblement pas ceux-ci (bug de la commande ?). On attend donc impatiemment une méthode algébrique.
-
ThreeDCircle. Trace le cercle passant par les points de coordonnées (x_i,y_i,z_i), i = 1,2,3, dans le repère (O,i,j,k) vu sous le couple d'angles (th,phi).
Feed it with : Neuf nombres x_1,y_1,z_1,x_2,y_2,z_2,x_3,y_3,z_3, un point O, et deux nombres th,phi.
-
ThreeDCircleCentre. Place le centre du cercle défini comme ci-dessus.
Exemple
|
Ayant créé le point libre O, ainsi que les nombres libres th,phi et x_i,y_i,z_i (i = 1,2,3), on obtient la figure suivante en écrivant dans la zone de saisie : Rep = ThreeDReferential[O,th,phi] A_0 = ThreeDPlot[x_0,y_0,z_0,O,th,phi] A_1 = ThreeDPlot[x_1,y_1,z_1,O,th,phi] A_2 = ThreeDPlot[x_2,y_2,z_2,O,th,phi] Coorvisible[x_0,y_0,z_0,O,th,phi] Coorvisible[x_1,y_1,z_1,O,th,phi] Coorvisible[x_2,y_2,z_2,O,th,phi] c = ThreeDCircle[x_0,y_0,z_0,x_1,y_1,z_1,x_2,y_2,z_2,O,th,phi] I = ThreeDCircleCentre[x_0,y_0,z_0,x_1,y_1,z_1,x_2,y_2,z_2,O,th,phi] Appel : On remarque les pénibles redites dans les arguments des macros. GeoGebra permet maintenant de définir des listes. Celui qui sait en récupérer les éléments pourrait l'expliquer ici, car cela permettrait d'obtenir la même figure avec des définitions plus naturelles, comme :
Pers = { th, phi }
a_i = { x_i, y_i, z_i } %(i=1,2,3)
Rep = ThreeDReferential[O,Pers]
A_i = ThreeDPlot[a_i,Rep] %(i=1,2,3)
Coorvisible[a_i,Rep]
c = ThreeDCircle[a_0,a_1,a_2,Rep]
I = ThreeDCircleCentre[a_0,a_1,a_2,Rep]
Il faudra redéfinir les macros en conséquence. Exemple en version html : |
Courbes paramétrées (perspective cavalière)
|
On peut enfin construire des courbes paramétrées planes dans GeoGebra. D'où l'idée de les construire aussi en 3D. Voici un premier exemple. Il serait plus naturel de définir une macro qui trace la courbe de l'espace définie par x = x(t) ; y = y(t) ; z = z(t) dans un repère donné, le repère et les fonctions-coordonnées étant les arguments de la macro. Malheureusement, on ne peut visiblement toujours pas utiliser la commande Curve comme sortie d'une macro. Voici un premier exemple en attendant. Il donne le principe, et on peut changer la définition de la courbe. Version html : La source : Remarque : La figure nécessite d'utiliser la pre-release de GeoGebra 3.0 et sans doute aussi de charger au préalable la macro suivante |
Quelques outils de perspective centrale
Voici quelques outils (macros) qui cherchent à faciliter la représentation d'objets en perspective centrale (plus fidèle à la vision humaine que la perspective cavalière). Ils n'ont pas cependant la souplesse des outils plans natifs, qui acceptent par exemple des paramètres de types divers. On trouvera les outils dans les figures données en illustration. (utiliser le gestionnaire d'outils pour les isoler dans des fichiers .ggt. Si vous constatez des bugs, n'hésitez pas à le signaler).
Pour l'instant, il n'y en a en gros que deux : un qui place des points, un autre qui trace des courbes paramétrées, ce dernier permettant de représenter aussi des solides complexes, moyennant quelques contorsions (voir l'ellipsoïde ci-dessous).
Il est au programme de les compléter par d'autres pour les constructions usuelles, en particulier : cercle circonscrit, milieu, symétrie, translation, distance... mais j'ai pour l'instant trop de difficultés avec les opérations algébriques sur les listes pour les mettre en ligne.
|
On travaille dans un repère (orthonormé) fixé une fois pour toutes et l'idée consiste, comme annoncé, à travailler avec des listes : un point de l'espace est la 3-liste de ses coordonnées dans ce repère. On travaille donc avec les coordonnées en manipulant des listes, et ensuite, on fait des dessins avec les outils appropriés. La réalisation du dessin demande qu'on précise deux choses :
|
- Un point désignant la position de l'origine du repère sur la feuille. Si ce point est libre, on pourra ainsi déplacer tout le dessin à volonté en déplaçant ce point.
Exemple : Définir une perspective, dessiner le repère et y placer le point M de coordonnées (0,1,2)
|
Un point O et les nombres th, phi, r0, Foc étant déjà définis, on saisit :
Pers = {th,phi,r0,Foc}
m = {0,1,2}
M = PointEnPersCentrale[m,O,Pers]
Li = {1,0,0}
Lj = {0,1,0}
Lk = {0,0,1}
i = Vecteur[O,PointEnPersCentrale[Li,O,Pers]]
j = Vecteur[O,PointEnPersCentrale[Lj,O,Pers]]
k = Vecteur[O,PointEnPersCentrale[Lk,O,Pers]]
Attention aux vecteurs, pour un vecteur donné, chacun de ses représentants a un dessin différent selon la position de son origine. C'est pour cela qu'à mon sens, il n'y a pas à faire d'outil VecteurEnPersCentrale, mais plutôt TranslationEnPersCentrale.
|
Les sources :
Remarque : Mon ordi a bien du mal avec la modification à la volée de l'ellipsoide, qui est très lente, je ne sais pas pourquoi.
GEOMETRIE SPHERIQUE
|
Une série d'outils destinés surtout à la géométrie sphérique (mais pas que). Le principe est le même que ci-dessus (perspective en alpha, beta), avec une utilisation intensive des listes pour représenter les objets 3d, que l'on trace ensuite. ATTENTION : il faut une version récente de geogebra pour ouvrir les fichiers qui utilisent beaucoup les listes (le plus simple est d'utiliser le webstart).
Fichier d'exemple : 3d-exemple.ggb |
Première explication et exemple
>>>Voir l'article
Les commandes expliquées succintement
>>>Voir l'article
Quelques exemples
>>>Voir l'article
Mathieu Blossier

















