怎样画花瓣?

怎样画花瓣?

我可以绘图,但我不会画暗区。

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{center}
\begin{tikzpicture}[scale=1.2]
\draw[thick](0,0)--(4,0);
\draw[thick](4,0)--(4,4);
\draw[thick](4,4)--(0,4);
\draw[thick](0,4)--(0,0);
\draw[thick](4,0)--(0,4);
\draw[ultra thick] (0,0) arc (-90:90:2cm);
\draw[ultra thick] (0,4) arc (-180:0:2cm);
\node at (-0.3,0) {D};
\node at (-0.3,4) {A};
\node at (4.3,0) {C};
\node at (4,4.3) {B};
\end{tikzpicture} 
\end{center}

\end{document}

在此处输入图片描述

答案1

这是基于Gonzalo Medina 的回答。如果使用even odd rule进行填充,则可以避免手动剪切和确定范围(但请参见下文)。您还可以通过将标签与绘图命令集成在一起来使代码更紧凑。这是否是优势是另一个问题。但它至少是一种替代方案,这似乎是不可否认的。

请注意,需要两条路径的唯一原因是有些线用 绘制thick,有些用 绘制ultra thick。否则,代码可以简化为一条路径。

\documentclass[tikz,border=5pt]{standalone}

\begin{document}

  \begin{tikzpicture}[scale=1.2]
    \path [fill=gray!60, draw, thick, even odd rule] (4,4) node [above right] {B} rectangle (0,0) node [below left] {D} arc (-90:90:2cm) arc (-180:0:2cm) -| (0,0) node [midway, above left] {A} (4,0) node [below right] {C} -- (0,4);
    \draw[ultra thick] (0,4) arc (-180:0:2cm) (0,0) arc (-90:90:2cm);
  \end{tikzpicture}

\end{document}

无需修剪的填充物

但是,ultra thick曲线与 A、B 和 D 处的线相交的地方看起来相当凌乱。看起来好像曲线溢出了正方形。这里,最简单的解决方案似乎是剪裁线条ultra thick。(因此,我建议还是剪裁一下,但在其他部分都绘制并填充完毕后,您只需对绘制得较粗的曲线进行一次剪裁即可。)

\documentclass[tikz,border=5pt]{standalone}

\begin{document}

  \begin{tikzpicture}[scale=1.2]
    \path [fill=gray!60, draw, thick, even odd rule] (4,4) node [above right] {B} rectangle (0,0) node [below left] {D} arc (-90:90:2cm) arc (-180:0:2cm) -| (0,0) node [midway, above left] {A} (4,0) node [below right] {C} -- (0,4);
    \clip  (0,0) rectangle (4,4);
    \draw[ultra thick] (0,4) arc (-180:0:2cm) (0,0) arc (-90:90:2cm);
  \end{tikzpicture}

\end{document}

剪裁粗曲线

答案2

裁剪和填充:

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{center}
\begin{tikzpicture}[scale=1.2]
\begin{scope}
\clip (0,0) arc (-90:90:2cm);
\clip (0,4) arc (-180:0:2cm);
\fill[gray!60] (0,0) rectangle (4,4);
\end{scope}
\fill[gray!60] (0,0) arc (-90:0:2cm) arc (-90:0:2cm) -- (4,0) -- (0,0);
\draw[thick] (4,0) -- (0,4) -- (0,0) -- (4,0) -- (4,4) -- (0,4) -- (0,0);
\draw[ultra thick] (0,0) arc (-90:90:2cm);
\draw[ultra thick] (0,4) arc (-180:0:2cm);
\node[below left] at (0,0) {D};
\node[above left] at (0,4) {A};
\node[below right] at (4,0) {C};
\node[above right] at (4,4) {B};
\end{tikzpicture} 
\end{center}

\end{document}

在此处输入图片描述

A 还改变了标签的定位方式并对正方形的绘制方式做了一些其他更改,但这对于答案来说并不重要。

相关内容