Page 1 sur 1

Illustrer le calcul du volume d'un solide de révolution

Posté : dim. 14 mars 2010, 11:14
par GM
Une figure qui pourra servir de base pour illustrer la formule de calcul du volume d'un solide de révolution d'axe (Oz).
V=\int_{a}^{b}S(z)dz \qquad\text{avec}\qquad S(z)=\pi\left(r(z)\right)^2


Le rendu de la figure différera un peu si vous compilez l'exemple sur votre pc, car les contraintes de compilation via le forum sont telles qu'actuellement (et probablement pour longtemps)
  • il ne va pas être possible d'avoir des figures complexes, car seules des superpositions d'objets sont possibles : on le voit sur l'exemple pour l'axe des cotes ;
  • il n'y a pas de transparences possibles.

La parade sera de compiler sur son pc et de joindre un fichier (image ou pdf) à son message.

Figure asymptote 836f2ea0d1fd19e7baef30a75cd56a62
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. import solids;
  2. size(250,0);
  3. currentprojection=perspective((45,45,20));
  4.  
  5. draw((4,0,8)--(-4,0,8)^^(0,4,8)--(0,-4,8),dashed+darkgray);
  6. draw("$x$",O--X,Arrow3);draw(O--3X);
  7. draw("$y$",O--Y,Arrow3);draw(O--3Y);
  8. draw("$z$",O--Z,Arrow3);draw(O--13Z);
  9.  
  10. path3 gene=(0,2,3)..(0,3,3.5)..(0,4,4.5)..(0,4.5,6)
  11. ..(0,4,8)..(0,1,10)..(0,2,12);
  12. revolution vase=revolution(c=(0,0,0),gene, axis=Z, -70, 270);
  13. draw(surface(vase),palegreen+opacity(.4));
  14. draw(vase,m=10,frontpen=.8bp+blue,backpen=.6bp+paleblue,longitudinalpen=nullpen);
  15. skeleton s;
  16. vase.transverse(s,reltime(vase.g,0.5), P=currentprojection);
  17. draw(s.transverse.back,1bp+yellow+linetype("8 8",8));
  18. draw(s.transverse.front,1bp+yellow);
  19.  
  20. draw((0,2,3)--(0,-2,3)^^(2,0,3)--(-2,0,3),dashed+gray);
  21. draw((0,2,12)--(0,-2,12)^^(2,0,12)--(-2,0,12),gray);
  22.  
  23. draw (gene,1bp+green);
  24. draw ((2,0,12)..(0,2,12)..(-2,0,12)..(0,-2,12)..cycle,.4bp+red,Arrow3);
  25.  
  26. dot(Label("$a$",align=SE),(0,0,2.5));
  27. dot(Label("$z$",align=SE),(0,0,8),red);
  28. dot(Label("$b$",align=NE),(0,0,12));
  29. draw("$r(z)$",(0,0,8)--(4,0,8),red,Arrow3);