بسته tikZ دستور arc را در اختیارتان میگذارد: arc (<init angle>:<final angle>:<radius>)
اما باید نقطه شروع آن را بر اساس شعاع جابجا کنید، که برای این کار کافیست از ([shift={(<init angle>:<radius>)}]<center>)
استفاده کنید.
همچنین میتوان این کار را با پارامتری کردن انجام داد:
x(t)=a+r*cos(t)
y(t)=b+r*sin(t)
که در آن r
شعاع و (a,b)
مرکز کمان هستند. دستور \centerarc
را به این صورت تعریف میکنیم:
\def\centerarc[#1](#2)(#3:#4:#5)% Syntax: [draw options] (center) (initial angle:final angle:radius)
{ \draw[#1] ($(#2)+({#5*cos(#3)},{#5*sin(#3)})$) arc (#3:#4:#5); }
و از آن استفاده میکنیم:
\centerarc[red,thick](a,b)(<init angle>:<final angle>:<radius>)
توجه کنید که در این روش به کتابخانه calc
نیاز داریم. کد کامل:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\def\centerarc[#1](#2)(#3:#4:#5)% Syntax: [draw options] (center) (initial angle:final angle:radius)
{ \draw[#1] ($(#2)+({#5*cos(#3)},{#5*sin(#3)})$) arc (#3:#4:#5); }
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}
\begin{tikzpicture}
\draw (0,0) circle [radius=5];
\draw[] ([shift={(95:4.375)}]0,0) arc (95:215:4.375);
\node at (-2.5,2.5) {$1$};
\draw[] ([shift={(-35:3.75)}]0,0) arc (-35:110:3.75);
\node at (2,2) {$2$};
\draw[] ([shift={(275:4.375)}]0,0) arc (275:385:4.375);
\node at (2.5,-2.5) {$3$};
\draw[] ([shift={(190:3.75)}]0,0) arc (190:280:3.75);
\node at (-2,-2) {$4$};
\end{tikzpicture}
\begin{tikzpicture}
\draw (0,0) circle [radius=5];
\centerarc[](0,0)(95:215:4.375)
\centerarc[](0,0)(275:385:4.375)
\centerarc[](0,0)(-35:110:3.75)
\centerarc[](0,0)(190:280:3.75)
\end{tikzpicture}
\end{document}
نتیجه:
روش دوم از اینجا برداشته شده است.