Fichier cube.mp (figure 17) — Modifié le 20 Juin 2008 à 22 h 15

cube.mp (figure 17)
Source

vardef cube (expr depart,dimarete) =
                save fig,cube,chemin;
                pair sommetCube[];
                path chemin;
                picture fig,cube;
                fig=currentpicture;
                currentpicture:=nullpicture;
                sommetCube0=depart;
                sommetCube1=sommetCube0 shifted (dimarete,0);
                (sommetCube3-sommetCube0)=(sommetCube1-sommetCube0) scaled .5 rotated 35;
                (sommetCube2-sommetCube1)=(sommetCube0-sommetCube1) scaled .5 rotated (-145);
                for i:=0 upto 3 :
                        sommetCube[i+4]=sommetCube[i] shifted (0,dimarete);
                endfor
                draw sommetCube0--sommetCube1--sommetCube2--sommetCube6--
                sommetCube5--sommetCube4--cycle;
                draw sommetCube1--sommetCube5;
                draw sommetCube0--sommetCube3--sommetCube7 dashed evenly;
                draw sommetCube2--sommetCube3 dashed evenly;
                draw sommetCube4--sommetCube7--sommetCube6;
                cube=currentpicture;
                currentpicture:=fig;
                cube
enddef;

vardef nommecube =
                label.llft(btex $A$ etex, sommetCube0);
                label.lrt(btex $B$ etex, sommetCube1);
                label.rt(btex $C$ etex, sommetCube2);
                label.urt(btex $D$ etex, sommetCube3);
                label.ulft(btex $E$ etex, sommetCube4);
                label.top(btex $F$ etex, sommetCube5);
                label.urt(btex $G$ etex, sommetCube6);
                label.ulft(btex $H$ etex, sommetCube7);
enddef;

beginfig(1); %avec un tétraedre
        picture lecube;
        pair A,H,F,C,E;
        lecube=cube(origin,5cm);
        draw lecube;
        nommecube;
        A=sommetCube0;
	E=sommetCube4;
        H=sommetCube7;
        F=sommetCube5;
        C=sommetCube2;
        pickup pencircle scaled 0.8bp;
        draw A--F--C;
        draw H--F;
        draw A--H--C--cycle dashed evenly;

      endfig;

   
beginfig(2);
        picture lecube;
        pair A,B,H,F,C,I,E,G;
pickup pencircle scaled 0.8bp;
	lecube:=cube(origin,4cm);

        draw lecube;
        nommecube;

        A:=sommetCube0;
	B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	 G=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;
        pickup pencircle scaled 2bp;
	%I=1/3[H,E];
	%draw I;
	dotlabel.ulft(btex $I$ etex,1/3[E,H]);
	dotlabel.bot(btex $J$ etex,1/3[A,B]);
	dotlabel.bot(btex $K$ etex,1/3[G,F]);
	       % draw A--F--C;
       % draw H--F;
       % draw A--H--C--cycle dashed evenly;
      endfig;

       
beginfig(3); %%Un tétraedre seul
        picture lecube;
        pair A,B,H,F,C,I,E,G;
        lecube:=cube(origin,4cm);
	pickup pencircle scaled 0.8bp;


	       %  label.llft("A", sommetCube0);
%                 label.rt("C", sommetCube2);


%                 label.urt("F", sommetCube5);

%                 label.ulft("H", sommetCube7);
		label.llft(btex $A$ etex, sommetCube0);

                label.rt(btex $C$ etex, sommetCube2);


                label.top(btex $F$ etex, sommetCube5);

                label.ulft(btex $H$ etex, sommetCube7);




        A:=sommetCube0;
	%B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	%G=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;

draw A--F--H--cycle;
		draw A--C--F--cycle;
       %draw H--F;
       draw H--C dashed evenly;

        pickup pencircle scaled 2bp;
	%I=1/3[H,E];
	%draw I;
	dotlabel.ulft(btex $I$ etex,2/5[A,H]);
	dotlabel.bot(btex $J$ etex,2/5[F,A]);
	dotlabel.top(btex $K$ etex,1/3[H,C]);
      endfig;
