Petersen 그래프를 전압 그래프로 그리기

Petersen 그래프를 전압 그래프로 그리기

Petersen 그래프의 전압 그래프 구성을 설명하려고 합니다. 실제로 이는 다음을 의미합니다.

  • 외부 사이클은 시계 방향(a,0),...,(a,4)으로 표시되며 호는 해당 순서대로 표시됩니다.
  • 내부 사이클은 호 (b,0) -> (b,2), (b,1) -> (b,3)으로 시계 방향으로 (b,0),...,(b,4)로 레이블이 지정됩니다. (b,2) -> (b,4) 및 (b,3) -> (b,0); 그리고
  • 각각의 (a,i)는 (해당 방향으로) 대응하는 (b,i)에 결합됩니다.

grpetersen 매크로와 다음 코드를 사용하여 이 작업을 거의 수행할 수 있습니다.

\begin{tikzpicture}[->,>=triangle 45,rotate=90,scale=1.2,style=thick]
  \newcommand{\aset}[2]{$\{#1,#2\}$}
  \tikzset{VertexStyle/.style={draw,rectangle}}
  \SetVertexNoLabel
  \SetVertexMath
  \SetUpVertex[MinSize=30pt]
  \grPetersen[RA=3,RB=1.5]
%  \SetUpEdge{style={->-}}
  \AssignVertexLabel{a}{\textsl{(a,0)},\textsl{(a,4)},\textsl{(a,3)},\textsl{(a,2)},\textsl{(a,1)}}
  \AssignVertexLabel{b}{\textsl{(b,0)},\textsl{(b,4)},\textsl{(b,3)},\textsl{(b,2)},\textsl{(b,1)}}
\end{tikzpicture}

그러나 외부 사이클의 호는 잘못된 방향을 향하고 있으며 올바른 방향의 다른 호를 변경하지 않고는 호를 변경하는 방법을 알 수 없습니다.

어떤 제안이라도 주시면 감사하겠습니다.


이는 tkzgraph/berge의 일부입니다. Alttermundus의 "명명된 그래프 그리기"를 참조하세요. 다음은 위의 코드를 포함하는 최소한의 문서입니다.

\documentclass{article}
\usepackage{tkz-graph}
\usepackage{tkz-berge}
\begin{document}
\begin{tikzpicture}[->,>=triangle 45,rotate=90,scale=1.2,style=thick]
  \newcommand{\aset}[2]{$\{#1,#2\}$}
  \tikzset{VertexStyle/.style={draw,rectangle}}
  \SetVertexNoLabel
  \SetVertexMath
  \SetUpVertex[MinSize=30pt]
  \grPetersen[RA=3,RB=1.5]
%  \SetUpEdge{style={->-}}
  \AssignVertexLabel{a}{\textsl{(a,0)},\textsl{(a,4)},\textsl{(a,3)},\textsl{(a,2)},\textsl{(a,1)}}
  \AssignVertexLabel{b}{\textsl{(b,0)},\textsl{(b,4)},\textsl{(b,3)},\textsl{(b,2)},\textsl{(b,1)}}
\end{tikzpicture}
\end{document}

답변1

여기에 아마도 해결책이 있을 것입니다. 내가 정의한 매크로를 수정했습니다.tkz-berge.sty. 더 좋은 방법은 배우는 것이다.tkz-berge아니면 배우려고틱즈나만의 매크로를 만들 수 있습니다. 코드 내에서 몇 가지 아이디어를 찾을 수 있습니다.tkz-berge하지만 너도 문서를 봐명명된 그래프몇 가지 예를 찾으려면 명명된 그래프

비고:tkz-berge는 tkz-graph 및 tikz를 로드합니다.

\documentclass{article}
\usepackage{tkz-berge} 
\makeatletter

\renewcommand*{\grPetersen}[1][]{%
\begingroup%
    \setkeys[GR]{cl}{#1}%
        \begin{scope}[<-]
            \grCycle[#1]{5}%     
        \end{scope}
        \edef\tkzb@rtemp{\cmdGR@cl@RB}
        \edef\tkzb@ptemp{\cmdGR@cl@prefixx}
        \grStartwo[#1,RA=\tkzb@rtemp,prefix=\tkzb@ptemp]{2}
        \EdgeIdentity{\cmdGR@cl@prefix}{\cmdGR@cl@prefixx}{5} 
\endgroup%
}  
\makeatother


\begin{document}
\begin{tikzpicture}[->,>=triangle 45,rotate=90,scale=1.2,style=thick]
  \newcommand{\aset}[2]{$\{#1,#2\}$}
  \tikzset{VertexStyle/.style={draw,rectangle}}
  \SetVertexNoLabel
  \SetVertexMath
  \SetUpVertex[MinSize=30pt]
  \grPetersen[RA=3,RB=1.5]
  \AssignVertexLabel{a}{\textsl{(a,0)},\textsl{(a,4)},\textsl{(a,3)},\textsl{(a,2)},\textsl{(a,1)}}
  \AssignVertexLabel{b}{\textsl{(b,0)},\textsl{(b,4)},\textsl{(b,3)},\textsl{(b,2)},\textsl{(b,1)}}
\end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보