texlive[72297] Master/texmf-dist: tikz3d-fr (16sep24)

commits+karl at tug.org commits+karl at tug.org
Mon Sep 16 22:13:07 CEST 2024


Revision: 72297
          https://tug.org/svn/texlive?view=revision&revision=72297
Author:   karl
Date:     2024-09-16 22:13:07 +0200 (Mon, 16 Sep 2024)
Log Message:
-----------
tikz3d-fr (16sep24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/tikz3d-fr/tikz3d-fr-doc.pdf
    trunk/Master/texmf-dist/doc/latex/tikz3d-fr/tikz3d-fr-doc.tex
    trunk/Master/texmf-dist/tex/latex/tikz3d-fr/tikz3d-fr.sty

Modified: trunk/Master/texmf-dist/doc/latex/tikz3d-fr/tikz3d-fr-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tikz3d-fr/tikz3d-fr-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz3d-fr/tikz3d-fr-doc.tex	2024-09-16 14:58:47 UTC (rev 72296)
+++ trunk/Master/texmf-dist/doc/latex/tikz3d-fr/tikz3d-fr-doc.tex	2024-09-16 20:13:07 UTC (rev 72297)
@@ -4,8 +4,8 @@
 
 \documentclass[french,a4paper,11pt]{article}
 \usepackage[margin=2cm,includefoot]{geometry}
-\def\TPversion{0.1.2}
-\def\TPdate{22 juillet 2023}
+\def\TPversion{0.1.3}
+\def\TPdate{16 septembre 2024}
 \usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
 \usepackage{amsmath,amssymb}
@@ -16,6 +16,7 @@
 \makesavenoteenv{tabular}
 \usepackage{enumitem}
 \usepackage{tabularray}
+\UseTblrLibrary{diagbox}
 \usepackage{fancyvrb}
 \usepackage{fancyhdr}
 \fancyhf{}
@@ -206,6 +207,7 @@
 	
 	\vspace*{-2cm}
 	
+	\def\listecouleursdes{red!25,blue!25,yellow!25,orange!25,green!25}\TirageAleaDesTriDim[EspaceH=-2mm]{5}
 	\hfill
 	\begin{EmpilementCubes}
 		\PlaquePetitsCubes[cyan/red/green/yellow]{ 3111-1-4 / 233123 / 2-1112 }
@@ -242,10 +244,12 @@
 
 \tableofcontents
 
-\vfill
+\pagebreak
 
 \part{Historique}
 
+\verb|v0.1.3|~:~~~~Affichage de dés en 3d (avec aléatoire possible)
+
 \verb|v0.1.2|~:~~~~Option pour l'épaisseur des traits + \textsf{[line join=round]} pour les cubes
 
 \verb|v0.1.1|~:~~~~Tracé des segments individuels avec l'option \textsf{[line cap=round]}
@@ -252,7 +256,7 @@
 
 \verb|v0.1.0|~:~~~~Version initiale
 
-\newpage
+\pagebreak
 
 \part{Introduction}
 
@@ -268,7 +272,8 @@
 	\item une commande pour tracer et personnaliser un cube ;
 	\item des commandes pour créer/afficher/nommer des points de l'espace ;
 	\item des commandes pour tracer un ou plusieurs segments ;
-	\item des commandes et un environnement pour travailler sur des \textit{empilements} de cubes.
+	\item des commandes et un environnement pour travailler sur des \textit{empilements} de cubes ;
+	\item des commandes pour représenter des dés en perspective (avec aléatoire possible).
 \end{itemize}
 \vspace*{-\baselineskip}\leavevmode
 \end{noteblock}
@@ -297,8 +302,8 @@
 \textsf{tikz3d-fr} charge les packages suivantes :
 
 \begin{itemize}
-	\item \texttt{tikz}, \texttt{xstring}, \texttt{xintexpr}, \texttt{simplekv} et \texttt{xinttools} et \texttt{listofitems} ;
-	\item les librairies \texttt{\textit{tikz}.calc} et \texttt{\textit{tikz}.babel}.
+	\item \texttt{tikz}, \texttt{xstring}, \texttt{xintexpr}, \texttt{simplekv} et \texttt{xinttools} et \texttt{listofitems}, \texttt{tikz-3dplot} et \texttt{randomlist}  ;
+	\item la librairie \texttt{\textit{tikz}.calc}.
 \end{itemize}
 
 Il est compatible avec les compilations usuelles en \textsf{latex}, \textsf{pdflatex}, \textsf{lualatex} ou \textsf{xelatex}.
@@ -758,4 +763,144 @@
 \end{EmpilementCubes}
 \end{PresCode}
 
+\newpage
+
+\part{Dés à jouer, en 3D}
+
+\section{Fonctionnement global}
+
+\begin{tipblock}
+L'idée est de proposer des commandes pour travailler avec des dés, en 3D, avec possibilité de les \textit{lancer} de manière aléatoire.
+
+\smallskip
+
+La commande peut être autonome pour afficher dé par dé, mais elle peut être également à intégrer dans un environnement \texttt{tikzpicture}.
+\end{tipblock}
+
+\begin{importantblock}
+Par défaut, les dés ont une hauteur proche de 1~cm (sans la perspective).
+
+\smallskip
+
+L'orientation est \textit{globalement} fixée, mais il est possible (dans une certaine mesure) de pivoter les dés (suivants les angles $\theta$ et $\phi$ des coordonnées sphériques).
+
+\smallskip
+
+Il est également possible de spécifier un \textit{angle de vue}, droite ou gauche.
+\end{importantblock}
+
+
+\begin{PresCodeTex}{listing only}
+%affichage indépendant
+\DeTriDim[clés]{numéro(s)}
+\end{PresCodeTex}
+
+\begin{PresCodeTex}{listing only}
+%affichage dans un environnement
+\begin{tikzpicture}
+	\DeTriDim*[clés]{numéro(s)}
+\end{tikzpicture}
+\end{PresCodeTex}
+
+\begin{PresCodeTex}{listing only}
+%tirages aléatoires
+\TirageAleaDesTriDim[clés]{tirages}
+\end{PresCodeTex}
+
+\begin{PresCode}{}
+\DeTriDim{6/2}~\DeTriDim{1/5}~\DeTriDim{6/4}~\DeTriDim{3/2}
+\end{PresCode}
+
+\begin{PresCode}{}
+\begin{tikzpicture}
+	%\tdplotsetmaincoords{70}{110}
+	\DeTriDim*[Echelle=2]{6/2}
+	\DeTriDim*[Echelle=2,Origine={(2,-0.2)}]{6/5}
+	\DeTriDim*[Echelle=2,Origine={(4,-0.4)},]{6/3}
+	\DeTriDim*[Echelle=2,Origine={(6,-0.6)},Hasard]{}
+\end{tikzpicture}
+\end{PresCode}
+
+\begin{PresCode}{}
+\TirageAleaDesTriDim[Vue=G,Yams,Echelle=3,Couleurs={red!25,blue!25,yellow!25}]{3}
+\end{PresCode}
+
+\section{Influence des paramètres}
+
+\subsection{Clés et options}
+
+\begin{tipblock}
+Quelques \Cle{clés} sont disponibles pour cette commande (elles ne sont pas toutes utilisées par les toutes les commandes) :
+
+\begin{itemize}
+	\item \Cle{Echelle} : échelle pour modifier la taille ;\hfill{}défaut \Cle{1}
+	\item \Cle{Couleur} : couleur (individuelle) ;\hfill{}défaut \Cle{lightgray!25}
+	\item \Cle{CouleurPoints} : couleurs des points ;\hfill{}défaut \Cle{black}
+	\item \Cle{Phi} : angle $\phi$ de la perpective ;\hfill{}défaut \Cle{110}
+	\item \Cle{Theta} : angle $\theta$ de la perpective ;\hfill{}défaut \Cle{70}
+	\item \Cle{Vue} : vue de la perspective (\texttt{D/G}) ;\hfill{}défaut \Cle{D}
+	\item \Cle{Hasard} : booléen pour un tirage aléatoire ;\hfill{}défaut \Cle{false}
+	\item \Cle{Origine} : origine du dé pour la version \texttt{tikzpicture} ;
+	\item en ce qui concerne les clés spécifiques au tirage :
+	\begin{itemize}
+		\item \Cle{EspaceH} : espace horizontal entre les dés ;\hfill{}défaut \Cle{0mm}
+		\item \Cle{Couleurs} : liste des couleurs pour les dés ;\hfill{}défaut \Cle{lightgray!25}
+		\item \Cle{Yams} : booléen pour forcer un affichage en ligne.\hfill{}défaut \Cle{false}
+	\end{itemize}
+\end{itemize}
+
+Hormis dans le cas où \texttt{Harsard=true}, l'argument obligatoire, pour l'affichage unique, est à donner sous la forme \texttt{face de devant/face du dessus} (l'autre face visible est déterminée automatiquement).
+\end{tipblock}
+
+\subsection{Exemples}
+
+\begin{PresCode}{}
+\TirageAleaDesTriDim[EspaceH=-2mm]{5}
+
+\TirageAleaDesTriDim[EspaceH=1mm,Echelle=2,Couleurs=darkgray,CouleurPoints=white]{5}
+\end{PresCode}
+
+\begin{PresCode}{}
+\def\listecouleursdes{red!25,blue!25,yellow!25,orange!25,green!25}
+
+\TirageAleaDesTriDim[Yams,Couleurs=brown!10]{10}
+
+\TirageAleaDesTriDim[Yams,Echelle=2,Couleurs=\listecouleursdes,CouleurPoints=magenta]{5}
+
+\TirageAleaDesTriDim[Vue=G,Yams,Echelle=3,Couleurs=\listecouleursdes]{3}
+\end{PresCode}
+
+\subsection{Angles de rotation}
+
+\begin{cautionblock}
+Les paramètres $\theta$ et $\phi$ peuvent être modifiés, en fonction du rendu souhaité.
+
+Mais comme toutes les faces ne sont pas traitées (du fait de la perspective), il est conseillé de rester dans une \textit{fenêtre classique}.
+\end{cautionblock}
+
+\begin{tipblock}
+Vue \texttt{D} :
+
+\begin{tblr}{hlines,vlines,colspec={*{5}{Q[m,c]}}}
+	\diagbox{$\phi$}{$\theta$} & 60 & \textbf{70} & 80 & 85 \\
+	95 & \DeTriDim[Hasard,Theta=60,Phi=95]<baseline=0pt>{} & \DeTriDim[Hasard,Theta=70,Phi=95]<baseline=0pt>{} & \DeTriDim[Hasard,Theta=80,Phi=95]<baseline=0pt>{} & \DeTriDim[Hasard,Theta=85,Phi=95]<baseline=0pt>{} \\
+	100 & \DeTriDim[Hasard,Theta=60,Phi=100]<baseline=0pt>{} & \DeTriDim[Hasard,Theta=70,Phi=100]<baseline=0pt>{} & \DeTriDim[Hasard,Theta=80,Phi=100]<baseline=0pt>{} & \DeTriDim[Hasard,Theta=85,Phi=100]<baseline=0pt>{} \\
+	\textbf{110} & \DeTriDim[Hasard,Theta=60,Phi=95]<baseline=0pt>{} & \DeTriDim[Hasard,Theta=70,Phi=110,Couleur=red!25]<baseline=0pt>{} & \DeTriDim[Hasard,Theta=80,Phi=110]<baseline=0pt>{} & \DeTriDim[Hasard,Theta=85,Phi=110]<baseline=0pt>{} \\
+	120 & \DeTriDim[Hasard,Theta=60,Phi=120]<baseline=0pt>{} & \DeTriDim[Hasard,Theta=70,Phi=120]<baseline=0pt>{} & \DeTriDim[Hasard,Theta=80,Phi=120]<baseline=0pt>{} & \DeTriDim[Hasard,Theta=85,Phi=120]<baseline=0pt>{} \\
+\end{tblr}
+\end{tipblock}
+
+\begin{tipblock}
+Vue \texttt{G} :
+
+\begin{tblr}{hlines,vlines,colspec={*{5}{Q[m,c]}}}
+	\diagbox{$\phi$}{$\theta$} & 60 & \textbf{70} & 80 & 85 \\
+	95 & \DeTriDim[Vue=G,Hasard,Theta=60,Phi=95]<baseline=0pt>{} & \DeTriDim[Vue=G,Hasard,Theta=70,Phi=95]<baseline=0pt>{} & \DeTriDim[Vue=G,Hasard,Theta=80,Phi=95]<baseline=0pt>{} & \DeTriDim[Vue=G,Hasard,Theta=85,Phi=95]<baseline=0pt>{} \\
+	100 & \DeTriDim[Vue=G,Hasard,Theta=60,Phi=100]<baseline=0pt>{} & \DeTriDim[Vue=G,Hasard,Theta=70,Phi=100]<baseline=0pt>{} & \DeTriDim[Vue=G,Hasard,Theta=80,Phi=100]<baseline=0pt>{} & \DeTriDim[Vue=G,Hasard,Theta=85,Phi=100]<baseline=0pt>{} \\
+	\textbf{110} & \DeTriDim[Vue=G,Hasard,Theta=60,Phi=95]<baseline=0pt>{} & \DeTriDim[Vue=G,Hasard,Theta=70,Phi=110,Couleur=red!25]<baseline=0pt>{} & \DeTriDim[Vue=G,Hasard,Theta=80,Phi=110]<baseline=0pt>{} & \DeTriDim[Vue=G,Hasard,Theta=85,Phi=110]<baseline=0pt>{} \\
+	120 & \DeTriDim[Vue=G,Hasard,Theta=60,Phi=120]<baseline=0pt>{} & \DeTriDim[Vue=G,Hasard,Theta=70,Phi=120]<baseline=0pt>{} & \DeTriDim[Vue=G,Hasard,Theta=80,Phi=120]<baseline=0pt>{} & \DeTriDim[Vue=G,Hasard,Theta=85,Phi=120]<baseline=0pt>{} \\
+\end{tblr}
+\end{tipblock}
+
+
 \end{document}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/latex/tikz3d-fr/tikz3d-fr.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz3d-fr/tikz3d-fr.sty	2024-09-16 14:58:47 UTC (rev 72296)
+++ trunk/Master/texmf-dist/tex/latex/tikz3d-fr/tikz3d-fr.sty	2024-09-16 20:13:07 UTC (rev 72297)
@@ -3,7 +3,8 @@
 % or later, see http://www.latex-project.org/lppl.txtf
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tikz3d-fr}[2023/07/22 0.1.2 Aide pour l'utilisation de TikZ 3D]
+\ProvidesPackage{tikz3d-fr}[2024/09/16 0.1.3 Aide pour l'utilisation de TikZ 3D]
+%0.1.3	Dés à jouer en 3D
 %0.1.2	Option pour l'épaisseur des traits + [line join=round] pour les cubes
 %0.1.1	Segments avec [line cap=round]
 %0.1.0	Version initiale
@@ -10,8 +11,10 @@
 
 %------Packages utiles
 \RequirePackage{tikz}
+\RequirePackage{tikz-3dplot}
 \RequirePackage{xstring}
 \RequirePackage{simplekv}
+\RequirePackage{randomlist}
 \RequirePackage{xinttools}
 \RequirePackage{xintexpr}
 \RequirePackage{listofitems}
@@ -328,4 +331,258 @@
 		{\end{EnvTikzEspace}}
 }
 
+%====DÉS EN 3D
+\newlength{\detridimoffseth}
+\setlength{\detridimoffseth}{0mm}
+
+\defKV[DeTriDim]{%
+	Echelle=\def\detridimscale{#1},%
+	Couleur=\def\detridimcouleur{#1},%
+	EspaceH=\setlength{\detridimoffseth}{#1},%
+	Couleurs=\def\detridimcouleurs{#1},%
+	CouleurPoints=\def\detridimcouleurpts{#1},%
+	Phi=\def\detridimphi{#1},%
+	Theta=\def\detridimtheta{#1},%
+	Vue=\def\deftridimvue{#1},%
+	Origine=\def\deftridimorigin{#1}
+}
+\setKVdefault[DeTriDim]{%
+	Echelle=1,%
+	Couleur=lightgray!25,%
+	CouleurPoints=black,%
+	Hasard=false,%
+	EspaceH={0mm},%
+	Couleurs=lightgray!25,%
+	Phi=110,%
+	Theta=70,%
+	Vue=D,%
+	Origine={(0,0)},%
+	Yams=false
+}
+
+\NewDocumentCommand\FaceDeTriDim{ m }{%
+	%1 = face avec points communs si besoin pour simplifier le code
+	\xintifboolexpr{#1 == 2 'or' #1 == 4 'or' #1 == 5 'or' #1 == 6}%
+		{%
+			\fill[\detridimcouleurpts] (0.5,0.5) circle[radius=1/6] ; % HG
+			\fill[\detridimcouleurpts] (-0.5,-0.5) circle[radius=1/6] ; % BD
+		}%
+		{}%
+	\xintifboolexpr{#1 == 3 'or' #1 == 4 'or' #1 == 5 'or' #1 == 6}%
+		{%
+			\fill[\detridimcouleurpts] (-0.5,0.5) circle[radius=1/6] ; % HD
+			\fill[\detridimcouleurpts] (0.5,-0.5) circle[radius=1/6] ; % BG
+		}%
+		{}%
+	\xintifboolexpr{#1 == 1 'or' #1 == 3 'or' #1 == 5}%
+		{%
+			\fill[\detridimcouleurpts] (0,0) circle[radius=1/6] ; % CENTRE
+		}%
+		{}%
+	\xintifboolexpr{#1 == 6}%
+		{%
+			\fill[\detridimcouleurpts] (0.5,0) circle[radius=1/6] ; % MG
+			\fill[\detridimcouleurpts] (-0.5,0) circle[radius=1/6] ; % MD
+		}%
+		{}%
+}
+
+%liste pour les faces
+\NewList{detridimfaceU}\SetList{detridimfaceU}{2,3,4,5}
+\NewList{detridimfaceD}\SetList{detridimfaceD}{1,3,4,6}
+\NewList{detridimfaceT}\SetList{detridimfaceT}{1,2,6,5}
+\NewList{detridimfaceQ}\SetList{detridimfaceQ}{1,5,6,2}
+\NewList{detridimfaceC}\SetList{detridimfaceC}{1,3,6,4}
+\NewList{detridimfaceS}\SetList{detridimfaceS}{2,4,5,3}
+
+%commande autonome
+\NewDocumentCommand\DeTriDim{ s O{} D<>{} m }{%
+	%* = mode non autonome
+	%1 = clés
+	%2 = options tikzpicture
+	%3 = faces devant/dessus
+	\restoreKV[DeTriDim]%
+	\setKV[DeTriDim]{#2}%
+	%si aléatoire
+	\ifboolKV[DeTriDim]{Hasard}%
+		{%
+			\xdef\detridimfacedevant{\xinteval{randrange(1,7)}}%
+			\xintifboolexpr{\detridimfacedevant == 1}%
+				{%
+					\GetRandomItem{detridimfaceU}{detridimfacedessus}%
+				}%
+				{}%
+			\xintifboolexpr{\detridimfacedevant == 2}%
+				{%
+					\GetRandomItem{detridimfaceD}{detridimfacedessus}%
+				}%
+				{}%
+			\xintifboolexpr{\detridimfacedevant == 3}%
+				{%
+					\GetRandomItem{detridimfaceT}{detridimfacedessus}%
+				}%
+				{}%
+			\xintifboolexpr{\detridimfacedevant == 4}%
+				{%
+					\GetRandomItem{detridimfaceQ}{detridimfacedessus}%
+				}%
+				{}%
+			\xintifboolexpr{\detridimfacedevant == 5}%
+				{%
+					\GetRandomItem{detridimfaceC}{detridimfacedessus}%
+				}%
+				{}%
+			\xintifboolexpr{\detridimfacedevant == 6}%
+				{%
+					\GetRandomItem{detridimfaceS}{detridimfacedessus}%
+				}%
+				{}%
+			\xdef\detridimfaces{\detridimfacedevant/\detridimfacedessus}%
+		}%
+		{%
+			\xdef\detridimfaces{#4}%
+			\StrCut{#4}{/}{\detridimfacedevant}{\detridimfacedessus}%
+		}%
+	\IfStrEq{\deftridimvue}{D}%
+		{%
+			\IfStrEqCase{\detridimfaces}{%
+				{1/2}{\def\detridimfacedroite{3}}%
+				{1/3}{\def\detridimfacedroite{5}}%
+				{1/5}{\def\detridimfacedroite{4}}%
+				{1/4}{\def\detridimfacedroite{2}}%
+				%
+				{2/1}{\def\detridimfacedroite{4}}%
+				{2/4}{\def\detridimfacedroite{6}}%
+				{2/6}{\def\detridimfacedroite{3}}%
+				{2/3}{\def\detridimfacedroite{1}}%
+				%
+				{3/1}{\def\detridimfacedroite{2}}%
+				{3/2}{\def\detridimfacedroite{6}}%
+				{3/6}{\def\detridimfacedroite{5}}%
+				{3/5}{\def\detridimfacedroite{1}}%
+				%
+				{4/1}{\def\detridimfacedroite{5}}%
+				{4/5}{\def\detridimfacedroite{6}}%
+				{4/6}{\def\detridimfacedroite{2}}%
+				{4/2}{\def\detridimfacedroite{1}}%
+				%
+				{5/1}{\def\detridimfacedroite{3}}%
+				{5/3}{\def\detridimfacedroite{6}}%
+				{5/6}{\def\detridimfacedroite{4}}%
+				{5/4}{\def\detridimfacedroite{1}}%
+				%
+				{6/2}{\def\detridimfacedroite{4}}%
+				{6/4}{\def\detridimfacedroite{5}}%
+				{6/5}{\def\detridimfacedroite{3}}%
+				{6/3}{\def\detridimfacedroite{2}}%
+			}%
+		}%
+		{%
+			\IfStrEqCase{\detridimfaces}{%
+				{1/2}{\def\detridimfacedroite{4}}%
+				{1/3}{\def\detridimfacedroite{2}}%
+				{1/5}{\def\detridimfacedroite{3}}%
+				{1/4}{\def\detridimfacedroite{5}}%
+				%
+				{2/1}{\def\detridimfacedroite{3}}%
+				{2/4}{\def\detridimfacedroite{1}}%
+				{2/6}{\def\detridimfacedroite{4}}%
+				{2/3}{\def\detridimfacedroite{6}}%
+				%
+				{3/1}{\def\detridimfacedroite{5}}%
+				{3/2}{\def\detridimfacedroite{1}}%
+				{3/6}{\def\detridimfacedroite{2}}%
+				{3/5}{\def\detridimfacedroite{6}}%
+				%
+				{4/1}{\def\detridimfacedroite{2}}%
+				{4/5}{\def\detridimfacedroite{1}}%
+				{4/6}{\def\detridimfacedroite{5}}%
+				{4/2}{\def\detridimfacedroite{6}}%
+				%
+				{5/1}{\def\detridimfacedroite{3}}%
+				{5/3}{\def\detridimfacedroite{6}}%
+				{5/6}{\def\detridimfacedroite{4}}%
+				{5/4}{\def\detridimfacedroite{1}}%
+				%
+				{6/2}{\def\detridimfacedroite{3}}%
+				{6/4}{\def\detridimfacedroite{2}}%
+				{6/5}{\def\detridimfacedroite{4}}%
+				{6/3}{\def\detridimfacedroite{5}}%
+			}%
+		}%
+	\IfStrEq{\deftridimvue}{D}{\def\tmpdetridimxscale{1}}{\def\tmpdetridimxscale{-1}}%
+	\IfBooleanF{#1}{\begin{tikzpicture}[#3]}%
+	\tdplotsetmaincoords{\detridimtheta}{\detridimphi}
+		\begin{scope}[shift={(\deftridimorigin)},scale=\fpeval{0.5*\detridimscale},xscale=\tmpdetridimxscale,thick,tdplot_main_coords,rounded corners=\fpeval{\detridimscale*0.5*0.33}cm,fill=\detridimcouleur]
+			\begin{scope}[canvas is xy plane at z=-1]
+				\filldraw (-1,-1) rectangle (1,1);
+			\end{scope}
+			\begin{scope}[canvas is xz plane at y=-1]
+				\filldraw (-1,-1) rectangle (1,1);
+			\end{scope}
+			\begin{scope}[canvas is yz plane at x=-1]
+				\filldraw (-1,-1) rectangle (1,1);
+			\end{scope}
+			\begin{scope}[canvas is xy plane at z=1]%face du dessus
+				\filldraw (-1,-1) rectangle (1,1);
+				\FaceDeTriDim{\detridimfacedessus}
+			\end{scope}
+			\begin{scope}[canvas is xz plane at y=1]%face de droite
+				\filldraw (-1,-1) rectangle (1,1);
+				\FaceDeTriDim{\detridimfacedroite}
+			\end{scope}
+			\begin{scope}[canvas is yz plane at x=1]%face de devant
+				\filldraw (-1,-1) rectangle (1,1);
+				\FaceDeTriDim{\detridimfacedevant}
+			\end{scope}
+		\end{scope}
+	\IfBooleanF{#1}{\end{tikzpicture}}%
+}
+
+\NewDocumentCommand\TirageAleaDesTriDim{ O{} D<>{} m }{%
+	\restoreKV[DeTriDim]%
+	\setKV[DeTriDim]{#1}%
+	\readlist*\detridimlstcolors{\detridimcouleurs}%
+	\ifboolKV[DeTriDim]{Yams}%
+	{%
+		\begin{tikzpicture}[#2]
+			\ifnum\detridimlstcolorslen=1\relax
+			\foreach \i in {1,...,#3}{%
+				\IfStrEq{\deftridimvue}{D}%
+					{%
+						\DeTriDim*[#1,Hasard,Couleur=\detridimcouleurs,Origine={(\i*\detridimscale,-\i*\detridimscale*0.1)}]{}%
+					}%
+					{%
+						\DeTriDim*[#1,Hasard,Couleur=\detridimcouleurs,Origine={(-\i*\detridimscale,-\i*\detridimscale*0.1)}]{}%
+					}%
+			}%
+			\else%
+			\foreach \i in {1,...,#3}{%
+				\itemtomacro\detridimlstcolors[\i]{\tmpdetridimcolor}%
+				\IfStrEq{\deftridimvue}{D}%
+					{%
+						\DeTriDim*[#1,Hasard,Couleur=\tmpdetridimcolor,Origine={(\i*\detridimscale,-\i*\detridimscale*0.1)}]{}%
+					}%
+					{%
+						\DeTriDim*[#1,Hasard,Couleur=\tmpdetridimcolor,Origine={(-\i*\detridimscale,-\i*\detridimscale*0.1)}]{}%
+					}%
+			}%
+			\fi%
+		\end{tikzpicture}
+	}%
+	{%
+		\ifnum\detridimlstcolorslen=1\relax
+		\foreach \i in {1,...,#3}{%
+			\DeTriDim[#1,Hasard,Couleur=\detridimcouleurs]<#2>{}\ifnum\i<#3\relax\hspace*{\detridimoffseth}\fi%
+		}%
+		\else%
+		\foreach \i in {1,...,#3}{%
+			\itemtomacro\detridimlstcolors[\i]{\tmpdetridimcolor}%
+			\DeTriDim[#1,Hasard,Couleur=\tmpdetridimcolor]<#2>{}\ifnum\i<#3\relax\hspace*{\detridimoffseth}\fi%
+		}%
+		\fi%
+	}%
+}
+
+
 \endinput
\ No newline at end of file



More information about the tex-live-commits mailing list.