%%%%%%%%__________________________________________________________________

      
beginfig(4); %%Un tétraedre seul
	u=6cm;
        picture lecube;
        pair A,B,H,F,C,I,E,G;
        lecube:=cube(origin,u);
	pickup pencircle scaled 0.8bp;
       	        % label.llft("A", sommetCube0);
%                 label.rt("C", sommetCube2);

%                 label.urt("F", sommetCube5);

%                 label.ulft("H", sommetCube7);
		label.llft(btex $A$ etex, sommetCube0);

                label.rt(btex $C$ etex, sommetCube2);


                label.top(btex $F$ etex, sommetCube5);

                label.ulft(btex $H$ etex, sommetCube7);


        A:=sommetCube0;
	%B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	%G=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;


draw A--F--H--cycle;
		draw A--C--F--cycle;
       %draw H--F;
       draw H--C dashed evenly;

        pickup pencircle scaled 2bp;



	dotlabel.ulft(btex $I$ etex,H shifted (0.1*u,-0.5*u));
	dotlabel.ulft(btex $J$ etex,H shifted (0.45*u,-0.35*u));
	dotlabel.top(btex $K$ etex,H shifted (0.2*u,-1.1*u));
	%dotlabel.bot(btex $J$ etex,2/5[H,F]-C/4 );
	%dotlabel.top(btex $K$ etex,1/3[H,C]);
      endfig;
      %%%%%%%%__________________________________________________________________

      
beginfig(5); %%Un tétraedre seul
	u:=6cm;
        picture lecube;
        pair A,B,H,F,C,I,E,G;
        lecube:=cube(origin,u);
	pickup pencircle scaled 0.8bp;

		label.llft(btex $A$ etex, sommetCube0);

                label.rt(btex $C$ etex, sommetCube2);


                label.top(btex $F$ etex, sommetCube5);

                label.ulft(btex $H$ etex, sommetCube7);


        A:=sommetCube0;
	%B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	%G=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;


draw A--F--H--cycle;
		draw A--C--F--cycle;
       %draw H--F;
       draw H--C dashed evenly;

        pickup pencircle scaled 2bp;



	dotlabel.ulft(btex $I$ etex,H shifted (0.1*u,-0.5*u));
	dotlabel.ulft(btex $J$ etex,H shifted (0.05*u,-0.15*u));
	dotlabel.top(btex $K$ etex,H shifted (0.35*u,-0.7*u));
	%dotlabel.bot(btex $J$ etex,2/5[H,F]-C/4 );
	%dotlabel.top(btex $K$ etex,1/3[H,C]);
      endfig;

      
beginfig(6); % Un cube simple
        picture lecube;
        pair A,B,H,F,C,D,I,E,G;
pickup pencircle scaled 0.8bp;
	lecube:=cube(origin,4cm);

        draw lecube;
        nommecube;

        A:=sommetCube0;
	B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	 G=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;
      endfig;

      
beginfig(7); %Tourné
        picture zecube;

	%nommecube;
        zecube=cube(origin,5cm)  slanted -0.2 rotated 15;
        draw zecube;
      endfig;

       
beginfig(8); %Section corrigée au 9
        picture lecube;
        pair A,B,H,F,C,I,E,G,J,K,D, M[];
pickup pencircle scaled 0.8bp;
	lecube:=cube(origin,4cm);

        draw lecube;
        nommecube;

        A:=sommetCube0;
	B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	G:=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;
        %pickup pencircle scaled 2bp;
	I=1/4[E,H];
	J=1/2[A,B];
	K=1/4[G,F];
	%draw I;
	dotlabel.ulft(btex $I$ etex,I);
	dotlabel.bot(btex $J$ etex,J);
	dotlabel.lrt(btex $K$ etex,K);

      endfig;

       
beginfig(9); %Solution du 8
        picture lecube;
        pair A,B,H,F,C,I,E,G,J,K, M[];
