# Hyperbolic polyhedron in tikz

I want to create the following hyperbolic polyhedra in Latex using tikz. I can create the hexagonal structure, but I'm clueless regarding the circular arcs.

Edit: The code I used for the hexagonal part is as follows (Kindly rotate it):

\documentclass{standalone}
\usepackage{pgf,tikz,pgfplots}
\pgfplotsset{compat=1.15}
\usepackage{mathrsfs}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\definecolor{wrwrwr}{rgb}{0.38,0.38,0.38}
\definecolor{rvwvcq}{rgb}{0.082,0.39,0.75}
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=1cm,y=1cm]
\fill[line width=2pt,color=rvwvcq,fill=rvwvcq,fill opacity=0.1] (2.08,-2.07) -- (2.1,-0.35) -- (0.6204363054907656,0.5273205080756891) -- (-0.8791273890184694,-0.31535898384862215) -- (-0.8991273890184699,-2.0353589838486217) -- (0.5804363054907642,-2.9126794919243113) -- cycle;
\draw [line width=2pt,color=rvwvcq] (2.08,-2.07)-- (2.1,-0.35);
\draw [line width=2pt,color=rvwvcq] (2.1,-0.35)-- (0.6204363054907656,0.5273205080756891);
\draw [line width=2pt,color=rvwvcq] (0.6204363054907656,0.5273205080756891)-- (-0.8791273890184694,-0.31535898384862215);
\draw [line width=2pt,color=rvwvcq] (-0.8791273890184694,-0.31535898384862215)-- (-0.8991273890184699,-2.0353589838486217);
\draw [line width=2pt,color=rvwvcq] (-0.8991273890184699,-2.0353589838486217)-- (0.5804363054907642,-2.9126794919243113);
\draw [line width=2pt,color=rvwvcq] (0.5804363054907642,-2.9126794919243113)-- (2.08,-2.07);
\draw [line width=2pt,color=wrwrwr] (-0.8791273890184694,-0.31535898384862215)-- (2.08,-2.07);
\draw [line width=2pt,color=wrwrwr] (-0.8991273890184699,-2.0353589838486217)-- (2.1,-0.35);
\draw [line width=2pt,color=wrwrwr] (0.6204363054907656,0.5273205080756891)-- (0.5804363054907642,-2.9126794919243113);
\draw [line width=2pt,color=wrwrwr] (-0.12934554176385193,0.10598076211353347)-- (-0.15934554176385285,-2.4740192378864663);
\draw [line width=2pt,color=wrwrwr] (-0.15934554176385285,-2.4740192378864663)-- (2.09,-1.21);
\draw [line width=2pt,color=wrwrwr] (2.09,-1.21)-- (-0.12934554176385193,0.10598076211353347);
\draw [line width=2pt,color=wrwrwr] (1.3602181527453827,0.08866025403784455)-- (1.330218152745382,-2.4913397459621556);
\draw [line width=2pt,color=wrwrwr] (1.3602181527453827,0.08866025403784455)-- (-0.8891273890184697,-1.1753589838486218);
\draw [line width=2pt,color=wrwrwr] (-0.8891273890184697,-1.1753589838486218)-- (1.330218152745382,-2.4913397459621556);
\begin{scriptsize}
\draw [fill=rvwvcq] (2.08,-2.07) circle (2.5pt);
\draw[color=rvwvcq] (2.1439168319762962,-1.9047033765096832) node {$A$};
\draw [fill=rvwvcq] (2.1,-0.35) circle (2.5pt);
\draw[color=rvwvcq] (2.1593385635534776,-0.1851803056539731) node {$B$};
\draw [fill=wrwrwr] (0.6204363054907656,0.5273205080756891) circle (2.5pt);
\draw[color=wrwrwr] (0.6788523321440775,0.6938583942453586) node {$C$};
\draw [fill=wrwrwr] (-0.8791273890184694,-0.31535898384862215) circle (2.5pt);
\draw[color=wrwrwr] (-0.8170556308425039,-0.14662597671101996) node {$D$};
\draw [fill=wrwrwr] (-0.8991273890184699,-2.0353589838486217) circle (2.5pt);
\draw[color=wrwrwr] (-0.8401882282082758,-1.86614904756673) node {$E$};
\draw [fill=wrwrwr] (0.5804363054907642,-2.9126794919243113) circle (2.5pt);
\draw[color=wrwrwr] (0.6402980032011244,-2.7451877474660615) node {$F$};
\draw [fill=wrwrwr] (-0.8891273890184697,-1.1753589838486218) circle (2pt);
\draw[color=wrwrwr] (-0.8247664966310945,-1.0256646766103514) node {$G$};
\draw [fill=wrwrwr] (-0.12934554176385193,0.10598076211353347) circle (2pt);
\draw[color=wrwrwr] (-0.06910164934921317,0.25433904429569276) node {$H$};
\draw [fill=wrwrwr] (1.3602181527453827,0.08866025403784455) circle (2pt);
\draw[color=wrwrwr] (1.4190954478487776,0.23891731271851147) node {$I$};
\draw [fill=wrwrwr] (2.09,-1.21) circle (2pt);
\draw[color=wrwrwr] (2.151627697764887,-1.056508139764714) node {$J$};
\draw [fill=wrwrwr] (1.330218152745382,-2.4913397459621556) circle (2pt);
\draw[color=wrwrwr] (1.3882519846944152,-2.344222726459349) node {$K$};
\draw [fill=wrwrwr] (-0.15934554176385285,-2.4740192378864663) circle (2pt);
\draw[color=wrwrwr] (-0.09994511250357566,-2.321090129093577) node {$L$};
\end{scriptsize}
\end{tikzpicture}
\end{document}

