我正在尝试使用 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
。你可以在第三张图片中看到,没有必要使用cycle
。fill
在第一个和第二个例子中,我展示了有和没有的两个不同结果 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}