summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/profcollege/latex/PfCSolides.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-01-07 03:01:57 +0000
committerNorbert Preining <norbert@preining.info>2024-01-07 03:01:57 +0000
commitaba7fb229e902758b312ecec84ab6f485c89ba66 (patch)
treec19cf7164b430c1d344ad913c8dc44f5ace262b7 /macros/latex/contrib/profcollege/latex/PfCSolides.tex
parent949a85bb8707bf1aaa2b23b018e24d5001d38e52 (diff)
CTAN sync 202401070301
Diffstat (limited to 'macros/latex/contrib/profcollege/latex/PfCSolides.tex')
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCSolides.tex71
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}}%
}%