pickup pencircle scaled 0.8bp;
	lecube:=cube(origin,4cm);

        draw lecube;
        nommecube;

        A:=sommetCube0;
	B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	G:=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;
        %pickup pencircle scaled 2bp;
	I=1/4[E,H];
	J=1/2[A,B];
	K=1/4[G,F];
	%draw I;
	dotlabel.ulft(btex $I$ etex,I);
	dotlabel.bot(btex $J$ etex,J);
	dotlabel.lrt(btex $K$ etex,K);
%%%%%% Tracé de la section:
	M1=whatever[I,K]=whatever[E,F];
	%M2=whatever[I,K]=whatever[H,G];
	draw M1--I dashed withdots scaled 0.5;
	draw M1--E dashed withdots scaled 0.5;
	%draw M2--G dashed withdots scaled 0.5;
	M3=whatever[M1,J]=whatever[E,A];
	draw M1--M3 dashed withdots scaled 0.5;
	M4=whatever[M3,J]=whatever[B,F];
	M5=whatever[M4,K]=whatever[B,C];
	draw J--M4--B dashed withdots scaled 0.5;
	draw M4--M5 dashed withdots scaled 0.5;
	%polygone de section en rouge
	draw J--M3 withcolor red;
	draw I--K--M5 withcolor red;
	draw M3--I withcolor red dashed evenly;
	draw M5--J withcolor red dashed evenly;
      endfig;


beginfig(10); %Section corrigée au 11
        picture lecube;
        pair A,B,H,F,C,I,E,G,J,D,K, M[];
pickup pencircle scaled 0.8bp;
	lecube:=cube(origin,4cm);

        draw lecube;
        nommecube;

        A:=sommetCube0;
	B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	G:=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;
	D:=sommetCube3;
        %pickup pencircle scaled 2bp;
	I=2/3[E,H];
	J=1/2[A,B];
	K=3/4[G,F];

	dotlabel.ulft(btex $I$ etex,I);
	dotlabel.bot(btex $J$ etex,J);
	dotlabel.top(btex $K$ etex,K);
      endfig;

       
beginfig(11); %Solution du 10
        picture lecube;
        pair A,B,H,F,C,I,E,G,J,D,K, M[];
pickup pencircle scaled 0.8bp;
	lecube:=cube(origin,4cm);

        draw lecube;
        nommecube;

        A:=sommetCube0;
	B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	G:=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;
	D:=sommetCube3;
        %pickup pencircle scaled 2bp;
	I=2/3[E,H];
	J=1/2[A,B];
	K=3/4[G,F];

	dotlabel.ulft(btex $I$ etex,I);
	dotlabel.bot(btex $J$ etex,J);
	dotlabel.top(btex $K$ etex,K);
%%%%%% Tracé de la section:
	M1=whatever[I,K]=whatever[E,F];
	%M2=whatever[I,K]=whatever[H,G];
	draw M1--K dashed withdots scaled 0.5;
	draw M1--F dashed withdots scaled 0.5;
	%draw M2--G dashed withdots scaled 0.5;
	M3=whatever[M1,J]=whatever[F,B];
	draw M1--M3 dashed withdots scaled 0.5;
	M4=whatever[M3,J]=whatever[E,A];
	M5=whatever[M4,I]=whatever[A,D];
	draw J--M4 dashed withdots scaled 0.5;
	draw M4--M5 dashed withdots scaled 0.5;
	%polygone de section en rouge
	%draw J--M3 withcolor red;
	draw I--K--M3--J withcolor red;
	draw J--M5--I withcolor red dashed evenly;
	%draw M5--J withcolor red dashed evenly;
%pour repérer les points de construction:

%for i:=3 upto 5:
	 % dotlabel(btex $X$ etex,M[i]);
	  %endfor;
      endfig;
      
beginfig(12); %solution au 13
	 picture lecube;
        pair A,B,H,F,C,I,E,G,J,D,K, M[];