• Welcome to TeX.SX! It would be nice if you showed the code to create the hexagonal thing then people can just complete the drawing with the arcs instead of drawing everything from scratch. – Phelype Oleinik Apr 15 at 19:02
• @PhelypeOleinik, I added the code. Thanks. – user473334 Apr 15 at 19:15

A dirty solution using shapes library.

\documentclass[margin=3.1415mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes,calc}
\begin{document}
\begin{tikzpicture}[line width=1mm]
\node (A) [draw,regular polygon, regular polygon sides=6, minimum size=10cm,outer sep=0pt] {};
\draw ($(A.corner 2)!0.5!(A.corner 3)$)coordinate(2-3)--($(A.corner 4)!0.5!(A.corner 5)$)coordinate(4-5);
\draw ($(A.corner 1)!0.5!(A.corner 2)$)coordinate(1-2)--($(A.corner 5)!0.5!(A.corner 6)$)coordinate(5-6);
\draw (4-5)--($(A.corner 6)!0.5!(A.corner 1)$)coordinate(6-1);
\draw ($(A.corner 3)!0.5!(A.corner 4)$)coordinate(3-4)--(1-2);
\draw (A.corner 2)--(A.corner 5);
\draw (A.corner 1)--(A.corner 4);
\draw (A.corner 3)--(A.corner 6);
\draw (2-3)--(6-1);
\draw (3-4)--(5-6);
\node at (90:6.5)[draw,circle,minimum size=1pt](circ){};
\draw (1-2)--(circ.270);
\draw [] (A.corner 2) to [bend left=45] (circ.180);
\draw [] (A.corner 1) to [bend right=45] (circ.0);
\draw [] (2-3) to [bend left=45] (circ.170);
\draw [] (6-1) to [bend right=45] (circ.10);
\draw [] (A.corner 3) to [bend left=45] (circ.165);
\draw [] (A.corner 6) to [bend right=45] (circ.15);
\draw (3-4) to [out=170,in=-100] ($(2-3)+(-2,0)$) to [out=80,in=180] (circ.160);
\draw (5-6) to [out=10,in=-80] ($(6-1)+(2,0)$) to [out=100,in=0] (circ.20);
\draw (A.corner 4) to [out=170,in=-80] ($(A.corner 3)+(-2.5,0)$) to [out=100,in=180] (circ.160);
\draw (A.corner 5) to [out=10,in=-100] ($(A.corner 6)+(2.5,0)$) to [out=80,in=0] (circ.20);
\draw (4-5) to [out=-80,in=195] ($(A.corner 6)+(0,-5.5)$) to [out=20,in=-90] ($(A.corner 6)+(4,0)$)to [out=90,in=0](circ.20);
\end{tikzpicture}

\end{document}


• Thanks for this. It is almost as I wanted it. However, is there any way that you could "smoothen" it? – user473334 Apr 15 at 20:25
• What do you mean by "smoothen"? – ferahfeza Apr 15 at 20:40
• @user473334 If you like an answer and it was helpful, please consider upvoting (by clicking on the arrows next to the score) and marking it as accepted answer (by clicking on the checkmark ✓). – Andrew Apr 15 at 20:59
• @ferahfeza Can we change the curvature of the arcs to make them more circular? – user473334 Apr 15 at 21:07
• @user473334, you can play with the in and out values of arcs. In addition, you have to define more points on the arc routes. – ferahfeza Apr 15 at 21:15