1 \section {Sectionner un solide par un plan}
3 \subsection{Tracer l'intersection d'un plan et d'un solide}
5 \subsubsection{Les paramètres}
7 C'est l'option \Cadre{intersectionplan=\{[a b c d]\}} qui permet de
8 tracer l'intersection d'un plan et d'un solide. L'argument entre les
9 crochets contient les paramètres du plan affine ayant pour équation :
10 $ax+by+cz+d=0$. Il est possible de dessiner l'intersection du solide
11 avec plusieurs plans en plaçant à la suite les paramètres de ces plans
12 comme dans l'exemple suivant.
14 Le tracé est activé avec \Cadre{intersectiontype=0} ou toute autre valeur $\geq0$.
16 La couleur du tracé est choisie dans l'option
17 \Cadre{intersectioncolor=(bleu) (rouge) etc.}. On donne successivement
18 dans l'ordre, l'épaisseur de chaque tracé par
19 \Cadre{intersectionlinewidth=1 2 etc.} (dimensions en picas).
21 Le tracé en traits discontinus des parties cachées sera activé avec \Cadre{action=draw}.
23 \begin{LTXexample}[width=6cm]
24 \begin{pspicture}(-3,-2)(3,7)
25 \psset{lightsrc=viewpoint,viewpoint=50 20 20 rtp2xyz,Decran=50}
26 \psset{lightsrc=viewpoint}
27 \psSolid[object=cylindre,
36 [0.894 0 0.447 -1.8]},
37 intersectioncolor=(bleu) (rouge) (vert) (rose),
38 intersectionlinewidth=1 1.5 1.8 2.2]
39 \axesIIID(2,2,6)(3,3,7)
42 \subsection{Coupes d'un solide}
43 \subsubsection{Coupe du solide plein}
44 L'objet étudié est un cylindre.
45 Le plan qui coupe l'objet sera défini par :
48 plansepare={[a b c d]}
51 Les deux parties ne seront pas tracées mais mises en mémoire avec le nom commun \Cadre{name=partiescylindre} :
55 \psSolid[object=cylindre,
58 plansepare={[0.707 0 0.707 0]},
63 Puis affichées séparément avec leur indice respectif. C'est le sens de la normale du plan de séparation qui détermine le numérotage des deux parties : \Cadre{0} celle qui est \textit{au-dessus} de la normale et \Cadre{1} celle qui est \textit{au-dessous}. Pour les deux parties, la face de découpe porte le numéro \Cadre{0}.
64 S'il y a plusieurs faces de découpe, comme dans le cas du tore elles sont numérotées \Cadre{0, 1 etc.}
68 load=partiescylindre1,
69 fillcolor={[rgb]{0.7 1 0.7 }},
70 fcol=0 (1 1 0.7 setrgbcolor)]
72 load=partiescylindre0,RotZ=60,
73 fillcolor={[rgb]{0.7 1 0.7 }},
74 fcol=0 (1 1 0.7 setrgbcolor)](0,4,0)
78 \begin{pspicture}(-4,-5)(7,4)
80 \psset{viewpoint=50 -40 10 rtp2xyz,Decran=50,linecolor=darkgray}
82 \psset{lightsrc=viewpoint}
83 \psSolid[object=grille,action=draw,
85 linecolor=red](0,0,-3)
87 \psSolid[object=cylindre,
90 plansepare={[0.707 0 0.707 0]},
94 load=partiescylindre1,
95 fillcolor={[rgb]{0.7 1 0.7 }},
96 fcol=0 (1 1 0.7 setrgbcolor)]
98 load=partiescylindre0,RotZ=90,
99 fillcolor={[rgb]{0.7 1 0.7 }},
100 fcol=0 (1 1 0.7 setrgbcolor)](0,4,0)
101 \psSolid[object=plan,action=draw,
103 args={[0.707 0 0.707 0] 90},
104 base=-2 2 -3 3,planmarks,showBase]
105 \axesIIID(0,0,0)(2.5,2.5,3.5)
109 \subsubsection{Coupe du solide creux}
110 Les options \Cadre{rm=0,hollow} permettent, l'une d'enlever la face de
111 découpe \Cadre{rm=0} et l'autre, \Cadre{hollow} de voir l'intérieur.
113 \begin{pspicture}(-4,-5)(7,4)
115 \psset{viewpoint=50 -40 10 rtp2xyz,Decran=50,linecolor=darkgray}
117 \psset{lightsrc=viewpoint}
118 \psSolid[object=grille,action=draw,
120 linecolor=red](0,0,-3)
122 \psSolid[object=cylindre,
125 plansepare={[0.707 0 0.707 0.5]},
126 name=partiescylindre,
128 \psSolid[object=load,
129 load=partiescylindre1,
130 fillcolor={[rgb]{0.7 1 0.7 }},
132 incolor={[rgb]{1 1 0.7}}]
133 \psSolid[object=load,
134 load=partiescylindre0,RotZ=90,
135 fillcolor={[rgb]{0.7 1 0.7 }},
137 incolor={[rgb]{1 1 0.7}}](0,4,0)
138 \psSolid[object=plan,action=draw,
140 args={[0.707 0 0.707 0.5] 90},
141 base=-2 2 -3 3,planmarks,showBase]
147 \subsection{Tranche d'une pyramide}
149 \subsubsection{Marquage des lignes de niveau et première découpe}
151 Cette pyramide est créée comme un \Cadre{object=new} en donnant le
152 liste des coordonnées des sommets et des faces.
169 Dans une première étape, facultative, on marque les lignes de découpe.
173 intersectionplan={[0 0 1 -1] [0 0 1 -2]},
174 intersectionlinewidth=1 2,
175 intersectioncolor=(bleu) (rouge)
178 Et on coupe la pointe supérieure, en dessinant aussi le plan de coupe.
194 plansepare={[0 0 1 -2]},
197 \psSolid[object=load,action=draw*,
199 \psSolid[object=plan,
202 base=-3 5 -3 5,action=draw]
205 Pour ne pas avoir à chaque fois à réécrire sommets et faces de la pyramide, on enregistre ses données dans les fichiers :
207 \item Pyramid-couleurs.dat
208 \item Pyramid-faces.dat
209 \item Pyramid-sommets.dat
212 grâce à la commande \Cadre{action=writesolid} :
228 },file=Pyramid,fillcolor=yellow!50,
232 Toutes ces lignes pourront alors être supprimées et par la suite, on
233 appellera ces données avec la commande :
236 \psSolid[object=datfile,
242 \begin{pspicture}(-5,-2)(5,7)
244 \psset{viewpoint=50 20 10 rtp2xyz,Decran=50}
246 \psset{lightsrc=viewpoint}
247 \psSolid[object=grille,
250 %% create the pyramid with base area in xy-plane
266 intersectionplan={[0 0 1 -1]
268 intersectionlinewidth=1 2,
269 intersectioncolor=(bleu) (rouge)]
270 \axesIIID[linecolor=blue](4,4,5)(5,5,6)
273 \begin{pspicture}(-5,-2)(5,7)
275 \psset{viewpoint=50 20 10 rtp2xyz,Decran=50}
277 \psset{lightsrc=viewpoint}
278 \psSolid[object=grille,
282 %% create the pyramid with base area in xy-plane
297 plansepare={[0 0 1 -2]},
300 \psSolid[object=load,action=draw*,
302 \psSolid[object=plan,
305 base=-3 5 -3 5,action=draw]
306 \axesIIID[linecolor=blue](4,4,2)(5,5,6)
310 \subsubsection{Deuxième découpe et son insertion dans la pyramide}
311 Après avoir ôté la partie supérieure \Cadre{firstSlice0} (elle n'apparaît
312 plus), on découpe dans la partie restante, nommée \Cadre{firstSlice1}, la
313 base de la pyramide en gardant le haut \Cadre{secondSlice0}, puis on
314 enregistre la tranche de pyramide restante afin de l'insérer dans la
315 pyramide en fil de fer~:
319 \psSolid[object=datfile,
321 plansepare={[0 0 1 -2]},
324 \psSolid[object=load,
327 plansepare={[0 0 1 -1]},
329 \psSolid[object=load,action=draw*,
331 \psSolid[object=load,
335 \psSolid[object=datfile,fillcolor=yellow!50,
342 \begin{pspicture}(-5,-2)(4,7)
343 %\psframe(-4,-2)(4,7)
344 \psset{viewpoint=50 20 10 rtp2xyz,Decran=50}
346 \psset{lightsrc=viewpoint}
347 \psSolid[object=grille,
351 %% create the pyramid with base area in xy-plane
352 %\psSolid[object=new,
365 %},file=Pyramid,fillcolor=yellow!50,
367 \psSolid[object=datfile,
369 plansepare={[0 0 1 -2]},
372 \psSolid[object=plan,
374 args={[0 0 1 -1]},action=draw,
376 \psSolid[object=load,
379 plansepare={[0 0 1 -1]},
381 %\psSolid[object=load,action=draw*,
383 %\psSolid[object=load,
387 \psSolid[object=datfile,fillcolor=yellow!50,
389 \psSolid[object=plan,
392 base=-3 5 -3 5,action=draw]
393 \axesIIID[linecolor=blue](0,0,2)(5,5,6)
396 \begin{pspicture}(-4,-2)(6,7)
397 \psset{viewpoint=50 20 10 rtp2xyz,Decran=50}
399 \psset{lightsrc=viewpoint}
400 \psSolid[object=grille,
403 \psSolid[object=datfile,fillcolor=yellow!50,
405 \psSolid[object=datfile,
406 file=Pyramid,action=draw]
407 \axesIIID[linecolor=blue](4,4,2)(5,5,6)
411 \subsection{Coupe d'un octaèdre par un plan parallèle à l'une des faces}
413 \subsubsection{Voir l'intérieur}
414 Rappelons que ce sont les options \Cadre{rm=0,hollow} qui permettent,
415 l'une d'enlever la face de découpe \Cadre{rm=0} et l'autre
416 \Cadre{hollow} de voir l'intérieur.
418 Dans l'exemple ci-dessous, on commence par construire les objets
419 nécessaires, sans les dessiner (\verb+action=none+).
421 On construit l'octaèdre, on nomme $G$ le centre de la face d'indice
422 $1$, puis on définit le point $H$ vérifiant $\overrightarrow{OH} =
423 0,8\overrightarrow {OG}$. On définit ensuite le plan $P$ passant par
424 $H$ et parallèle à la face d'indice $1$ de l'octaèdre. On pratique
425 ensuite la séparation de l'octaèdre par le plan $P$.
427 \begin{LTXexample}[width=7.5cm]
428 \begin{pspicture}(-3.5,-3)(4.5,5)
429 \psset{viewpoint=100 5 10 rtp2xyz,Decran=80,
430 lightsrc=viewpoint,solidmemory,action=none}
431 \psSolid[object=octahedron,
432 a=4,name=my_octahedron,]
433 \psSolid[object=point,
434 definition=solidcentreface,
435 args=my_octahedron 1,
437 \psSolid[object=point,
441 \psSolid[object=plan,
442 definition=solidface,
443 args=my_octahedron 1,
446 \psSolid[object=load,
450 \psSolid[object=load,load=part1,
451 rm=0,hollow,action=draw**,
452 fillcolor={[rgb]{0.7 1 0.7}},
453 incolor={[rgb]{1 1 0.7}},]
454 \psSolid[object=plan,args=P,
455 action=draw,showBase]
456 \psSolid[object=line,
459 \psProjection[object=point,plan=P,args=0 0,
460 fontsize=20,pos=cl,text=H,phi=90,]
461 \axesIIID[linecolor=blue,linewidth=0.4pt](0,0,0)(4,4,4)
465 \subsubsection{On considère le solide comme plein}
467 L'option \Cadre{fcol=0 (YellowOrange)} permet de colorier la face de
468 découpe qui est la face \Cadre{0}.
470 \begin{LTXexample}[width=7.5cm]
471 \begin{pspicture}(-3.5,-3)(4.5,5)
472 \psset{viewpoint=100 5 10 rtp2xyz,Decran=80,
473 lightsrc=viewpoint,solidmemory,action=none}
474 \psSolid[object=octahedron,
475 a=4,name=my_octahedron,]
476 \psSolid[object=point,
477 definition=solidcentreface,
478 args=my_octahedron 1,
480 \psSolid[object=point,
484 \psSolid[object=plan,
485 definition=solidface,
486 args=my_octahedron 1,
489 \psSolid[object=load,
493 \psSolid[object=load,
495 fcol=0 (YellowOrange),
497 fillcolor={[rgb]{0.7 1 0.7}},]
498 \psSolid[object=plan,args=P,
499 action=draw,showBase]
500 \psSolid[object=line,
503 \psProjection[object=point,plan=P,args=0 0,
504 fontsize=20,pos=cl,text=H,phi=90,]
505 \axesIIID[linecolor=blue,linewidth=0.4pt](0,0,0)(4,4,4)
509 \subsubsection{Les deux parties du solide découpé}
511 On rappelle que c'est le sens de la normale du plan de séparation qui
512 détermine le numérotage des deux parties : \Cadre{0} celle qui est
513 \textit{au-dessus} de la normale et \Cadre{1} celle qui est
514 \textit{au-dessous}. Pour les deux parties, la face de découpe porte
516 S'il y a plusieurs faces de découpe, comme dans le cas du tore elles
517 sont numérotées \Cadre{0, 1 etc.}
519 On opère en deux étapes, mise en mémoire des deux parties du solide découpé :
522 \psSolid[object=load,
528 Puis placement et traitement de chacune des parties :
531 \psSolid[object=load,
532 fcol=0 (YellowOrange),
533 fillcolor={[rgb]{0.7 1 0.7}},
535 \psSolid[object=load,
536 fillcolor={[rgb]{0.7 1 0.7}},
537 load=part0](H 2 mulv3d,,)
542 \begin{LTXexample}[width=7.5cm]
543 \begin{pspicture}(-3.5,-3)(4.5,5)
544 \psset{viewpoint=100 5 20 rtp2xyz,Decran=150,
545 lightsrc=viewpoint,solidmemory,action=none}
546 \psSolid[object=octahedron,
547 a=2,name=my_octahedron,]
548 \psSolid[object=point,
549 definition=solidcentreface,
550 args=my_octahedron 1,
552 \psSolid[object=point,
556 \psSolid[object=plan,
557 definition=solidface,
558 args=my_octahedron 1,
561 \psSolid[object=load,
565 \psset{action=draw**}
566 \psSolid[object=load,
568 fcol=0 (YellowOrange),
569 fillcolor={[rgb]{0.7 1 0.7}},]
570 \psSolid[object=load,
571 fillcolor={[rgb]{0.7 1 0.7}},
572 load=part0](H 2 mulv3d,,)
577 \subsection{Coupes d'un cube}
579 \subsubsection{Marquage de la ligne de découpage}
581 \begin{LTXexample}[width=8cm]
582 \psset{viewpoint=100 30 20 rtp2xyz,Decran=150}
583 \begin{pspicture}(-4,-3)(4,5)
586 \psSolid[object=plan,definition=normalpoint,
587 args={1 1 1 [1 1 1]},action=none,name=P]
588 \psSolid[object=cube,a=2,action=draw,
591 intersectionlinewidth=2,
592 intersectioncolor=(rouge),
594 \psProjection[object=point,
595 args=0 0,fontsize=10,pos=dc,
596 text=H,phi=-30,plan=P,
598 \psSolid[object=line,
601 \psSolid[object=vecteur,
603 args=1 1 1 .7 mulv3d](1,1,1)
604 \axesIIID[linecolor=blue](2,2,2)(2.5,2.5,2.5)
608 \subsubsection{Représentation du cube découpé avec une face de découpe hexagonale}
610 \begin{LTXexample}[width=8cm]
611 \psset{viewpoint=100 30 20 rtp2xyz,Decran=150}
612 \begin{pspicture}(-4,-3)(4,5)
615 \psSolid[object=plan,action=none,definition=normalpoint,
616 args={1 1 1 [1 1 1]},name=P]
617 \psSolid[object=cube,a=2,
622 \psSolid[object=load,
625 fillcolor={[rgb]{0.7 1 0.7}},
627 \psProjection[object=point,
628 args=0 0,fontsize=10,pos=dc,
629 text=H,phi=-30,plan=P,
631 \psSolid[object=vecteur,
633 args=1 1 1 .7 mulv3d](1,1,1)
634 \axesIIID[linecolor=blue](2,2,2)(2.5,2.5,2.5)
638 \subsubsection{Cube découpé dans des différentes positions}
640 Où on utilise l'option permettant de mémoriser un solide pour, après
641 diverses transformations, faire reposer le cube tronqué sur sa face de
646 \psSolid[object=datfile,
648 fillcolor={[rgb]{0.7 1 0.7}},
656 \begin{pspicture}(-3,-3)(3,3)
658 \psset{viewpoint=100 30 20 rtp2xyz,Decran=100}
660 \psset{lightsrc=viewpoint}
661 \psSolid[object=grille,
664 \psSolid[object=datfile,
666 fillcolor={[rgb]{0.7 1 0.7}},
668 \axesIIID[linecolor=blue](2,2,2)(2.5,2.5,2.5)
673 \begin{pspicture}(-2,-3)(4,3)
675 \psset{viewpoint=100 -30 20 rtp2xyz,Decran=100}
677 \psset{lightsrc=viewpoint}
678 \psSolid[object=grille,
681 \psSolid[object=datfile,
683 fillcolor={[rgb]{0.7 1 0.7}},
685 \axesIIID[linecolor=blue](2,2,2)(2.5,2.5,2.5)
688 \begin{pspicture}(-3,-2)(3,3)
690 \psset{viewpoint=100 225 20 rtp2xyz,Decran=100}
692 \psset{lightsrc=viewpoint}
693 \psSolid[object=grille,
696 \psSolid[object=datfile,
698 fillcolor={[rgb]{0.7 1 0.7}},
700 \axesIIID[linecolor=blue](0,0,0)(2.5,2.5,2.5)
703 \begin{pspicture}(-3,-2)(3,3)
705 \psset{viewpoint=100 30 20 rtp2xyz,Decran=100}
707 \psset{lightsrc=viewpoint}
708 \psSolid[object=grille,
712 \psSolid[object=datfile,
714 fillcolor={[rgb]{0.7 1 0.7}},
718 \codejps{C1 {-1.5 -1.5 0 translatepoint3d} solidtransform
721 \axesIIID[linecolor=blue](0,0,0)(2.5,2.5,2.5)
724 \begin{pspicture}(-3,-2)(3,4)
726 \psset{viewpoint=100 30 20 rtp2xyz,Decran=100}
728 \psset{lightsrc=viewpoint}
729 \psSolid[object=grille,
733 \psSolid[object=datfile,
735 fillcolor={[rgb]{0.7 1 0.7}},
739 \codejps{C1 {-1.5 -1.5 0 translatepoint3d} solidtransform
740 {0 0 45 rotateOpoint3d} solidtransform
744 \axesIIID[linecolor=blue](0,0,0)(2.5,2.5,2.5)
747 \begin{pspicture}(-3,-2)(3,4)
749 \psset{viewpoint=100 30 20 rtp2xyz,Decran=100}
751 \psset{lightsrc=viewpoint}
752 \psSolid[object=grille,
756 \psSolid[object=datfile,
758 fillcolor={[rgb]{0.7 1 0.7}},
762 \codejps{C1 {-1.5 -1.5 0 translatepoint3d} solidtransform
763 {0 0 45 rotateOpoint3d} solidtransform
764 {-35.2644 -90 add 0 0 rotateOpoint3d} solidtransform
767 \axesIIID[linecolor=blue](1,2.5,0.5)(2.5,3,2.5)
772 \subsection{Sections multiples}
774 \subsubsection{Coupes dans une sphère avec \texttt{PStricks}}
776 \begin{LTXexample}[width=8cm]
777 \begin{pspicture}(-4,-4)(4,4)
779 \psset{viewpoint=100 20 20 rtp2xyz,Decran=75}
780 \psset{solidmemory,lightsrc=viewpoint}
782 /coeff 0.75 def /rO 4 def /OH coeff rO mul neg def}%
783 \psSolid[object=sphere,
785 plansepare={[1 0 0 OH]},
788 \psSolid[object=load,
789 load=part1,plansepare={[-1 0 0 OH]},action=none,name=part]
790 \psSolid[object=load,
791 load=part1,plansepare={[0 1 0 OH]},action=none,name=part]
792 \psSolid[object=load,
793 load=part1,plansepare={[0 -1 0 OH]},action=none,name=part]
794 \psSolid[object=load,
795 load=part1,plansepare={[0 0 1 OH]},action=none,name=part]
796 \psSolid[object=load,
797 load=part1,plansepare={[0 0 -1 OH]},action=none,name=part]
798 \psSolid[object=load,hue=.1 .8 0.5 1,
804 \subsubsection{Sections multiples d'un parallélépipède}
806 Les sections multiples gagneront à être exécutées dans une boucle
807 \texttt{postscript}, dans \Cadre{\textbackslash codejps}, c'est plus
808 simple et plus rapide !
810 Dans cet exemple, le solide de départ est un parallélépipède. Troncatures des sommets et chanfreinages des arêtes sont réalisées avec des plans de coupe successifs, d'abord les sommets puis les arêtes.
812 \begin{LTXexample}[width=7cm]
813 \begin{pspicture}(-3.5,-4)(3.5,4)
814 \psset{viewpoint=100 -20 10 rtp2xyz,Decran=100}
816 \psset{lightsrc=viewpoint}
817 \psframe(-3.5,-4)(3.5,4)
819 4 4 6 newparallelepiped
822 /n_x iAngle cos 35.2644 cos mul def
823 /n_y iAngle sin 35.2644 cos mul def
825 /distance 2 3 add 3 sqrt div neg def
826 [ n_x n_y n_z distance]
831 /n_x iAngle cos 35.2644 cos mul def
832 /n_y iAngle sin 35.2644 cos mul def
833 /n_z 35.2644 sin neg def
834 /distance 2 3 add 3 sqrt div neg def
835 [ n_x n_y n_z distance]
840 % plan : ax+by+cz-d=0
847 dup [.5 .2] solidputhuecolors
852 \subsection{Sections d'un tore}
853 %\begin{pspicture}(-6,-4)(6,4)
854 %\psSolid[r1=3,r0=1.5,
857 % file=tore1860,action=writesolid]
861 \begin{pspicture}(-6,-4)(6,4)
862 \pstVerb{/Ampl 3 2 sqrt mul def}%
863 \psset{viewpoint=50 -10 30 rtp2xyz,Decran=50}
865 \psset{lightsrc=viewpoint}
866 \defFunction[algebraic]{lemniscate}(t){1.5}{Ampl*sin(t)/(1+cos(t)*cos(t))}{Ampl*sin(t)*cos(t)/(1+cos(t)*cos(t))}
867 \psframe[fillstyle=solid,fillcolor=gray!50](-6,-4)(6,4)
869 %\psSolid[object=datfile,file=tore1860,
870 % plansepare={[1 0 0 -1.5]},
872 % action=none](0,0,0)
873 %\psSolid[object=load,
875 % file=tore1860lemniscate,action=writesolid](0,0,0)
876 \psSolid[object=datfile,file=tore1860lemniscate,
877 fcol=0 (0.5 0.72 0.5 setrgbcolor)
878 1 (0.5 0.72 0.5 setrgbcolor),
883 intersectioncolor=(rouge),
884 intersectionlinewidth=2.2]
885 \psSolid[object=courbe,r=0,linewidth=2pt,
888 function=lemniscate]%
889 \psSolid[object=plan,action=draw,
891 args={[1 0 0 -1.5] 90},
892 base=-5 5 -2 2,planmarks,showBase]
897 \begin{pspicture}(-6,-4)(6,4)
898 \pstVerb{/Ampl 3 2 sqrt mul def}%
899 \defFunction[algebraic]{lemniscate}(t){1.5}{Ampl*sin(t)/(1+cos(t)*cos(t))}{Ampl*sin(t)*cos(t)/(1+cos(t)*cos(t))}
900 \psset{viewpoint=50 -10 30 rtp2xyz,Decran=50}
902 \psset{lightsrc=viewpoint}
903 \psframe[fillstyle=solid,fillcolor=gray!50](-6,-4)(6,4)
904 \psSolid[object=datfile,file=tore1860lemniscate,
907 fillcolor=green!30,incolor=yellow!50]
908 \psSolid[object=courbe,r=0,linewidth=2pt,
911 function=lemniscate]%
912 \psSolid[object=plan,action=draw,
914 args={[1 0 0 -1.5] 90},
915 base=-5 5 -2 2,planmarks,showBase]
918 \subsection{Autres exemples}
920 \item Vous trouverez une version codée de ce document en \Cadre{jps} dans la commande \Cadre{\textbackslash codejps} dans le document suivant :
922 \centerline{\url{http://melusine.eu.org/syracuse/mluque/solides3d2007/sections}}
923 \item Une étude des sections coniques sur :
925 \centerline{\url{http://melusine.eu.org/syracuse/mluque/solides3d2007/sections/sections-cone}}
926 \item Une étude des sections cylindriques sur :
928 \centerline{\url{http://melusine.eu.org/syracuse/mluque/solides3d2007/sections/section-cylindre}}
929 \item Une étude sur les sections du tore :
931 \centerline{\url{http://melusine.eu.org/syracuse/mluque/solides3d2007/sections/section-tore}}