summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/metapost/profcollege/PfCObjets.mp
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/metapost/profcollege/PfCObjets.mp')
-rw-r--r--Master/texmf-dist/metapost/profcollege/PfCObjets.mp257
1 files changed, 257 insertions, 0 deletions
diff --git a/Master/texmf-dist/metapost/profcollege/PfCObjets.mp b/Master/texmf-dist/metapost/profcollege/PfCObjets.mp
index 3b47a88983d..fd2fbe0f2dd 100644
--- a/Master/texmf-dist/metapost/profcollege/PfCObjets.mp
+++ b/Master/texmf-dist/metapost/profcollege/PfCObjets.mp
@@ -42,6 +42,263 @@ Transparence:=false;
boolean couleurz;%pour gérer l'affichage "des lignes" de niveaux
couleurz:=false;
+ vardef AffichageObjetCylindre[]=
+ save _affi;
+ picture _affi;
+ color Fc[][];color cou[];
+ tapj:=0;
+ for k=0 upto apj.@:
+ cpt[tapj]:=tapj;
+ Fc[tapj].nb:=OTFc.@[k].nb;
+ for l=1 upto Fc[tapj].nb:
+ Fc[tapj][l]:=OTFc.@[k][l];
+ endfor;
+ Fc[tapj].iso:=OTFc.@[k].iso;
+ cou[tapj]:=if perso.@:scantokens(couleurperso) else: coul.@[k] fi;
+ ALT[tapj]:=ALT.@[k];
+ Vue[tapj]:=Vue.@[k];
+ tapj:=tapj+1;
+ endfor;
+ tapj:=tapj-1;
+ QS(0,tapj);
+ for k=0 step 1 until tapj:
+ if Vue[cpt[k]]=false:
+ draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]) dashed dashpattern(on0.5 off2) withpen pencircle scaled0.25;
+ draw Projette(Fc[cpt[k]][3])--Projette(Fc[cpt[k]][4]) dashed dashpattern(on0.5 off2) withpen pencircle scaled0.25;
+ fi;
+ endfor;
+ n:=0;
+ for k=0 step 1 until tapj:
+ if Vue[cpt[k]]:
+% label(""&decimal(cpt[k])&"",Projette(Fc[cpt[k]].iso));
+ n:=n+1;
+ if n<3:
+ if cpt[k]>1:
+ vala[n]=cpt[k];
+% label.top(decimal(n)&"--"&decimal(vala[n]),n*u*(1,0));
+ else:
+ n:=n-1;
+ fi;
+ fi;
+ if cpt[k]<1:
+ draw for l=1 upto Fc[cpt[k]].nb:
+ Projette(Fc[cpt[k]][l])--
+ endfor
+ cycle;% withpen pencircle scaled0.25;
+ fi;
+ if cpt[k]>1:
+ draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[cpt[k]][3])--Projette(Fc[cpt[k]][4]);% withpen pencircle scaled0.25;
+ fi;
+ fi;
+ endfor;
+ if vala[1]<vala[2]:
+ draw Projette(Fc[vala[1]][2])--Projette(Fc[vala[1]][3]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][1])--Projette(Fc[vala[2]][4]);% withpen pencircle scaled0.25;
+ else:
+ draw Projette(Fc[vala[1]][1])--Projette(Fc[vala[1]][4]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][2])--Projette(Fc[vala[2]][3]);% withpen pencircle scaled0.25;
+ fi;
+enddef;
+
+ vardef AffichageObjetCylindreSansBase[]=
+ save _affi;
+ picture _affi;
+ color Fc[][];color cou[];
+ tapj:=0;
+ for k=0 upto apj.@:
+ cpt[tapj]:=tapj;
+ Fc[tapj].nb:=OTFc.@[k].nb;
+ for l=1 upto Fc[tapj].nb:
+ Fc[tapj][l]:=OTFc.@[k][l];
+ endfor;
+ Fc[tapj].iso:=OTFc.@[k].iso;
+ cou[tapj]:=if perso.@:scantokens(couleurperso) else: coul.@[k] fi;
+ ALT[tapj]:=ALT.@[k];
+ Vue[tapj]:=Vue.@[k];
+ tapj:=tapj+1;
+ endfor;
+ tapj:=tapj-1;
+ QS(0,tapj);
+ for k=0 step 1 until tapj:
+ if Vue[cpt[k]]=false:
+ draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]) dashed dashpattern(on0.5 off2) withpen pencircle scaled0.25;
+ draw Projette(Fc[cpt[k]][3])--Projette(Fc[cpt[k]][4]) dashed dashpattern(on0.5 off2) withpen pencircle scaled0.25;
+ fi;
+ endfor;
+ n:=0;
+ for k=0 step 1 until tapj:
+ if Vue[cpt[k]]:
+% label(""&decimal(cpt[k])&"",Projette(Fc[cpt[k]].iso));
+ n:=n+1;
+ if n<3:
+ if cpt[k]>1:
+ vala[n]=cpt[k];
+% label.top(decimal(n)&"--"&decimal(vala[n]),n*u*(1,0));
+ else:
+ n:=n-1;
+ fi;
+ fi;
+ %if cpt[k]<1:
+ %draw for l=1 upto Fc[cpt[k]].nb:
+ % Projette(Fc[cpt[k]][l])--
+ % endfor
+ % cycle withpen pencircle scaled0.25;
+ % fi;
+ if cpt[k]>1:
+ draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[cpt[k]][3])--Projette(Fc[cpt[k]][4]);% withpen pencircle scaled0.25;
+ fi;
+ fi;
+ endfor;
+ if vala[1]<vala[2]:
+ draw Projette(Fc[vala[1]][2])--Projette(Fc[vala[1]][3]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][1])--Projette(Fc[vala[2]][4]);% withpen pencircle scaled0.25;
+ else:
+ draw Projette(Fc[vala[1]][1])--Projette(Fc[vala[1]][4]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][2])--Projette(Fc[vala[2]][3]);% withpen pencircle scaled0.25;
+ fi;
+enddef;
+
+vardef AffichageObjetCone[]=
+ save _affi;
+ picture _affi;
+ color Fc[][];color cou[];
+ tapj:=0;
+ for k=0 upto apj.@:
+ cpt[tapj]:=tapj;
+ Fc[tapj].nb:=OTFc.@[k].nb;
+ for l=1 upto Fc[tapj].nb:
+ Fc[tapj][l]:=OTFc.@[k][l];
+ endfor;
+ Fc[tapj].iso:=OTFc.@[k].iso;
+ cou[tapj]:=if perso.@:scantokens(couleurperso) else: coul.@[k] fi;
+ ALT[tapj]:=ALT.@[k];
+ Vue[tapj]:=Vue.@[k];
+ tapj:=tapj+1;
+ endfor;
+ tapj:=tapj-1;
+ QS(0,tapj);
+ n:=0;
+ for k=0 upto tapj:
+ if Vue[cpt[k]]:
+ %label(""&decimal(cpt[k])&"",Projette(Fc[cpt[k]].iso));
+ if cpt[k]>0:
+ n:=n+1;
+ if n<3:
+ if cpt[k]>1:
+ vala[n]:=cpt[k];
+% label.top(decimal(n)&"--"&decimal(vala[n]),n*u*(1,0));
+ else:
+ n:=n-1;
+ fi;
+ fi;
+ draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]);%withpen pencircle scaled0.25bp;
+ fi;
+ fi;
+ endfor;
+ if vala[1]<vala[2]:
+ draw Projette(Fc[vala[1]][2])--Projette(Fc[vala[1]][3]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][1])--Projette(Fc[vala[2]][4]);% withpen pencircle scaled0.25;
+ else:
+ draw Projette(Fc[vala[1]][1])--Projette(Fc[vala[1]][4]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][2])--Projette(Fc[vala[2]][3]);% withpen pencircle scaled0.25;
+ fi;
+ enddef;
+
+ vardef AffichageObjetConeAvecBase[]=
+ save _affi;
+ picture _affi;
+ color Fc[][];color cou[];
+ tapj:=0;
+ for k=0 upto apj.@:
+ cpt[tapj]:=tapj;
+ Fc[tapj].nb:=OTFc.@[k].nb;
+ for l=1 upto Fc[tapj].nb:
+ Fc[tapj][l]:=OTFc.@[k][l];
+ endfor;
+ Fc[tapj].iso:=OTFc.@[k].iso;
+ cou[tapj]:=if perso.@:scantokens(couleurperso) else: coul.@[k] fi;
+ ALT[tapj]:=ALT.@[k];
+ Vue[tapj]:=Vue.@[k];
+ tapj:=tapj+1;
+ endfor;
+ tapj:=tapj-1;
+ QS(0,tapj);
+ for k=0 upto tapj:
+ if Vue[cpt[k]]=false:
+ draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2])
+ dashed dashpattern(on0.5 off2) withpen pencircle scaled0.25bp;
+ fi;
+ endfor;
+ n:=0;
+ for k=0 upto tapj:
+ if Vue[cpt[k]]:
+ %label(""&decimal(cpt[k])&"",Projette(Fc[cpt[k]].iso));
+ if cpt[k]>0:
+ n:=n+1;
+ if n<3:
+ if cpt[k]>1:
+ vala[n]:=cpt[k];
+% label.top(decimal(n)&"--"&decimal(vala[n]),n*u*(1,0));
+ else:
+ n:=n-1;
+ fi;
+ fi;
+ draw Projette(Fc[cpt[k]][1])--Projette(Fc[cpt[k]][2]);%withpen pencircle scaled0.25bp;
+ fi;
+ fi;
+ endfor;
+ if vala[1]<vala[2]:
+ draw Projette(Fc[vala[1]][2])--Projette(Fc[vala[1]][3]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][1])--Projette(Fc[vala[2]][4]);% withpen pencircle scaled0.25;
+ else:
+ draw Projette(Fc[vala[1]][1])--Projette(Fc[vala[1]][4]);% withpen pencircle scaled0.25;
+ draw Projette(Fc[vala[2]][2])--Projette(Fc[vala[2]][3]);% withpen pencircle scaled0.25;
+ fi;
+enddef;
+
+ vardef AffichageObjetCalotte[]=
+ save _affi;
+ picture _affi;
+ color Fc[][];color cou[];
+ tapj:=0;
+ for k=0 upto apj.@:
+ cpt[tapj]:=tapj;
+ Fc[tapj].nb:=OTFc.@[k].nb;
+ for l=1 upto Fc[tapj].nb:
+ Fc[tapj][l]:=OTFc.@[k][l];
+ endfor;
+ Fc[tapj].iso:=OTFc.@[k].iso;
+ cou[tapj]:=if perso.@:scantokens(couleurperso) else: coul.@[k] fi;
+ ALT[tapj]:=ALT.@[k];
+ Vue[tapj]:=Vue.@[k];
+ tapj:=tapj+1;
+ endfor;
+ tapj:=tapj-1;
+ QS(0,tapj);
+ minvue:=4000;
+ for k=1 step 1 until tapj:
+ if cpt[k]>1:
+ if Vue[cpt[k]]:
+ if cpt[k]<minvue:
+ minvue:=cpt[k];
+ fi;
+ fi;
+ fi;
+ endfor;
+ for k=0 upto 11:
+ draw for l=1 upto 2:%Fc[minvue+k*72].nb:
+ Projette(Fc[minvue+k*72][l])--
+ endfor
+ cycle;% withpen pencircle scaled0.25bp;
+ draw for l=3 upto 4:%Fc[minvue+k*72].nb:
+ Projette(Fc[minvue+35+k*72][l])--
+ endfor
+ cycle;% withpen pencircle scaled0.25bp;
+ endfor;
+enddef;
+
vardef AffichagePfC[]=
save _affi;
picture _affi;