diff options
author | Karl Berry <karl@freefriends.org> | 2024-07-04 20:28:16 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-07-04 20:28:16 +0000 |
commit | 5472e062dd6a48216bd765348f6dd95a55ee1ee3 (patch) | |
tree | 267500fbcfb05cf6ec6a430086629a9e71289bbf /Master/texmf-dist/metapost | |
parent | bb00a823f0b951e13c431d9edecb85b7197e2335 (diff) |
profcollege (4jul24)
git-svn-id: svn://tug.org/texlive/trunk@71706 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/metapost')
-rw-r--r-- | Master/texmf-dist/metapost/profcollege/PfCMonde.mp | 75 | ||||
-rw-r--r-- | Master/texmf-dist/metapost/profcollege/PfCObjets.mp | 53 |
2 files changed, 118 insertions, 10 deletions
diff --git a/Master/texmf-dist/metapost/profcollege/PfCMonde.mp b/Master/texmf-dist/metapost/profcollege/PfCMonde.mp index fb3064cefdf..6cc7f15e45e 100644 --- a/Master/texmf-dist/metapost/profcollege/PfCMonde.mp +++ b/Master/texmf-dist/metapost/profcollege/PfCMonde.mp @@ -151,6 +151,15 @@ enddef; vardef FZ(expr t,v)=rayon*sind(c*t) enddef; +vardef FXx(expr t,v)=rayon*cosd(t)*cosd(v) +enddef; + +vardef FYy(expr t,v)=rayon*cosd(t)*sind(v) +enddef; + +vardef FZz(expr t,v)=rayon*sind(t) +enddef; + %Paramètres et macros de représentation vardef Initialisation(expr r,t,p,d)= Rho:=r; @@ -227,6 +236,25 @@ vardef MaillageSphere= MaillageS; enddef; +vardef MaillageSphereCoord= +% InitialiseMaillage(((phim div 10)+1)*pi/12,((phip div 10)-1)*pi/12,pi/12,-pi,pi,pi/12); + InitialiseMaillage(-pi/2,pi/2,pi/18,-pi,pi,pi/12); + %MaillageS; + path Maillage[]; + nbmor:=0; + for k=-90 step 10 until 90: + for l=-180 step 10 until 180: + nbl:=nbl+1; + if ProduitScalaire(1/2[(FXx(k,l),FYy(k,l),FZz(k,l)),(FXx(k+10,l+10),FYy(k+10,l+10),FZz(k+10,l+10))]-pte3,Oeil-pte3)>0: + nbmor:=nbmor+1; + Maillage[nbmor]=Projgeo((FXx(k,l),FYy(k,l),FZz(k,l)))..Projgeo((FXx(k,l+10),FYy(k,l+10),FZz(k,l+10))); + draw Maillage[nbmor] if k=0: withpen pencircle scaled 1 withcolor Crimson fi; + draw Projgeo((FXx(k,l),FYy(k,l),FZz(k,l)))..Projgeo((FXx(k+10,l),FYy(k+10,l),FZz(k+10,l))) if l=0:withpen pencircle scaled 1 withcolor LightSteelBlue fi; + fi; + endfor; + endfor; +enddef; + boolean maille; maille=false; @@ -276,9 +304,19 @@ vardef lecture(expr nomfichier,fond)= numeric ll; ll:=0; nbpts:=scantokens readfrom nomfichier; - for k=1 upto (nbpts div 3): +% for k=1 upto (nbpts div 3): +% pair latlon; +% latlon=((scantokens readfrom nomfichier)+(scantokens readfrom nomfichier)+(scantokens readfrom nomfichier))/3; + if nbpts<Allegee: + Alleg:=1; + else: + Alleg:=Allegee; + fi; + for k=1 upto (nbpts div Alleg): pair latlon; - latlon=((scantokens readfrom nomfichier)+(scantokens readfrom nomfichier)+(scantokens readfrom nomfichier))/3; + latlon=((scantokens readfrom nomfichier) for l=2 upto Alleg: + +(scantokens readfrom nomfichier) + endfor)/Alleg; Coord[k]=rayon*(cosd(xpart(latlon/60))*cosd(ypart(latlon/60)),cosd(xpart(latlon/60))*sind(ypart(latlon/60)),sind(xpart(latlon/60))); if ((xpart(latlon/60)>phim) and (xpart(latlon/60)<phip)): if ProduitScalaire(Coord[k]-pte3,Oeil-pte3)>0: @@ -295,7 +333,7 @@ vardef lecture(expr nomfichier,fond)= path pays; if ll>0: pays=Projgeo(Pays[1]) - for l=2 upto (nbpts div 3): + for l=2 upto (nbpts div Alleg):%(nbpts div 3): --Projgeo(Pays[l]) endfor; if noncolore=true: @@ -303,7 +341,7 @@ vardef lecture(expr nomfichier,fond)= else: fill pays--cycle withcolor fond; fi; - draw pays; + draw pays withpen pencircle scaled 0.25; clip currentpicture to cercles(pte3,pte1,pte3,pte1,pte4); fi; enddef; @@ -319,9 +357,19 @@ vardef Lectureiles= ll:=0; nbpts:=scantokens readfrom nomfichiermul; fond=scantokens readfrom nomfichiermul; - for k=1 upto nbpts: + %if nbpts<Allegee: + Alleg:=1; + %else: + % Alleg:=2;%pas Allegee car sinon des artefacts apparaissent + %fi; + for k=1 upto (nbpts div Alleg): pair latlon; - latlon=scantokens readfrom nomfichiermul; + latlon=((scantokens readfrom nomfichiermul) for l=2 upto Alleg: + +(scantokens readfrom nomfichiermul) + endfor)/Alleg; +% for k=1 upto nbpts: +% pair latlon; +% latlon=scantokens readfrom nomfichiermul; Coord[k]=rayon*(cosd(xpart(latlon/60))*cosd(ypart(latlon/60)),cosd(xpart(latlon/60))*sind(ypart(latlon/60)),sind(xpart(latlon/60))); if ((xpart(latlon/60)>phim) and (xpart(latlon/60)<phip)): if ProduitScalaire(Coord[k]-pte3,Oeil-pte3)>0: @@ -337,7 +385,7 @@ vardef Lectureiles= path pays; if ll>0: pays=Projgeo(Pays[1]) - for l=2 upto nbpts: + for l=2 upto (nbpts div Alleg):%nbpts: --Projgeo(Pays[l]) endfor; if noncolore=true: @@ -345,9 +393,15 @@ vardef Lectureiles= else: fill pays--cycle withcolor fond; fi; - draw pays; + draw pays withpen pencircle scaled 0.25; clip currentpicture to cercles(pte3,pte1,pte3,pte1,pte4); fi; + % rustine pour tout lire chaque partie de Ile.dat + if Alleg>1: + for po=1 upto (nbpts mod Alleg): + poubelle:=scantokens readfrom nomfichiermul; + endfor; + fi; endfor; closefrom nomfichiermul; enddef; @@ -1641,6 +1695,11 @@ vardef mappemonde(expr longobs,latobs)= MaillageSphere; drawoptions(); fi; + if maillagecoord=true: + drawoptions(withpen pencircle scaled 0.25 withcolor couleurmaillage); + MaillageSphereCoord; + drawoptions(); + fi; if maille=true: Maille; fi; diff --git a/Master/texmf-dist/metapost/profcollege/PfCObjets.mp b/Master/texmf-dist/metapost/profcollege/PfCObjets.mp index fd2fbe0f2dd..5dac3c967d6 100644 --- a/Master/texmf-dist/metapost/profcollege/PfCObjets.mp +++ b/Master/texmf-dist/metapost/profcollege/PfCObjets.mp @@ -661,6 +661,55 @@ vardef DessineFusion= endfor; enddef; +vardef DessineFusionCoul= + save _fusion; + picture _fusion; + tapj:=0; + color Fc[][];color cou[]; + for l=1 upto nbobj: + for k=0 upto apj[l]: + cpt[tapj]:=tapj; + cou[tapj]:=Outcolor[l]; + Fc[tapj].nb:=OTFc[l][k].nb; + for p=1 upto Fc[tapj].nb: + Fc[tapj][p]:=OTFc[l][k][p]; + endfor; + Fc[tapj].iso:=OTFc[l][k].iso; + ALT[tapj]:=ALT[l][k]; + Vue[tapj]:=Vue[l][k]; + if Ferme[l]: + if Vue[tapj]=false: + tapj:=tapj-1; + fi; + fi; + tapj:=tapj+1; + endfor; + endfor; + tapj:=tapj-1; + QS(0,tapj); + for k=0 upto tapj: + fill for l=1 upto Fc[cpt[k]].nb: + Projette(Fc[cpt[k]][l])-- + endfor + cycle withcolor if Vue[cpt[k]]: + abs(lumin(cpt[k]))*cou[cpt[k]] fi; + if traits: + draw for l=1 upto Fc[cpt[k]].nb: + Projette(Fc[cpt[k]][l])-- + endfor + cycle withpen pencircle scaled0.25bp; + %add by cp 22/08/2011 + else: + draw for l=1 upto Fc[cpt[k]].nb: + Projette(Fc[cpt[k]][l])-- + endfor + cycle withcolor if Vue[cpt[k]]: + abs(lumin(cpt[k]))*cou[cpt[k]] fi; + %fin add + fi; + endfor; +enddef; + vardef Objettore[](expr Rn,rn)= Outcolor.@:=outcolor; Incolor.@:=incolor; @@ -1727,8 +1776,8 @@ vardef Objettetraedre[](expr ar)= tcpt.@[0]:=0; OTFc.@[0].nb:=3; OTFc.@[0][1]:=Image(Sommet0); - OTFc.@[0][2]:=Image(Sommet2); - OTFc.@[0][3]:=Image(Sommet1); + OTFc.@[0][2]:=Image(Sommet1); + OTFc.@[0][3]:=Image(Sommet2); OTFc.@[0].iso:=(OTFc.@[0][1]+OTFc.@[0][2]+OTFc.@[0][3])/3; tcpt.@[1]:=1; OTFc.@[1].nb:=3; |