Épreuve pratique 2009, sujet 34

samedi 14 novembre 2009
par  Alain BUSSER

Sous CaRMetal, il faut ouvrir une nouvelle figure 3D pour bénéficier des macros spécifiques à la géométrie dans l’espace. Alors l’usage de la macro « coordonnées 3D » permet de construire successivement les points A, B, C, D et E :

construction de A, B, C, D et E

Pour la suite, on a gommé les constructions afin de ne voir que la partie de la construction intéressante.


Question 1

La perspective cavalière conservant l’alignement, il suffit d’utiliser l’outil « test d’alignement » de CaRMetal pour conjecturer l’éventuel alignement de A, B et C. Pour la nature du triangle, CaRMetal n’étant pas vraiment un logiciel de géométrie dans l’espace [1], on se doit après avoir dessiné le triangle ABC, de le faire tourner dans tous les sens avec le clic-droit-glisser pour voir quelle forme il a :

alignement et triangle

Question 2

La perspective cavalière conserve aussi les barycentres, donc on peut

  • utiliser la macro « point pondéré » (dans « barycentres ») pour affecter les masses 1, -1 et 1 à A, B et C
  • utiliser la macro « barycentre de trois points » pour construire le barycentre de A(1), B(-1) et C(1) [2] :
barycentre

Question 3

En représentant le plan (ABC) par le quadrilatère ABCD et la droite (DE) par le segment [DE], on peut voir l’angle droit en faisant tourner la figure ci-dessous :

droite et plan

Question 4

Problème : Il n’y a pas d’outil « sphère » dans CaRMetal : Il va falloir en construire une approximation polyédrale avec un CarScript

Voir le script de fabrication de la sphère

  1. var r=2*Math.sqrt(3);
  2. var p=Math.PI,n=10,h=0.9;
  3. for (i=0; i<n; i++){
  4. for (j=0; j<n; j++){
  5. x=Math.round(r*1000*Math.cos(2*p*i/n)*Math.sin(p*j/n))/1000;
  6. y=Math.round(r*1000*Math.sin(2*p*i/n)*Math.sin(p*j/n))/1000;
  7. z=Math.round(r*1000*Math.cos(p*j/n))/1000;
  8. e=Point("x(E)+_x*(x(X)-x(O))+_y*(x(Y)-x(O))+_z*(x(Z)-x(O))",
  9. "y(E)+_x*(y(X)-y(O))+_y*(y(Y)-y(O))+_z*(y(Z)-y(O))");
  10. s=e;
  11. x=Math.round(r*1000*Math.cos(2*p*(i+h)/n)*Math.sin(p*j/n))/1000;
  12. y=Math.round(r*1000*Math.sin(2*p*(i+h)/n)*Math.sin(p*j/n))/1000;
  13. z=Math.round(r*1000*Math.cos(p*j/n))/1000;
  14. e=Point("x(E)+_x*(x(X)-x(O))+_y*(x(Y)-x(O))+_z*(x(Z)-x(O))",
  15. "y(E)+_x*(y(X)-y(O))+_y*(y(Y)-y(O))+_z*(y(Z)-y(O))");
  16. s=s+","+e;
  17. x=Math.round(r*1000*Math.cos(2*p*(i+h)/n)*Math.sin(p*(j+h)/n))/1000;
  18. y=Math.round(r*1000*Math.sin(2*p*(i+h)/n)*Math.sin(p*(j+h)/n))/1000;
  19. z=Math.round(r*1000*Math.cos(p*(j+h)/n))/1000;
  20. e=Point("x(E)+_x*(x(X)-x(O))+_y*(x(Y)-x(O))+_z*(x(Z)-x(O))",
  21. "y(E)+_x*(y(X)-y(O))+_y*(y(Y)-y(O))+_z*(y(Z)-y(O))");
  22. s=s+","+e;
  23. x=Math.round(r*1000*Math.cos(2*p*i/n)*Math.sin(p*(j+h)/n))/1000;
  24. y=Math.round(r*1000*Math.sin(2*p*i/n)*Math.sin(p*(j+h)/n))/1000;
  25. z=Math.round(r*1000*Math.cos(p*(j+h)/n))/1000;
  26. e=Point("x(E)+_x*(x(X)-x(O))+_y*(x(Y)-x(O))+_z*(x(Z)-x(O))",
  27. "y(E)+_x*(y(X)-y(O))+_y*(y(Y)-y(O))+_z*(y(Z)-y(O))");
  28. s=s+","+e;
  29. SetHide(s,true);
  30. u=Polygon(s);
  31. }
  32. }

Télécharger

La figure produite est la suivante, qui permet de conjecturer la position relative du plan (représenté ici par un polygone) et de la sphère :

sphère

[1il se peut que cela change dans les mois qui viennent.

[2on eût pu faire pareil pour le (a) mais il s’agissait alors de l’isobarycentre de A, B et C et il saute aux yeux que celui-ci n’est pas D.


Commentaires