Draw a medial tire cut from a random n=20 graph
Add experiments/draw_medial_tire_cut.py, the paper-graphics companion that imports run_experiment and emits a TikZ panel (walk-depth labels + cut slits) per recognised tread via to_tikz. Add the resulting figure (Example 3.2, Figure 2): the single recognised tread T_2 of the medial tire decomposition of a random maximal planar graph on 20 vertices (seed 72), an 8-cycle piece with a bite, labelled and cut. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -309,6 +309,84 @@ graph, tire decomposition at a vertex level source, and chained walk-depth
|
||||
labelling and cut---is carried out by the experiment script
|
||||
\texttt{experiments/run\_medial\_tire\_cut\_experiment.py}.
|
||||
|
||||
\begin{example}[A medial tire cut from a random graph]
|
||||
\label{ex:real-cut}
|
||||
Run on a random maximal planar graph on $20$ vertices (seed $72$, level
|
||||
source vertex $9$), the experiment yields a single recognised tread
|
||||
$T_2$, drawn in Figure~\ref{fig:real-cut} with the walk-depth labelling
|
||||
and cut emitted by the graphics companion
|
||||
\texttt{experiments/draw\_medial\_tire\_cut.py}. Its annular cycle has
|
||||
length $8$, with up teeth on annular edges $0,3,4$, singleton down teeth
|
||||
on $1,6,7$, and a bite on the non-incident annular edges $2$ and $5$ (the
|
||||
central shared apex). Entering at the up tooth on edge $0$ with walk
|
||||
depth $0$, the root face is labelled in order ($0,1,2$ then $3,4,5$) and
|
||||
\emph{cut~1} duplicates $a_0$ as it closes; the walk then descends through
|
||||
the bite into its inner-gap face, labelling the two teeth there ($6,7$),
|
||||
and \emph{cut~2} duplicates $a_3$ as that face closes. The two cuts leave
|
||||
only the outer face and the eight teeth as $3$-faces.
|
||||
\end{example}
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\begin{tikzpicture}[scale=1.6,
|
||||
ann/.style={circle, fill=black, inner sep=1.0pt},
|
||||
upv/.style={circle, draw=blue!70!black, fill=blue!12, inner sep=1.4pt},
|
||||
downv/.style={circle, draw=red!70!black, fill=red!12, inner sep=1.4pt},
|
||||
bitev/.style={circle, draw=red!70!black, fill=red!32, inner sep=1.7pt},
|
||||
cyc/.style={black, line width=1.0pt},
|
||||
tth/.style={black!55, line width=0.4pt},
|
||||
lbl/.style={font=\scriptsize},
|
||||
dlbl/.style={font=\scriptsize\bfseries, text=black},
|
||||
cut/.style={red!80!black, line width=1.3pt},
|
||||
cutlbl/.style={font=\tiny, text=red!75!black}]
|
||||
\draw[cyc] (0.000,1.000)--(0.707,0.707)--(1.000,0.000)--(0.707,-0.707)--(0.000,-1.000)--(-0.707,-0.707)--(-1.000,-0.000)--(-0.707,0.707)--cycle;
|
||||
\draw[tth] (0.559,1.349)--(0.000,1.000) (0.559,1.349)--(0.707,0.707);
|
||||
\draw[tth] (0.559,-1.349)--(0.707,-0.707) (0.559,-1.349)--(0.000,-1.000);
|
||||
\draw[tth] (-0.559,-1.349)--(0.000,-1.000) (-0.559,-1.349)--(-0.707,-0.707);
|
||||
\draw[tth] (0.554,0.230)--(0.707,0.707) (0.554,0.230)--(1.000,0.000);
|
||||
\draw[tth] (-0.554,0.230)--(-1.000,-0.000) (-0.554,0.230)--(-0.707,0.707);
|
||||
\draw[tth] (-0.230,0.554)--(-0.707,0.707) (-0.230,0.554)--(0.000,1.000);
|
||||
\draw[tth] (0.000,-0.318)--(1.000,0.000) (0.000,-0.318)--(0.707,-0.707);
|
||||
\draw[tth] (0.000,-0.318)--(-0.707,-0.707) (0.000,-0.318)--(-1.000,-0.000);
|
||||
\node[ann] at (0.000,1.000) {};
|
||||
\node[ann] at (0.707,0.707) {};
|
||||
\node[ann] at (1.000,0.000) {};
|
||||
\node[ann] at (0.707,-0.707) {};
|
||||
\node[ann] at (0.000,-1.000) {};
|
||||
\node[ann] at (-0.707,-0.707) {};
|
||||
\node[ann] at (-1.000,-0.000) {};
|
||||
\node[ann] at (-0.707,0.707) {};
|
||||
\node[upv] at (0.559,1.349) {};
|
||||
\node[upv] at (0.559,-1.349) {};
|
||||
\node[upv] at (-0.559,-1.349) {};
|
||||
\node[downv] at (0.554,0.230) {};
|
||||
\node[downv] at (-0.554,0.230) {};
|
||||
\node[downv] at (-0.230,0.554) {};
|
||||
\node[bitev] at (0.000,-0.318) {};
|
||||
\node[dlbl] at (0.456,1.101) {0};
|
||||
\node[dlbl] at (0.704,0.292) {1};
|
||||
\node[dlbl] at (0.427,-0.336) {2};
|
||||
\node[dlbl] at (0.456,-1.101) {7};
|
||||
\node[dlbl] at (-0.456,-1.101) {6};
|
||||
\node[dlbl] at (-0.427,-0.336) {3};
|
||||
\node[dlbl] at (-0.704,0.292) {4};
|
||||
\node[dlbl] at (-0.292,0.704) {5};
|
||||
\draw[cut] (0.000,0.840)--(0.000,1.160);
|
||||
\node[cutlbl] at (0.000,1.300) {cut 1};
|
||||
\draw[cut] (0.594,-0.594)--(0.820,-0.820);
|
||||
\node[cutlbl] at (0.919,-0.919) {cut 2};
|
||||
\node[lbl, text=blue!60!black] at (0.689,1.663) {entry};
|
||||
\end{tikzpicture}
|
||||
\caption{The recognised tread $T_2$ of the medial tire decomposition of a
|
||||
random maximal planar graph on $20$ vertices
|
||||
(Example~\ref{ex:real-cut}), with its walk-depth labelling and cut. Black
|
||||
vertices are the annular medial vertices of $A(T)$; blue vertices are
|
||||
up-tooth apexes and red vertices down-tooth apexes, the larger red vertex
|
||||
being the shared apex of the bite on annular edges $2$ and $5$. Each
|
||||
tooth carries its walk depth; the red slits are the two cuts.}
|
||||
\label{fig:real-cut}
|
||||
\end{figure}
|
||||
|
||||
\begin{thebibliography}{9}
|
||||
|
||||
\bibitem{bauerfeld-medial-tire}
|
||||
|
||||
Reference in New Issue
Block a user