토릭 코드 격자 그리기

토릭 코드 격자 그리기

저는 Overleaf를 사용하여 토릭 코드에 대한 논문을 쓰고 있으며 이를 위해 다음을 그리고 싶습니다.

  1. 플라크와 정점 연산자의 예가 포함된 격자 그림
  2. 문자열 연산자의 예가 포함된 격자 그림
  3. 토러스 표면에 그리드가 그려진 토러스 그림

제가 좀 연구를 해봤는데 이게 뭔가요?토러스 표면에 점 격자를 그리는 방법은 무엇입니까?질문은 그림 3)에 매우 도움이 되었지만 그리드를 생성하기 위해 선 표면의 화살표를 변경하는 방법을 모르겠습니다. 코드와 내가 만들고 싶은 차이점을 복사합니다.

\documentclass[twocolumn]{revtex4}
\usepackage[inline]{asymptote}
\begin{document}
\begin{figure}[h]
\centering
\begin{asy}[width=5cm,height=5cm]
size(200);
import graph3;

pen surfPen=rgb(1,0.7,0);
pen xarcPen=deepblue+0.7bp;
pen yarcPen=deepred+0.7bp;

currentprojection=perspective(5,4,4);

real R=2;
real a=1;

triple fs(pair t) {
  return ((R+a*Cos(t.y))*Cos(t.x),(R+a*Cos(t.y))*Sin(t.x),a*Sin(t.y));
}

surface s=surface(fs,(0,0),(360,360),8,8,Spline);
draw(s,surfPen,render(compression=Low,merge=true));

int m=20;
int n=10;
real arcFactor=0.85;

pair p,q;

for(int i=1;i<=n;++i){
  for(int j=0;j<m;++j){
    p=(j*360/m,(i%n)*360/n);
    q=(((j+arcFactor)%m)*360/m,i*360/n);
    draw(fs(p)..fs((p+q)/2)..fs(q),xarcPen,Arrow3(size=4));
    q=(j*360/m,((i%n)-arcFactor)*360/n);
    draw(fs(p)..fs((p+q)/2)..fs(q),yarcPen,Arrow3(size=3));
    dot(fs(p));
  }
}
\end{asy}
\end{figure}
\end{document}

그래서 실제로는 선의 화살표를 변경하는 일부 명령으로 "Arrow3"을 변경하고 싶습니다.

그림 1)과 2)에 대해서는 토릭 코드에 익숙하지 않은 분들을 위해 기사에 나온 그림을 참조하세요.https://www.physics.rutgers.edu/grad/602/Lectures/JC_Presentations/0419/Intro_Toric_Code.pdf완벽한 예입니다.여기에 이미지 설명을 입력하세요

따라서 이와 같은 그림은 훌륭할 것입니다(비록 분명히 복사하고 싶지는 않지만).

tikz, asymptote 또는 유용할 수 있는 다른 응용 프로그램을 사용하여 작업을 수행해도 상관 없습니다. 도움이 될 수 있는 도움말이나 문서가 있나요? 정말 감사합니다.

관련 정보