pickup pencircle scaled 0.8bp;
	lecube:=cube(origin,4cm);

        draw lecube;
        nommecube;

        A:=sommetCube0;
	B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	G:=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;
	D:=sommetCube3;
        %pickup pencircle scaled 2bp;
	I=2/3[E,H];
	J=1/2[A,B];
	K=2/3[B,C];

	dotlabel.ulft(btex $I$ etex,I);
	dotlabel.bot(btex $J$ etex,J);
	dotlabel.bot(btex $K$ etex,K);
	endfig;
       
beginfig(13); %Solution du 12
        picture lecube;
        pair A,B,H,F,C,I,E,G,J,D,K, M[];
pickup pencircle scaled 0.8bp;
	lecube:=cube(origin,4cm);

        draw lecube;
        nommecube;

        A:=sommetCube0;
	B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	G:=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;
	D:=sommetCube3;
        %pickup pencircle scaled 2bp;
	I=2/3[E,H];
	J=1/2[A,B];
	K=2/3[B,C];

	dotlabel.ulft(btex $I$ etex,I);
	dotlabel.bot(btex $J$ etex,J);
	dotlabel.bot(btex $K$ etex,K);
%%%%%% Tracé de la section:
	M1=whatever[J,K]=whatever[D,C];
	M2=whatever[J,K]=whatever[A,D];
	M3=whatever[M2,I]=whatever[A,E];

	draw K--M1--C dashed withdots scaled 0.5;
	draw A--M2--J dashed withdots scaled 0.5;
	draw M2--M3 dashed withdots scaled 0.5;

	M4=whatever[M3,I]=whatever[H,D];
	draw I--M4--H dashed withdots scaled 0.5;

	M5=whatever[M4,M1]=whatever[H,G];
	M6=whatever[M4,M1]=whatever[C,G];
	draw M4--M5 dashed withdots scaled 0.5;
	draw M1--M6 dashed withdots scaled 0.5;

	%polygone de section en rouge
	%draw J--M3 withcolor red;
	draw I--M3--J withcolor red;
	draw I--M5 withcolor red;
	draw K--M6 withcolor red;
	draw J--K withcolor red dashed evenly;
	draw J--M3 withcolor red dashed evenly;

	draw M5--M6 withcolor red dashed evenly;
%pour repérer les points de construction:

%for i:=3 upto 5:
	 % dotlabel(btex $X$ etex,M[i]);
	  %endfor;
      endfig;

beginfig(14); %%corrigé au 15
picture lecube;
        pair A,B,H,F,C,I,E,G,J,D,K, M[];
pickup pencircle scaled 0.8bp;
	lecube:=cube(origin,4cm);

        draw lecube;
        nommecube;

        A:=sommetCube0;
	B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	G:=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;
	D:=sommetCube3;
        %pickup pencircle scaled 2bp;
	I=2/7[E,F];  %1/4
	J=5/7[A,B]; %mettre 5/7 pour le suivant
	K=1/3[B,C];

	dotlabel.ulft(btex $I$ etex,I);
	dotlabel.bot(btex $J$ etex,J);
	dotlabel.bot(btex $K$ etex,K);
   endfig;
      
beginfig(15); %Solution du 14
        picture lecube;
        pair A,B,H,F,C,I,E,G,J,D,K, M[];
pickup pencircle scaled 0.8bp;
	lecube:=cube(origin,4cm);

        draw lecube;
        nommecube;

        A:=sommetCube0;
	B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	G:=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;
	D:=sommetCube3;
        %pickup pencircle scaled 2bp;
	I=2/7[E,F];  %1/4
	J=5/7[A,B]; %mettre 5/7 pour le suivant
	K=1/3[B,C];

	dotlabel.ulft(btex $I$ etex,I);
	dotlabel.bot(btex $J$ etex,J);
	dotlabel.bot(btex $K$ etex,K);
%%%%%% Tracé de la section:
	M1=whatever[J,I]=whatever[B,F];
	M2=whatever[M1,K]=whatever[F,G];
	%M3=whatever[J,I]=whatever[B,F];
