diff options
author | Norbert Preining <norbert@preining.info> | 2024-01-07 03:01:57 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-01-07 03:01:57 +0000 |
commit | aba7fb229e902758b312ecec84ab6f485c89ba66 (patch) | |
tree | c19cf7164b430c1d344ad913c8dc44f5ace262b7 /macros/latex/contrib/profcollege/latex/PfCSolides.tex | |
parent | 949a85bb8707bf1aaa2b23b018e24d5001d38e52 (diff) |
CTAN sync 202401070301
Diffstat (limited to 'macros/latex/contrib/profcollege/latex/PfCSolides.tex')
-rw-r--r-- | macros/latex/contrib/profcollege/latex/PfCSolides.tex | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/macros/latex/contrib/profcollege/latex/PfCSolides.tex b/macros/latex/contrib/profcollege/latex/PfCSolides.tex index 0dfa500bf1..9da7bce259 100644 --- a/macros/latex/contrib/profcollege/latex/PfCSolides.tex +++ b/macros/latex/contrib/profcollege/latex/PfCSolides.tex @@ -844,6 +844,74 @@ \fi } +%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand\MPSolideDemiSphere[3]{% + \ifluatex + \mplibnumbersystem{double} + \mplibforcehmode + \begin{mplibcode} + boolean NommeSommets,Code,Sections,Axes,RemplisSection; + NommeSommets=\useKV[ClesSolides]{Sommets}; + Code=\useKV[ClesSolides]{Code}; + Axes:=\useKV[ClesSolides]{Axes}; + %Initialisation + PfCRho=\useKV[ClesSolides]{Rho}; + PfCPhi=0;%\useKV[ClesSolides]{Phi}; + PfCTheta=10;%\useKV[ClesSolides]{Theta}; + PfCDistance=\useKV[ClesSolides]{Distance}; + anglerotationx=\useKV[ClesSolides]{Anglex}; + rayonsphere=\useKV[ClesSolides]{RayonSphere}; + + color PfCOutColor; + PfCOutColor=\useKV[ClesSolides]{Couleur}; + input PfCSolid; + + Figure(-10u,-10u,10u,10u); + Initialisation(PfCRho,PfCPhi,PfCTheta,PfCDistance); + typetrace:="3D"; + typerepre:="persp"; + eclairage:=false; + nb:=24;%36 + subh:=36;% + incolor:=white; + outcolor:=white;%PfCOutColor; + % Ferme1:=false; + creux:=true; + angx:=anglerotationx; + Objetdemispherebasse1("R="&decimal(rayonsphere)); + % traits:=false; + AffichageObjet1; + color Sommet[],SommetN,SommetS,SommetB; + Sommet1=(0,0,0); + Sommet2=(0,rayonsphere,0); + Sommet3=(-rayonsphere,0,0); + Sommet4=(0,0,rayonsphere); + SommetN=Sommet4; + SommetS=(0,0,-rayonsphere); + SommetB=(rayonsphere,0,0); + Sommet2:=RotXYZ(Sommet2); + Sommet3:=RotXYZ(Sommet3); + Sommet4:=RotXYZ(Sommet4); + SommetN:=RotXYZ(SommetN); + SommetS:=RotXYZ(SommetS); + SommetB:=RotXYZ(SommetB); + + fill Cercles((0,0,0),(0,1,0),(0,0,0),(0,1,0),(-1,0,0)) withcolor white; + trace Cercles((0,0,0),(0,1,0),(0,0,0),(0,1,0),(-1,0,0)); + + DefinirSommets(#1); + + if Code: + \useKV[ClesSolides]{Traces}; + fi; + + \end{mplibcode} + \mplibnumbersystem{scaled} + \fi +} +%%% + + \def\UpdatetoksSolide#1\nil{\addtotok\toksolidelistesommets{"#1",}} \newtoks\toksolidelistesommets% \newtoks\toksolidelistepointssections% @@ -876,6 +944,9 @@ {sphere}{% \MPSolideSphere{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{PointsSection}}% }% + {demisphere}{% + \MPSolideDemiSphere{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{PointsSection}}% + }% {boule}{% \MPSolideSphere{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{PointsSection}}% }% |