diff options
author | Norbert Preining <norbert@preining.info> | 2022-05-27 03:01:31 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-05-27 03:01:31 +0000 |
commit | 84a5593d3fb9d03aac5677678bcc4c92e8c9a9c4 (patch) | |
tree | 0212ba38147bcfe80e5c1a853071a6e6a45b87d7 /macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp | |
parent | 02d941fa9c9895bb08a84ac9afe3559abd1ba8ad (diff) |
CTAN sync 202205270301
Diffstat (limited to 'macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp')
-rw-r--r-- | macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp | 55 |
1 files changed, 53 insertions, 2 deletions
diff --git a/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp b/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp index 604373e716..3386a78680 100644 --- a/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp +++ b/macros/latex/contrib/profcollege/metapost/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[] ; |