使用 TikZ 绘制填充圆弧

使用 TikZ 绘制填充圆弧

我正在尝试使用 TikZ 绘制由半径为 4 的圆弧(具体来说是 3/4 圆0 <= \theta <= 3\pi/2)形成的区域。我还需要填充该圆弧的内部。这是我目前所得到的,但填充了“太多”,这可能是我绘制圆弧的方式造成的:

\begin{tikzpicture}
\draw [->] (-5.0,0)--(5.0,0);
\draw [->] (0,-5.0)--(0,5.0);
\filldraw[fill opacity=0.5,fill=blue] (4,0) arc (-0.05:275:4.0cm);
    \foreach \x in {-4,4}
    \draw (\x cm,1pt) -- (\x cm,-1pt) node[anchor=north] {$\x$};
    \foreach \y in {-4,4}
    \draw (1pt,\y cm) -- (-1pt,\y cm) node[anchor=east] {$\y$};
\end{tikzpicture}

任何帮助将不胜感激。

答案1

我对彼得的精彩回答做了一些补充和解释。

首先,您可以使用 pgfmanual 解决您的问题填充和绘制卡尔给学生们的照片

关于 T.Tantau 给出的代码的一些解释。当您需要填充一个区域时,就像 Peter 写的那样,您需要给出一条封闭的路径,但可以给出任何路径(参见下面的示例)。如果路径未封闭,则 Tikz 会自动使用 封闭路径-- (origin of the path)。在您的代码中,最重要的部分是(0,0) --

-- cycle对于...很重要绘画路径,因为在某些情况下,你需要正确地连接曲线。我在问题周围画了两个红色圆圈,无论你是否画cycle。你可以在第三张图片中看到,没有必要使用cyclefill在第一个和第二个例子中,我展示了有和没有的两个不同结果 cycle

以下是 Karl 教程中给出的示例的一些变体:

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}

\begin{document} 
\begin{tikzpicture}[scale=6]
  \filldraw[fill=green!20!white, draw=green!50!black]
    (90:3mm) arc (90:0:3mm) arc (180:90:3mm) ;
\end{tikzpicture} 

\begin{tikzpicture}[scale=6]
  \filldraw[fill=green!20!white, draw=green!50!black]
    (90:3mm) arc (90:0:3mm) arc (180:90:3mm) -- (0:6mm) -- (0,0) -- cycle;
\end{tikzpicture}  

\begin{tikzpicture}[scale=6]
  \fill[fill=green!20!white]
    (0,0) -- (3mm,0mm) arc (0:30:3mm);
\end{tikzpicture}  
\begin{tikzpicture}[scale=6]
  \filldraw[fill=green!20!white, draw=green!50!black]
    (0,0) -- (3mm,0mm) arc (0:30:3mm) -- cycle;
\end{tikzpicture} 
\begin{tikzpicture}[scale=6]
  \filldraw[fill=green!20!white, draw=green!50!black]
    (0,0) -- (3mm,0mm) arc (0:30:3mm) -- (0,0);
\end{tikzpicture}   
\end{document} 

就你的情况而言:

\begin{tikzpicture}
\draw[->] (-5.0,0) -- (5.0,0) node[right] {$x$} coordinate(x axis);
\draw[->] (0,-5.0) -- (0,5.0) node[above] {$y$} coordinate(y axis);

\filldraw[fill opacity=0.5,fill=blue] (0,0) -- (4,0) arc (0:270:4.0cm) -- cycle;

\foreach \x in {-4,4}
\draw (\x cm,1pt) -- (\x cm,-1pt) node[anchor=north] {$\x$};
\foreach \y in {-4,4}
\draw (1pt,\y cm) -- (-1pt,\y cm) node[anchor=east] {$\y$};
\node at ( 45:2){\Huge \textbf{R}} ;
\node at ( 45:5){\Huge or  \textbf{R}} ; 
\end{tikzpicture}  

在此处输入图片描述

答案2

您只需从原点开始和结束即可:

(0,0) -- (4,0) arc (0:270:4.0cm) -- cycle

获取您想要的区域:

在此处输入图片描述

笔记:

  • 不确定为什么您-0.05:275在 MWE 中拥有学位。我已将其更正为与0:270相对应0:3\pi/2

代码:

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[scale=0.5]
    \draw [->] (-5.0,0)--(5.0,0);
    \draw [->] (0,-5.0)--(0,5.0);
    
    \filldraw[fill opacity=0.5,fill=blue] (0,0) -- (4,0) arc (0:270:4.0cm) -- cycle;

    \foreach \x in {-4,4} {\draw (\x cm,1pt) -- (\x cm,-1pt) node[anchor=north] {$\x$};}
    \foreach \y in {-4,4} {\draw (1pt,\y cm) -- (-1pt,\y cm) node[anchor=east ] {$\y$};}
\end{tikzpicture}
\end{document}

相关内容