%%Choix
%verbatimtex
%&Latex
%\documentclass{article}
%\usepackage[frenchb]{babel}
%\usepackage[latin1]{inputenc}
%\begin{document}
%etex
%%%%%%%%%
prologues:=2;
input constantes;
input geometrie31;
pair p[],q[],r[],s[],t[];
p0=u*(10,10);%O
p1=u*(15,10);%y
p2=u*(10,15);%z
p3=u*(12,12);%x
path cadre;
cadre=(0,5u)--(20u,5u)--(20u,20u)--(0,20u)--cycle;
path cerclebase;
cerclebase=cercle(p0,abs(p0-p1));
for k=0 step 0.05 until 1:
beginfig(k*100);
draw cadre;
q[100*k]=point(k*length cerclebase) of cerclebase;
r[100*k]=q[100*k] rotatedabout(p0,90);
q[100*k+1]=projet(q[100*k],p0,p1);
r[100*k+1]=projet(r[100*k],p0,p1);
s[100*k]=parallele(q[100*k+1],p0,p3,10) intersectionpoint parallele(q[100*k],p2,p3,10);
t[100*k]=parallele(r[100*k+1],p0,p3,10) intersectionpoint parallele(r[100*k],p2,p3,10);
draw p2--(s[100*k] shifted(p2-p0))--((t[100*k] shifted (s[100*k]-p0)) shifted(p2-p0))--(t[100*k] shifted(p2-p0))--cycle;%haut
if (100*k<10) or ((100*k>80) and (100*k<100)):
draw p0--p2 withcolor red;
draw p0--s[100*k]--(t[100*k] shifted (s[100*k]-p0));
draw (t[100*k] shifted (s[100*k]-p0))--t[100*k]--p0 dashed evenly;%bas
draw t[100*k]--(t[100*k] shifted (p2-p0)) dashed evenly;%arête verticale1
draw s[100*k]--(s[100*k] shifted (p2-p0));%arête verticale5
draw (t[100*k] shifted (s[100*k]-p0))--((t[100*k] shifted (s[100*k]-p0)) shifted (p2-p0));%arête verticale4
fi
if ((100*k>5) and (100*k<35)):
draw p0--p2 withcolor red;
draw t[100*k]--p0--s[100*k];
draw s[100*k]--(t[100*k] shifted (s[100*k]-p0))--t[100*k] dashed evenly;
draw t[100*k]--(t[100*k] shifted (p2-p0));%arête verticale1
draw s[100*k]--(s[100*k] shifted (p2-p0));%arête verticale5
draw (t[100*k] shifted (s[100*k]-p0))--((t[100*k] shifted (s[100*k]-p0)) shifted (p2-p0)) dashed evenly;%arête verticale4
fi
if ((100*k>30) and (100*k<60)):
draw p0--p2 withcolor red;
draw p0--s[100*k]--(t[100*k] shifted (s[100*k]-p0)) dashed evenly;
draw (t[100*k] shifted (s[100*k]-p0))--t[100*k]--p0;
draw t[100*k]--(t[100*k] shifted (p2-p0));%arête verticale1
draw s[100*k]--(s[100*k] shifted (p2-p0)) dashed evenly;%arête verticale5
draw (t[100*k] shifted (s[100*k]-p0))--((t[100*k] shifted (s[100*k]-p0)) shifted (p2-p0));%arête verticale4
fi
if ((100*k>55) and (100*k<85)):
draw p0--p2 dashed evenly withcolor red;
draw t[100*k]--p0--s[100*k] dashed evenly;
draw s[100*k]--(t[100*k] shifted (s[100*k]-p0))--t[100*k];
draw t[100*k]--(t[100*k] shifted (p2-p0));%arête verticale1
draw s[100*k]--(s[100*k] shifted (p2-p0));%arête verticale5
draw (t[100*k] shifted (s[100*k]-p0))--((t[100*k] shifted (s[100*k]-p0)) shifted (p2-p0));%arête verticale4
fi
endfig;
endfor;
end
%draw s[100*k]--t[100*k];
%draw 5[p0,p1]--5[p2,p1];
%dotlabel.top(btex $p_1$ etex,p1);
%dotlabel.top(btex $p_2$ etex,p2);
%dotlabel.top(btex $p_3$ etex,p3);
%dotlabel.top(btex $p_0$ etex,p0);
%dotlabel.top(btex $M$ etex,q[100*k]);
%dotlabel.top(btex $P$ etex,r[100*k]);
%dotlabel.top(btex $M'$ etex,q[100*k+1]);
%dotlabel.top(btex $P'$ etex,r[100*k+1]);
%dotlabel.top(btex $S$ etex,s[100*k]);
%dotlabel.top(btex $R$ etex,t[100*k]);
%draw cerclebase;
%draw q[100*k]--p0--r[100*k];
|