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.