%
	draw B--M1 dashed withdots scaled 0.5;
	draw K--M1--J dashed withdots scaled 0.5;
	%draw M2--M3 dashed withdots scaled 0.5;

	%M4=whatever[M3,I]=whatever[H,D];
	%draw I--M4--H dashed withdots scaled 0.5;

	%M5=whatever[M4,M1]=whatever[H,G];
	%M6=whatever[M4,M1]=whatever[C,G];
	%draw M4--M5 dashed withdots scaled 0.5;
	%draw M1--M6 dashed withdots scaled 0.5;

	%polygone de section en rouge
	%draw J--M3 withcolor red;
	draw I--J withcolor red;
	draw I--M2 withcolor red;
	draw K--M2 withcolor red;
	draw J--K withcolor red dashed evenly;
	%draw J--M3 withcolor red dashed evenly;

	%draw M5--M6 withcolor red dashed evenly;
%pour repérer les points de construction:

%for i:=3 upto 5:
	 % dotlabel(btex $X$ etex,M[i]);
	  %endfor;
      endfig;
 
beginfig(16); %Solution au 17
        picture lecube;
        pair A,B,H,F,C,I,E,G,J,D,K, M[];
pickup pencircle scaled 0.8bp;
	lecube:=cube(origin,4cm);

        draw lecube;
        nommecube;

        A:=sommetCube0;
	B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	G:=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;
	D:=sommetCube3;
        %pickup pencircle scaled 2bp;
	I=1/4[E,F];  %1/4
	J=5/7[A,B];
	K=2/3[B,C];

	dotlabel.ulft(btex $I$ etex,I);
	dotlabel.bot(btex $J$ etex,J);
	dotlabel.bot(btex $K$ etex,K);
      endfig;
      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
beginfig(17); %Solution du 16
        picture lecube;
        pair A,B,H,F,C,I,E,G,J,D,K, M[];
pickup pencircle scaled 0.8bp;
	lecube:=cube(origin,4cm);

        draw lecube;
        nommecube;

        A:=sommetCube0;
	B=sommetCube1;
	E:=sommetCube4;
        H:=sommetCube7;
	G:=sommetCube6;
        F:=sommetCube5;
        C:=sommetCube2;
	D:=sommetCube3;
        %pickup pencircle scaled 2bp;
	I=1/4[E,F];  %1/4
	J=5/7[A,B];
	K=2/3[B,C];

	dotlabel.ulft(btex $I$ etex,I);
	dotlabel.bot(btex $J$ etex,J);
	dotlabel.bot(btex $K$ etex,K);
%%%%%% Tracé de la section:
	M1=whatever[J,I]=whatever[B,F];
	M2=whatever[M1,K]=whatever[F,G];
	M3=whatever[M1,K]=whatever[C,G];
	M4=whatever[M2,I]=whatever[H,G];
	draw B--M1 dashed withdots scaled 0.5;
	draw K--M1--J dashed withdots scaled 0.5;
	draw B--M1 dashed withdots scaled 0.5;
	draw M2--M3 dashed withdots scaled 0.5;
	draw G--M2 dashed withdots scaled 0.5;
	draw M2--M4 dashed withdots scaled 0.5;
	%
	%draw I--M4--H dashed withdots scaled 0.5;

	%M5=whatever[M4,M1]=whatever[H,G];
	%M6=whatever[M4,M1]=whatever[C,G];
	%draw M4--M5 dashed withdots scaled 0.5;
	%draw M1--M6 dashed withdots scaled 0.5;

	%polygone de section en rouge
	%draw J--M3 withcolor red;
	draw I--J withcolor red;
	draw I--M4 withcolor red;
	draw K--M3 withcolor red;
	draw J--K withcolor red dashed evenly;
	draw M4--M3 withcolor red dashed evenly;

	%draw M5--M6 withcolor red dashed evenly;
%pour repérer les points de construction:

%for i:=3 upto 5:
	 % dotlabel(btex $X$ etex,M[i]);
	  %endfor;
      endfig;

end