\documentclass[border=10pt,tikz]{standalone}
\usepackage{dsfont}
\usetikzlibrary{angles, decorations.pathmorphing}
\begin{document}
\tikzset{smallcircle/.style = {circle, draw, fill=white, inner sep=2pt}}
\def\r{1.2}
\newcommand*{\U}[5]{%
\path (#2,#3) coordinate (0)
+(#4:\r) coordinate (1)
+(#5:\r) coordinate (2)
pic[thick, draw = red!80!black, angle radius=\r cm] {angle = 1--0--2}
pic[thick, draw = black, angle radius=\r cm] {angle = 2--0--1}
node at (0) {$U_#1$}
node[smallcircle] at (1) {}
node[smallcircle] at (2) {};}
\begin{tikzpicture}
\U{1}{0}{0}{0}{240}
\U{2}{3}{0}{120}{0}
\U{3}{6}{0}{240}{120}
\draw [->, decorate, decoration={snake, amplitude=0.5mm,
segment length=2mm}] (8,0) --++(0.5,0)
++(0.3,0.05) node {$\mathds{Z}^3$};
\end{tikzpicture}
\end{document}
https://x.com/TeXgallery/status/1871950619868860813