使用 TikZ 绘制圆段

使用 TikZ 绘制圆段

Jean-Marie 在一个问题中给出了答案,包括一张图片。我想用 TikZ 画这个:我可以画单位圆,但我不知道如何画这个“三角形”。直边是从 (0,2-sqrt(3)) 到 (0,-2+sqrt(3)) 的线,其他边是围绕 (1,2) 和 (1,-2) 的圆的圆段,半径均为 2。

如果有人能帮助我那就太好了!

答案1

类似这样的事?

\documentclass[border = 0.5cm]{standalone}
\usepackage{tikz}
  \usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture}
\draw (0,0) circle (1);
\draw (0,{2-sqrt(3)}) -- (0,{-2+sqrt(3)});
\draw (1,0) arc (270:240:2);
\draw (1,0) arc (-270:-240:2);
\end{tikzpicture}
\end{document}

请注意,此符号中的 (1,0) 不是圆心,而是半径为 2 个单位的圆弧的起点。圆弧的中心位于两个半径的交点处,一个半径指向 270 度,另一个半径指向 240 度,当然就是 (1,2)。下面的圆弧也是一样。

在此处输入图片描述

另一种方法(正如 Torbjørn T. 所提到的)是使用可以填充的路径。

\documentclass[border = 0.5cm]{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\draw (0,0) circle (1);
\draw[fill=red] (0,{2-sqrt(3)}) -- (0,{-2+sqrt(3)}) arc(-240:-270:2) arc(270:240:2) -- cycle; 
\end{tikzpicture}
\end{document}

在此处输入图片描述

如果您想添加轴和一些点,您可以使用:

\begin{tikzpicture}[scale=5]
\draw (0,0) circle (1);
\draw[fill=red] (0,{2-sqrt(3)}) -- (0,{-2+sqrt(3)}) arc(-240:-270:2) arc(270:240:2) -- cycle; 
\draw[->] (-1.5,0) -- (1.5,0) node[anchor=north west] {x axis}; % x axis
\foreach \i [count=\j] in {-1/2,-1/3,0,1/3,1/2} 
    \draw (\i,0) coordinate (x\j) edge ++(0,1pt) -- ++(0,-1pt) node [anchor=north] {\i};
\draw[->] (0,-1.5) -- (0,1.5) node[anchor=south east] {y axis}; % y axis    
\end{tikzpicture}

请注意,我缩放了图片,以使图片大小和字体大小达到良好的一致。

在此处输入图片描述

相关内容