如何绘制圆形扇区?

如何绘制圆形扇区?

使用 Tikz,我想绘制圆形扇区(半径为 2),但他只绘制了一个三角形:

\documentclass[fullpage, 12pt]{ article}
\usepackage{tikz}
\usepackage{color}
\begin{center}
\begin{tikzpicture 
\draw[fill=gray!40] (0,0) to (1.41,-1.41) to (1.41,1.41) to (0,0) arc;
\draw[ultra thick] 
    (0,0) circle [radius=2];
\draw[thick] 
  (0,-2)--(0,2)
    (-2,0)--(2,0)
    (-1.41,-1.41)--(1.41,1.41)
    (-1.41,1.41)--(1.41,-1.41);
\end{tikzpicture}
\end{center}
\end{document}

在此处输入图片描述

答案1

如果你将第一行更改为

\draw[fill=gray!40] (0,0) -- +(45:2) arc (45:-45:2);

它有效。而且你不需要color包,因为 TikZ 本身就使用包xcolor

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[fill=gray!40] (0,0) -- +(45:2) arc (45:-45:2);
\draw[ultra thick] 
    (0,0) circle [radius=2];
\draw[thick] 
  (0,-2)--(0,2) (-2,0)--(2,0)
    (-135:2)--(45:2)
    (135:2)--(-45:2);
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

作为补充信息,这里是使用 MetaPost 完成的一种方法(在 LuaLaTeX 程序中插入代码以方便排版):

\documentclass[border=2mm]{standalone}
\usepackage{luamplib}
\begin{document}
    \begin{mplibcode}
        u := 2cm; 
        path horizontal, bisector[]; 
        horizontal = (left -- right) scaled u;
        bisector1 = horizontal rotated 45;
        bisector2 = bisector1 rotated (-90);
        beginfig(1);
            fill buildcycle(bisector1, halfcircle scaled (2u) rotated -90, bisector2)
                withcolor .8white;
            draw fullcircle scaled (2u) withpen pencircle scaled 1.25; 
            draw bisector1; draw bisector2;
            draw horizontal; draw (down--up) scaled u;
        endfig;
    \end{mplibcode}
\end{document}

为了填充圆形扇区,buildcycle这里使用了 MetaPost 的宏。它以两个或多个路径作为参数,并尝试返回与它们共同划定的区域接壤的路径(如果存在)。

不过,当每条路径与列表中的以下路径只有一个交点时,效果最佳。这就是我选择除两个角平分线之外halfcircle scaled (2u) rotated -90的给定圆的右半部分()作为参数的原因buildcycle,而不是整个圆:整个buildcycle圆与每个角平分线的两个交点可能会让人完全困惑。

如果我给出论点,它也会起作用fullcircle scaled (2u) rotated 180,但要理解原因,有必要阅读这次讨论和/或手册,第 30-32 页。

输出:

在此处输入图片描述

相关内容