summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/metapost/profcollege/PfCGeometrie.mp
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/metapost/profcollege/PfCGeometrie.mp')
-rw-r--r--Master/texmf-dist/metapost/profcollege/PfCGeometrie.mp55
1 files changed, 53 insertions, 2 deletions
diff --git a/Master/texmf-dist/metapost/profcollege/PfCGeometrie.mp b/Master/texmf-dist/metapost/profcollege/PfCGeometrie.mp
index 604373e7164..3386a786807 100644
--- a/Master/texmf-dist/metapost/profcollege/PfCGeometrie.mp
+++ b/Master/texmf-dist/metapost/profcollege/PfCGeometrie.mp
@@ -574,7 +574,7 @@ vardef demidroite(expr AA,BB)=
save Dem;
path Dem;
if typetrace="mainlevee":
- Dem=segment(AA,BB)..(_tfig/abs(AA-BB))[AA,BB]{dir(angle(BB-AA)+10)}
+ Dem=segment(AA,BB)..(_tfig/abs(AA-BB))[AA,BB]
elseif typetrace="3D":
Dem=Projette(AA)--(_tfig/abs(Projette(AA)-Projette(BB)))[Projette(AA),Projette(BB)]
else:
@@ -667,6 +667,30 @@ vardef chemin(text t)=
$
enddef;
+vardef Triangleqcq(text t)=
+ save PfCTqc;
+ pair pointchoisi[];
+ pointchoisi1:=iso(coinbg,1/4[coinbg,coinbd],iso(coinbg,iso(coinhg,coinhd)),iso(coinhg,coinbg));
+ pointchoisi2:=iso(coinbd,3/4[coinbg,coinbd],iso(coinbd,iso(coinhg,coinhd)),iso(coinhd,coinbd));
+ test:=uniformdeviate(1);
+ choix:=43+uniformdeviate(4);
+ ecart:=abs(45-choix);
+ relation:=60-(ecart/2)+uniformdeviate(ecart);
+ if test<0.5 :
+ pointchoisi3:=droite(pointchoisi1,rotation(pointchoisi2,pointchoisi1,choix)) intersectionpoint droite(pointchoisi2,rotation(pointchoisi1,pointchoisi2,-relation));
+ else :
+ pointchoisi3:=droite(pointchoisi2,rotation(pointchoisi1,pointchoisi2,-choix)) intersectionpoint droite(pointchoisi1,rotation(pointchoisi2,pointchoisi1,relation));
+ fi
+ j:=1;
+ for p_=t:
+ p_=pointchoisi[j];
+ j:=j+1;
+ endfor;
+ path PfCTqc;
+ PfCTqc=polygone(pointchoisi1,pointchoisi2,pointchoisi3);
+ PfCTqc
+enddef;
+
%------------------------------------------------
%Sucres
%------------------------------------------------
@@ -674,7 +698,7 @@ vardef hachurage(expr chemin, angle, ecart, trace)=
save $;
picture $;
path support;
- support=((u*(-37,0))--(u*(37,0))) rotated angle;
+ support=((u*(-50,0))--(u*(50,0))) rotated angle;
if trace=1:
drawoptions(dashed evenly);
elseif trace=2:
@@ -693,6 +717,33 @@ vardef hachurage(expr chemin, angle, ecart, trace)=
drawoptions();
$
enddef;
+
+vardef Hachurage(expr Chemin, Angle, Ecart, Trace)=
+ %Avec écart constant quel que soit l'angle d'inclinaison.
+ save $;
+ picture $;
+ if Trace=0:
+ drawoptions();
+ elseif Trace=1:
+ drawoptions(dashed evenly);
+ elseif Trace=2:
+ drawoptions(dashed dashpattern(on12bp off6bp on3bp off6bp));
+ elseif Trace=3:
+ drawoptions(dashed withdots);
+ fi;
+ path support;
+ support=(u*(-50,0)--u*(50,0)) rotated Angle;
+ $ = image(
+ for j=-200 upto 200:
+ if (support shifted (Ecart*j*u*(cosd(90-Angle),-sind(90-Angle)))) intersectiontimes Chemin<>(-1,-1):
+ draw support shifted (Ecart*j*u*(cosd(90-Angle),-sind(90-Angle)));%));%(cosd(Angle),sind(Angle)));
+ fi
+ endfor;
+ );
+ clip $ to Chemin;
+ drawoptions();
+ $
+enddef;
%fleche pour coter un segment [AB] (Jacques Marot)
vardef cotation(expr aa,bb,ecart,decalage,cote)=
pair m[] ;