
Я пишу диссертацию по торическому коду с помощью Overleaf, и для этого я хотел бы нарисовать:
- рисунок решетки с примером плакетных и вершинных операторов
- рисунок решетки с примером строковых операторов
- фигура тора с нарисованной на поверхности тора сеткой
Я провел небольшое исследование, и вот чтоКак построить решетку точек на поверхности тора?вопрос был очень полезен для рисунка 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 или любого другого приложения, которое может быть полезным. Любая помощь или документация, которая может быть полезна? Большое спасибо.