# Regular Hexagonal Toroid Type C

Edit and compile if you like:

\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{0.125pt}
%
% File name: regular-hexagonal-toroid-type-C.tex
% Description:
% A geometric representation of the
% regular tetragonal toroid type C is shown.
%
% Date of last modification: October, 9th, 2022.
% Author: Efraín Soto Apolinar.
% https://www.aprendematematicas.org.mx/author/efrain-soto-apolinar/instructing-courses/
% Source: page 476 of the
% Glosario Ilustrado de Matem\'aticas Escolares.
% https://tinyurl.com/5udm2ufy
%
% According to TikZ.net
%
\begin{document}
\tdplotsetmaincoords{75}{75}
%
\begin{tikzpicture}[tdplot_main_coords]
% Change the value of the number at {\escala}{##} to scale the figure up or down
\pgfmathsetmacro{\escala}{0.75}
\pgfmathsetmacro{\r}{\escala}
% Coordinates of the vertices
\coordinate(0) at (\escala* 3, \escala*3, \escala*3);
\coordinate(1) at (\escala* 3, \escala*3, -\escala*3);
\coordinate(2) at (-\escala*3, \escala*3, \escala*3);
\coordinate(3) at (\escala* 3, -\escala*3, -\escala*3);
\coordinate(4) at (-\escala*3, -\escala*3, \escala*3);
\coordinate(5) at (-\escala*3, -\escala*3, -\escala*3);
\coordinate(6) at (\escala* 3, \escala*1, \escala*3);
\coordinate(7) at (-\escala*3, -\escala*1, -\escala*3);
\coordinate(8) at (-\escala*3, \escala*3, \escala*1);
\coordinate(9) at (\escala* 3, -\escala*3, -\escala*1);
\coordinate(10) at (-\escala*1, -\escala*3, \escala*3);
%
\coordinate(11) at (\escala* 1, \escala*3, -\escala*3);
\coordinate(12) at (-\escala*1, \escala*1, \escala*3);
\coordinate(13) at (\escala* 1, -\escala*1, -\escala*3);
\coordinate(14) at (-\escala*3, -\escala*1, \escala*1);
\coordinate(15) at (\escala* 3, \escala*1, -\escala*1);
\coordinate(16) at (\escala* 1, \escala*3, \escala*1);
\coordinate(17) at (-\escala*1, -\escala*3, -\escala*1);
\coordinate(18) at (\escala* 1, \escala*1, \escala*1);
\coordinate(19) at (\escala* 1, \escala*1, -\escala*1);
\coordinate(20) at (-\escala*1, \escala*1, \escala*1);
%
\coordinate(21) at (\escala* 1, -\escala*1, -\escala*1);
\coordinate(22) at (-\escala*1, -\escala*1, \escala*1);
\coordinate(23) at (-\escala*1, -\escala*1, -\escala*1);
% Faces of the polyhedron
\draw[red,thick,fill=cyan!35,opacity=0.75]  (0) -- (1) -- (11) -- (16) -- (8) -- (2) -- cycle;
\draw[red,thick,fill=cyan!35,opacity=0.75]  (5) -- (4) -- (2) -- (8) -- (14) -- (7) -- cycle;
\draw[red,thick,fill=cyan!35,opacity=0.75]  (5) -- (7) -- (13) -- (11) -- (1) -- (3) -- cycle;
\draw[red,thick,fill=cyan!35,opacity=0.75]  (18) -- (16) -- (11) -- (13) -- (21) -- (19) -- cycle;
\draw[red,thick,fill=cyan!35,opacity=0.75]  (18) -- (20) -- (22) -- (14) -- (8) -- (16) -- cycle;
\draw[red,thick,fill=cyan!35,opacity=0.75]  (23) -- (21) -- (13) -- (7) -- (14) -- (22) -- cycle;
%
\draw[red,thick,fill=cyan!35,opacity=0.75]  (23) -- (17) -- (9) -- (15) -- (19) -- (21) -- cycle;
\draw[red,thick,fill=cyan!35,opacity=0.75]  (5) -- (3) -- (9) -- (17) -- (10) -- (4) -- cycle;
\draw[red,thick,fill=cyan!35,opacity=0.75]  (0) -- (6) -- (15) -- (9) -- (3) -- (1) -- cycle;
\draw[red,thick,fill=cyan!35,opacity=0.75]  (23) -- (22) -- (20) -- (12) -- (10) -- (17) -- cycle;
\draw[red,thick,fill=cyan!35,opacity=0.75]  (18) -- (19) -- (15) -- (6) -- (12) -- (20) -- cycle;
\draw[red,thick,fill=cyan!35,opacity=0.75]  (0) -- (2) -- (4) -- (10) -- (12) -- (6) -- cycle;
%
\end{tikzpicture}
%
\end{document}